import { IconCode, IconKey, IconKeyOff, IconLink, IconPassword, IconPlug, IconUser } from "@tabler/icons-react"; import TabItem from "@theme/TabItem"; import Tabs from "@theme/Tabs"; import { ReactNode } from "react"; import Alert from "@theme/Admonition"; const secretKinds = { apiKey: { name: "API Key", description: "API Key from the service for authentication.", icon: IconKey, }, username: { name: "Username", description: "Account username for authentication.", icon: IconUser, }, password: { name: "Password", description: "Account password for authentication.", icon: IconPassword, }, tokenId: { name: "Token ID", description: "Token ID used for authentication", }, realm: { name: "Realm", description: "The realm used for authentication, most of the time this is pve", }, topic: { name: "Topic", description: "The topic to from which notifications should be retrieved.", }, personalAccessToken: { name: "Personal Access Token", description: "A personal access token for authentication.", icon: IconKey, }, opnsenseApiKey: { name: "Api Key (Key)", description: "The Key part of the API Key for authentication.", icon: IconKey, }, opnsenseApiSecret: { name: "Api Key (Secret)", description: "The Secret part of the API Key for authentication.", icon: IconPassword, }, githubAppId: { name: "App ID", description: "The ID of the GitHub App", icon: IconCode }, githubInstallationId: { name: "Installation ID", description: "The ID of the GitHub Installation", icon: IconPlug, }, privateKey: { name: "Private Key", description: "The private key for authentication", icon: IconKey, }, url: { name: "Url", description: "The url of the service", icon: IconLink, }, slug: { name: "Slug", description: "The slug or path identifier for the resource", icon: IconLink, }, }; type SecretKind = keyof typeof secretKinds; interface IntegrationSecretsProps { secrets: { tabLabel?: string; credentials: SecretKind[]; steps: ReactNode[]; header?: ReactNode; body?: ReactNode; footer?: ReactNode; }[]; } export const IntegrationSecrets = ({ secrets }: IntegrationSecretsProps) => { return (
| Name | Description |
|---|---|
|
{kind.name}
|
{kind.description} |