UNPKG

@kubernetes-models/flux-cd

Version:
109 lines (108 loc) 5.47 kB
import { IComGithubFluxcdPkgApisMetaLocalObjectReference } from "../../github.com/fluxcd/pkg/apis/meta/LocalObjectReference.js"; import { ModelData, Model } from "@kubernetes-models/base"; /** * ProviderSpec defines the desired state of the Provider. */ export interface IProviderSpec { /** * Address specifies the endpoint, in a generic sense, to where alerts are sent. * What kind of endpoint depends on the specific Provider type being used. * For the generic Provider, for example, this is an HTTP/S address. * For other Provider types this could be a project ID or a namespace. */ "address"?: string; /** * CertSecretRef specifies the Secret containing TLS certificates * for secure communication. * * Supported configurations: * - CA-only: Server authentication (provide ca.crt only) * - mTLS: Mutual authentication (provide ca.crt + tls.crt + tls.key) * - Client-only: Client authentication with system CA (provide tls.crt + tls.key only) * * Legacy keys "caFile", "certFile", "keyFile" are supported but deprecated. Use "ca.crt", "tls.crt", "tls.key" instead. */ "certSecretRef"?: IComGithubFluxcdPkgApisMetaLocalObjectReference; /** * Channel specifies the destination channel where events should be posted. */ "channel"?: string; /** * CommitStatusExpr is a CEL expression that evaluates to a string value * that can be used to generate a custom commit status message for use * with eligible Provider types (github, gitlab, gitea, bitbucketserver, * bitbucket, azuredevops). Supported variables are: event, provider, * and alert. */ "commitStatusExpr"?: string; "interval"?: string; /** * Proxy the HTTP/S address of the proxy server. * Deprecated: Use ProxySecretRef instead. Will be removed in v1. */ "proxy"?: string; /** * ProxySecretRef specifies the Secret containing the proxy configuration * for this Provider. The Secret should contain an 'address' key with the * HTTP/S address of the proxy server. Optional 'username' and 'password' * keys can be provided for proxy authentication. */ "proxySecretRef"?: IComGithubFluxcdPkgApisMetaLocalObjectReference; /** * SecretRef specifies the Secret containing the authentication * credentials for this Provider. */ "secretRef"?: IComGithubFluxcdPkgApisMetaLocalObjectReference; /** * ServiceAccountName is the name of the Kubernetes ServiceAccount used to * authenticate with cloud provider services through workload identity. * This enables multi-tenant authentication without storing static credentials. * * Supported provider types: azureeventhub, azuredevops, googlepubsub * * When specified, the controller will: * 1. Create an OIDC token for the specified ServiceAccount * 2. Exchange it for cloud provider credentials via STS * 3. Use the obtained credentials for API authentication * * When unspecified, controller-level authentication is used (single-tenant). * * An error is thrown if static credentials are also defined in SecretRef. * This field requires the ObjectLevelWorkloadIdentity feature gate to be enabled. */ "serviceAccountName"?: string; /** * Suspend tells the controller to suspend subsequent * events handling for this Provider. */ "suspend"?: boolean; "timeout"?: string; /** * Type specifies which Provider implementation to use. */ "type": "slack" | "discord" | "msteams" | "rocket" | "generic" | "generic-hmac" | "github" | "gitlab" | "gitea" | "giteapullrequestcomment" | "bitbucketserver" | "bitbucket" | "azuredevops" | "googlechat" | "googlepubsub" | "webex" | "sentry" | "azureeventhub" | "telegram" | "lark" | "matrix" | "opsgenie" | "alertmanager" | "grafana" | "githubdispatch" | "githubpullrequestcomment" | "gitlabmergerequestcomment" | "pagerduty" | "datadog" | "nats" | "zulip" | "otel"; /** * Username specifies the name under which events are posted. */ "username"?: string; } /** * ProviderSpec defines the desired state of the Provider. */ export declare class ProviderSpec extends Model<IProviderSpec> implements IProviderSpec { "address"?: string; "certSecretRef"?: IComGithubFluxcdPkgApisMetaLocalObjectReference; "channel"?: string; "commitStatusExpr"?: string; "interval"?: string; "proxy"?: string; "proxySecretRef"?: IComGithubFluxcdPkgApisMetaLocalObjectReference; "secretRef"?: IComGithubFluxcdPkgApisMetaLocalObjectReference; "serviceAccountName"?: string; "suspend"?: boolean; "timeout"?: string; "type": "slack" | "discord" | "msteams" | "rocket" | "generic" | "generic-hmac" | "github" | "gitlab" | "gitea" | "giteapullrequestcomment" | "bitbucketserver" | "bitbucket" | "azuredevops" | "googlechat" | "googlepubsub" | "webex" | "sentry" | "azureeventhub" | "telegram" | "lark" | "matrix" | "opsgenie" | "alertmanager" | "grafana" | "githubdispatch" | "githubpullrequestcomment" | "gitlabmergerequestcomment" | "pagerduty" | "datadog" | "nats" | "zulip" | "otel"; "username"?: string; constructor(data?: ModelData<IProviderSpec>); } export type { IProviderSpec as IComGithubFluxcdNotificationControllerApiV1beta3ProviderSpec, ProviderSpec as ComGithubFluxcdNotificationControllerApiV1beta3ProviderSpec };