UNPKG

@kubernetes-models/flux-cd

Version:
63 lines (62 loc) 3.4 kB
import { IComGithubFluxcdPkgApisMetaLocalObjectReference } from "./LocalObjectReference.js"; import { IComGithubFluxcdPkgApisMetaSecretKeyReference } from "./SecretKeyReference.js"; import { ModelData, Model } from "@kubernetes-models/base"; /** * KubeConfigReference contains enough information build a kubeconfig * in memory for connecting to remote Kubernetes clusters. */ export interface IKubeConfigReference { /** * ConfigMapRef holds an optional name of a ConfigMap that contains * the following keys: * * - `provider`: the provider to use. One of `aws`, `azure`, `gcp`, or * `generic`. Required. * - `cluster`: the fully qualified resource name of the Kubernetes * cluster in the cloud provider API. Not used by the `generic` * provider. Required when one of `address` or `ca.crt` is not set. * - `address`: the address of the Kubernetes API server. Required * for `generic`. For the other providers, if not specified, the * first address in the cluster resource will be used, and if * specified, it must match one of the addresses in the cluster * resource. * If audiences is not set, will be used as the audience for the * `generic` provider. * - `ca.crt`: the optional PEM-encoded CA certificate for the * Kubernetes API server. If not set, the controller will use the * CA certificate from the cluster resource. * - `audiences`: the optional audiences as a list of * line-break-separated strings for the Kubernetes ServiceAccount * token. Defaults to the `address` for the `generic` provider, or * to specific values for the other providers depending on the * provider. * - `serviceAccountName`: the optional name of the Kubernetes * ServiceAccount in the same namespace that should be used * for authentication. If not specified, the controller * ServiceAccount will be used. * * Mutually exclusive with SecretRef. */ "configMapRef"?: IComGithubFluxcdPkgApisMetaLocalObjectReference; /** * SecretRef holds an optional name of a secret that contains a key with * the kubeconfig file as the value. If no key is set, the key will default * to 'value'. Mutually exclusive with ConfigMapRef. * It is recommended that the kubeconfig is self-contained, and the secret * is regularly updated if credentials such as a cloud-access-token expire. * Cloud specific `cmd-path` auth helpers will not function without adding * binaries and credentials to the Pod that is responsible for reconciling * Kubernetes resources. Supported only for the generic provider. */ "secretRef"?: IComGithubFluxcdPkgApisMetaSecretKeyReference; } /** * KubeConfigReference contains enough information build a kubeconfig * in memory for connecting to remote Kubernetes clusters. */ export declare class KubeConfigReference extends Model<IKubeConfigReference> implements IKubeConfigReference { "configMapRef"?: IComGithubFluxcdPkgApisMetaLocalObjectReference; "secretRef"?: IComGithubFluxcdPkgApisMetaSecretKeyReference; constructor(data?: ModelData<IKubeConfigReference>); } export type { IKubeConfigReference as IComGithubFluxcdPkgApisMetaKubeConfigReference, KubeConfigReference as ComGithubFluxcdPkgApisMetaKubeConfigReference };