@kubernetes-models/flux-cd
Version:
63 lines (62 loc) • 3.4 kB
TypeScript
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 };