k8ts
Version:
Powerful framework for building Kubernetes manifests in TypeScript.
1,395 lines • 86.2 kB
TypeScript
import { ApiObject, ApiObjectMetadata, GroupVersionKind } from 'cdk8s';
import { Construct } from 'constructs';
/**
* Kustomization is the Schema for the kustomizations API.
*
* @schema Kustomization
*/
export declare class Kustomization extends ApiObject {
/**
* Returns the apiVersion and kind for "Kustomization"
*/
static readonly GVK: GroupVersionKind;
/**
* Renders a Kubernetes manifest for "Kustomization".
*
* This can be used to inline resource manifests inside other objects (e.g. as templates).
*
* @param props initialization props
*/
static manifest(props?: KustomizationProps): any;
/**
* Defines a "Kustomization" API object
* @param scope the scope in which to define this object
* @param id a scope-local name for the object
* @param props initialization props
*/
constructor(scope: Construct, id: string, props?: KustomizationProps);
/**
* Renders the object to Kubernetes JSON.
*/
toJson(): any;
}
/**
* Kustomization is the Schema for the kustomizations API.
*
* @schema Kustomization
*/
export interface KustomizationProps {
/**
* @schema Kustomization#metadata
*/
readonly metadata?: ApiObjectMetadata;
/**
* KustomizationSpec defines the configuration to calculate the desired state
* from a Source using Kustomize.
*
* @schema Kustomization#spec
*/
readonly spec?: KustomizationSpec;
}
/**
* Converts an object of type 'KustomizationProps' to JSON representation.
*/
export declare function toJson_KustomizationProps(obj: KustomizationProps | undefined): Record<string, any> | undefined;
/**
* KustomizationSpec defines the configuration to calculate the desired state
* from a Source using Kustomize.
*
* @schema KustomizationSpec
*/
export interface KustomizationSpec {
/**
* CommonMetadata specifies the common labels and annotations that are
* applied to all resources. Any existing label or annotation will be
* overridden if its key matches a common one.
*
* @schema KustomizationSpec#commonMetadata
*/
readonly commonMetadata?: KustomizationSpecCommonMetadata;
/**
* Components specifies relative paths to specifications of other Components.
*
* @schema KustomizationSpec#components
*/
readonly components?: string[];
/**
* Decrypt Kubernetes secrets before applying them on the cluster.
*
* @schema KustomizationSpec#decryption
*/
readonly decryption?: KustomizationSpecDecryption;
/**
* DeletionPolicy can be used to control garbage collection when this
* Kustomization is deleted. Valid values are ('MirrorPrune', 'Delete',
* 'Orphan'). 'MirrorPrune' mirrors the Prune field (orphan if false,
* delete if true). Defaults to 'MirrorPrune'.
*
* @default MirrorPrune'.
* @schema KustomizationSpec#deletionPolicy
*/
readonly deletionPolicy?: KustomizationSpecDeletionPolicy;
/**
* DependsOn may contain a meta.NamespacedObjectReference slice
* with references to Kustomization resources that must be ready before this
* Kustomization can be reconciled.
*
* @schema KustomizationSpec#dependsOn
*/
readonly dependsOn?: KustomizationSpecDependsOn[];
/**
* Force instructs the controller to recreate resources
* when patching fails due to an immutable field change.
*
* @schema KustomizationSpec#force
*/
readonly force?: boolean;
/**
* HealthCheckExprs is a list of healthcheck expressions for evaluating the
* health of custom resources using Common Expression Language (CEL).
* The expressions are evaluated only when Wait or HealthChecks are specified.
*
* @schema KustomizationSpec#healthCheckExprs
*/
readonly healthCheckExprs?: KustomizationSpecHealthCheckExprs[];
/**
* A list of resources to be included in the health assessment.
*
* @schema KustomizationSpec#healthChecks
*/
readonly healthChecks?: KustomizationSpecHealthChecks[];
/**
* Images is a list of (image name, new name, new tag or digest)
* for changing image names, tags or digests. This can also be achieved with a
* patch, but this operator is simpler to specify.
*
* @schema KustomizationSpec#images
*/
readonly images?: KustomizationSpecImages[];
/**
* The interval at which to reconcile the Kustomization.
* This interval is approximate and may be subject to jitter to ensure
* efficient use of resources.
*
* @schema KustomizationSpec#interval
*/
readonly interval: string;
/**
* The KubeConfig for reconciling the Kustomization on a remote cluster.
* When used in combination with KustomizationSpec.ServiceAccountName,
* forces the controller to act on behalf of that Service Account at the
* target cluster.
* If the --default-service-account flag is set, its value will be used as
* a controller level fallback for when KustomizationSpec.ServiceAccountName
* is empty.
*
* @schema KustomizationSpec#kubeConfig
*/
readonly kubeConfig?: KustomizationSpecKubeConfig;
/**
* NamePrefix will prefix the names of all managed resources.
*
* @schema KustomizationSpec#namePrefix
*/
readonly namePrefix?: string;
/**
* NameSuffix will suffix the names of all managed resources.
*
* @schema KustomizationSpec#nameSuffix
*/
readonly nameSuffix?: string;
/**
* Strategic merge and JSON patches, defined as inline YAML objects,
* capable of targeting objects based on kind, label and annotation selectors.
*
* @schema KustomizationSpec#patches
*/
readonly patches?: KustomizationSpecPatches[];
/**
* Path to the directory containing the kustomization.yaml file, or the
* set of plain YAMLs a kustomization.yaml should be generated for.
* Defaults to 'None', which translates to the root path of the SourceRef.
*
* @default None', which translates to the root path of the SourceRef.
* @schema KustomizationSpec#path
*/
readonly path?: string;
/**
* PostBuild describes which actions to perform on the YAML manifest
* generated by building the kustomize overlay.
*
* @schema KustomizationSpec#postBuild
*/
readonly postBuild?: KustomizationSpecPostBuild;
/**
* Prune enables garbage collection.
*
* @schema KustomizationSpec#prune
*/
readonly prune: boolean;
/**
* The interval at which to retry a previously failed reconciliation.
* When not specified, the controller uses the KustomizationSpec.Interval
* value to retry failures.
*
* @schema KustomizationSpec#retryInterval
*/
readonly retryInterval?: string;
/**
* The name of the Kubernetes service account to impersonate
* when reconciling this Kustomization.
*
* @schema KustomizationSpec#serviceAccountName
*/
readonly serviceAccountName?: string;
/**
* Reference of the source where the kustomization file is.
*
* @schema KustomizationSpec#sourceRef
*/
readonly sourceRef: KustomizationSpecSourceRef;
/**
* This flag tells the controller to suspend subsequent kustomize executions,
* it does not apply to already started executions. Defaults to false.
*
* @default false.
* @schema KustomizationSpec#suspend
*/
readonly suspend?: boolean;
/**
* TargetNamespace sets or overrides the namespace in the
* kustomization.yaml file.
*
* @schema KustomizationSpec#targetNamespace
*/
readonly targetNamespace?: string;
/**
* Timeout for validation, apply and health checking operations.
* Defaults to 'Interval' duration.
*
* @default Interval' duration.
* @schema KustomizationSpec#timeout
*/
readonly timeout?: string;
/**
* Wait instructs the controller to check the health of all the reconciled
* resources. When enabled, the HealthChecks are ignored. Defaults to false.
*
* @default false.
* @schema KustomizationSpec#wait
*/
readonly wait?: boolean;
}
/**
* Converts an object of type 'KustomizationSpec' to JSON representation.
*/
export declare function toJson_KustomizationSpec(obj: KustomizationSpec | undefined): Record<string, any> | undefined;
/**
* CommonMetadata specifies the common labels and annotations that are
* applied to all resources. Any existing label or annotation will be
* overridden if its key matches a common one.
*
* @schema KustomizationSpecCommonMetadata
*/
export interface KustomizationSpecCommonMetadata {
/**
* Annotations to be added to the object's metadata.
*
* @schema KustomizationSpecCommonMetadata#annotations
*/
readonly annotations?: {
[key: string]: string;
};
/**
* Labels to be added to the object's metadata.
*
* @schema KustomizationSpecCommonMetadata#labels
*/
readonly labels?: {
[key: string]: string;
};
}
/**
* Converts an object of type 'KustomizationSpecCommonMetadata' to JSON representation.
*/
export declare function toJson_KustomizationSpecCommonMetadata(obj: KustomizationSpecCommonMetadata | undefined): Record<string, any> | undefined;
/**
* Decrypt Kubernetes secrets before applying them on the cluster.
*
* @schema KustomizationSpecDecryption
*/
export interface KustomizationSpecDecryption {
/**
* Provider is the name of the decryption engine.
*
* @schema KustomizationSpecDecryption#provider
*/
readonly provider: KustomizationSpecDecryptionProvider;
/**
* The secret name containing the private OpenPGP keys used for decryption.
*
* @schema KustomizationSpecDecryption#secretRef
*/
readonly secretRef?: KustomizationSpecDecryptionSecretRef;
}
/**
* Converts an object of type 'KustomizationSpecDecryption' to JSON representation.
*/
export declare function toJson_KustomizationSpecDecryption(obj: KustomizationSpecDecryption | undefined): Record<string, any> | undefined;
/**
* DeletionPolicy can be used to control garbage collection when this
* Kustomization is deleted. Valid values are ('MirrorPrune', 'Delete',
* 'Orphan'). 'MirrorPrune' mirrors the Prune field (orphan if false,
* delete if true). Defaults to 'MirrorPrune'.
*
* @default MirrorPrune'.
* @schema KustomizationSpecDeletionPolicy
*/
export declare enum KustomizationSpecDeletionPolicy {
/** MirrorPrune */
MIRROR_PRUNE = "MirrorPrune",
/** Delete */
DELETE = "Delete",
/** Orphan */
ORPHAN = "Orphan"
}
/**
* NamespacedObjectReference contains enough information to locate the referenced Kubernetes resource object in any
* namespace.
*
* @schema KustomizationSpecDependsOn
*/
export interface KustomizationSpecDependsOn {
/**
* Name of the referent.
*
* @schema KustomizationSpecDependsOn#name
*/
readonly name: string;
/**
* Namespace of the referent, when not specified it acts as LocalObjectReference.
*
* @schema KustomizationSpecDependsOn#namespace
*/
readonly namespace?: string;
}
/**
* Converts an object of type 'KustomizationSpecDependsOn' to JSON representation.
*/
export declare function toJson_KustomizationSpecDependsOn(obj: KustomizationSpecDependsOn | undefined): Record<string, any> | undefined;
/**
* CustomHealthCheck defines the health check for custom resources.
*
* @schema KustomizationSpecHealthCheckExprs
*/
export interface KustomizationSpecHealthCheckExprs {
/**
* APIVersion of the custom resource under evaluation.
*
* @schema KustomizationSpecHealthCheckExprs#apiVersion
*/
readonly apiVersion: string;
/**
* Current is the CEL expression that determines if the status
* of the custom resource has reached the desired state.
*
* @schema KustomizationSpecHealthCheckExprs#current
*/
readonly current: string;
/**
* Failed is the CEL expression that determines if the status
* of the custom resource has failed to reach the desired state.
*
* @schema KustomizationSpecHealthCheckExprs#failed
*/
readonly failed?: string;
/**
* InProgress is the CEL expression that determines if the status
* of the custom resource has not yet reached the desired state.
*
* @schema KustomizationSpecHealthCheckExprs#inProgress
*/
readonly inProgress?: string;
/**
* Kind of the custom resource under evaluation.
*
* @schema KustomizationSpecHealthCheckExprs#kind
*/
readonly kind: string;
}
/**
* Converts an object of type 'KustomizationSpecHealthCheckExprs' to JSON representation.
*/
export declare function toJson_KustomizationSpecHealthCheckExprs(obj: KustomizationSpecHealthCheckExprs | undefined): Record<string, any> | undefined;
/**
* NamespacedObjectKindReference contains enough information to locate the typed referenced Kubernetes resource object
* in any namespace.
*
* @schema KustomizationSpecHealthChecks
*/
export interface KustomizationSpecHealthChecks {
/**
* API version of the referent, if not specified the Kubernetes preferred version will be used.
*
* @schema KustomizationSpecHealthChecks#apiVersion
*/
readonly apiVersion?: string;
/**
* Kind of the referent.
*
* @schema KustomizationSpecHealthChecks#kind
*/
readonly kind: string;
/**
* Name of the referent.
*
* @schema KustomizationSpecHealthChecks#name
*/
readonly name: string;
/**
* Namespace of the referent, when not specified it acts as LocalObjectReference.
*
* @schema KustomizationSpecHealthChecks#namespace
*/
readonly namespace?: string;
}
/**
* Converts an object of type 'KustomizationSpecHealthChecks' to JSON representation.
*/
export declare function toJson_KustomizationSpecHealthChecks(obj: KustomizationSpecHealthChecks | undefined): Record<string, any> | undefined;
/**
* Image contains an image name, a new name, a new tag or digest, which will replace the original name and tag.
*
* @schema KustomizationSpecImages
*/
export interface KustomizationSpecImages {
/**
* Digest is the value used to replace the original image tag.
* If digest is present NewTag value is ignored.
*
* @schema KustomizationSpecImages#digest
*/
readonly digest?: string;
/**
* Name is a tag-less image name.
*
* @schema KustomizationSpecImages#name
*/
readonly name: string;
/**
* NewName is the value used to replace the original name.
*
* @schema KustomizationSpecImages#newName
*/
readonly newName?: string;
/**
* NewTag is the value used to replace the original tag.
*
* @schema KustomizationSpecImages#newTag
*/
readonly newTag?: string;
}
/**
* Converts an object of type 'KustomizationSpecImages' to JSON representation.
*/
export declare function toJson_KustomizationSpecImages(obj: KustomizationSpecImages | undefined): Record<string, any> | undefined;
/**
* The KubeConfig for reconciling the Kustomization on a remote cluster.
* When used in combination with KustomizationSpec.ServiceAccountName,
* forces the controller to act on behalf of that Service Account at the
* target cluster.
* If the --default-service-account flag is set, its value will be used as
* a controller level fallback for when KustomizationSpec.ServiceAccountName
* is empty.
*
* @schema KustomizationSpecKubeConfig
*/
export interface KustomizationSpecKubeConfig {
/**
* SecretRef holds the 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'.
* 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.
*
* @schema KustomizationSpecKubeConfig#secretRef
*/
readonly secretRef: KustomizationSpecKubeConfigSecretRef;
}
/**
* Converts an object of type 'KustomizationSpecKubeConfig' to JSON representation.
*/
export declare function toJson_KustomizationSpecKubeConfig(obj: KustomizationSpecKubeConfig | undefined): Record<string, any> | undefined;
/**
* Patch contains an inline StrategicMerge or JSON6902 patch, and the target the patch should
* be applied to.
*
* @schema KustomizationSpecPatches
*/
export interface KustomizationSpecPatches {
/**
* Patch contains an inline StrategicMerge patch or an inline JSON6902 patch with
* an array of operation objects.
*
* @schema KustomizationSpecPatches#patch
*/
readonly patch: string;
/**
* Target points to the resources that the patch document should be applied to.
*
* @schema KustomizationSpecPatches#target
*/
readonly target?: KustomizationSpecPatchesTarget;
}
/**
* Converts an object of type 'KustomizationSpecPatches' to JSON representation.
*/
export declare function toJson_KustomizationSpecPatches(obj: KustomizationSpecPatches | undefined): Record<string, any> | undefined;
/**
* PostBuild describes which actions to perform on the YAML manifest
* generated by building the kustomize overlay.
*
* @schema KustomizationSpecPostBuild
*/
export interface KustomizationSpecPostBuild {
/**
* Substitute holds a map of key/value pairs.
* The variables defined in your YAML manifests that match any of the keys
* defined in the map will be substituted with the set value.
* Includes support for bash string replacement functions
* e.g. ${var:=default}, ${var:position} and ${var/substring/replacement}.
*
* @schema KustomizationSpecPostBuild#substitute
*/
readonly substitute?: {
[key: string]: string;
};
/**
* SubstituteFrom holds references to ConfigMaps and Secrets containing
* the variables and their values to be substituted in the YAML manifests.
* The ConfigMap and the Secret data keys represent the var names, and they
* must match the vars declared in the manifests for the substitution to
* happen.
*
* @schema KustomizationSpecPostBuild#substituteFrom
*/
readonly substituteFrom?: KustomizationSpecPostBuildSubstituteFrom[];
}
/**
* Converts an object of type 'KustomizationSpecPostBuild' to JSON representation.
*/
export declare function toJson_KustomizationSpecPostBuild(obj: KustomizationSpecPostBuild | undefined): Record<string, any> | undefined;
/**
* Reference of the source where the kustomization file is.
*
* @schema KustomizationSpecSourceRef
*/
export interface KustomizationSpecSourceRef {
/**
* API version of the referent.
*
* @schema KustomizationSpecSourceRef#apiVersion
*/
readonly apiVersion?: string;
/**
* Kind of the referent.
*
* @schema KustomizationSpecSourceRef#kind
*/
readonly kind: KustomizationSpecSourceRefKind;
/**
* Name of the referent.
*
* @schema KustomizationSpecSourceRef#name
*/
readonly name: string;
/**
* Namespace of the referent, defaults to the namespace of the Kubernetes
* resource object that contains the reference.
*
* @schema KustomizationSpecSourceRef#namespace
*/
readonly namespace?: string;
}
/**
* Converts an object of type 'KustomizationSpecSourceRef' to JSON representation.
*/
export declare function toJson_KustomizationSpecSourceRef(obj: KustomizationSpecSourceRef | undefined): Record<string, any> | undefined;
/**
* Provider is the name of the decryption engine.
*
* @schema KustomizationSpecDecryptionProvider
*/
export declare enum KustomizationSpecDecryptionProvider {
/** sops */
SOPS = "sops"
}
/**
* The secret name containing the private OpenPGP keys used for decryption.
*
* @schema KustomizationSpecDecryptionSecretRef
*/
export interface KustomizationSpecDecryptionSecretRef {
/**
* Name of the referent.
*
* @schema KustomizationSpecDecryptionSecretRef#name
*/
readonly name: string;
}
/**
* Converts an object of type 'KustomizationSpecDecryptionSecretRef' to JSON representation.
*/
export declare function toJson_KustomizationSpecDecryptionSecretRef(obj: KustomizationSpecDecryptionSecretRef | undefined): Record<string, any> | undefined;
/**
* SecretRef holds the 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'.
* 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.
*
* @schema KustomizationSpecKubeConfigSecretRef
*/
export interface KustomizationSpecKubeConfigSecretRef {
/**
* Key in the Secret, when not specified an implementation-specific default key is used.
*
* @schema KustomizationSpecKubeConfigSecretRef#key
*/
readonly key?: string;
/**
* Name of the Secret.
*
* @schema KustomizationSpecKubeConfigSecretRef#name
*/
readonly name: string;
}
/**
* Converts an object of type 'KustomizationSpecKubeConfigSecretRef' to JSON representation.
*/
export declare function toJson_KustomizationSpecKubeConfigSecretRef(obj: KustomizationSpecKubeConfigSecretRef | undefined): Record<string, any> | undefined;
/**
* Target points to the resources that the patch document should be applied to.
*
* @schema KustomizationSpecPatchesTarget
*/
export interface KustomizationSpecPatchesTarget {
/**
* AnnotationSelector is a string that follows the label selection expression
* https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#api
* It matches with the resource annotations.
*
* @schema KustomizationSpecPatchesTarget#annotationSelector
*/
readonly annotationSelector?: string;
/**
* Group is the API group to select resources from.
* Together with Version and Kind it is capable of unambiguously identifying and/or selecting resources.
* https://github.com/kubernetes/community/blob/master/contributors/design-proposals/api-machinery/api-group.md
*
* @schema KustomizationSpecPatchesTarget#group
*/
readonly group?: string;
/**
* Kind of the API Group to select resources from.
* Together with Group and Version it is capable of unambiguously
* identifying and/or selecting resources.
* https://github.com/kubernetes/community/blob/master/contributors/design-proposals/api-machinery/api-group.md
*
* @schema KustomizationSpecPatchesTarget#kind
*/
readonly kind?: string;
/**
* LabelSelector is a string that follows the label selection expression
* https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#api
* It matches with the resource labels.
*
* @schema KustomizationSpecPatchesTarget#labelSelector
*/
readonly labelSelector?: string;
/**
* Name to match resources with.
*
* @schema KustomizationSpecPatchesTarget#name
*/
readonly name?: string;
/**
* Namespace to select resources from.
*
* @schema KustomizationSpecPatchesTarget#namespace
*/
readonly namespace?: string;
/**
* Version of the API Group to select resources from.
* Together with Group and Kind it is capable of unambiguously identifying and/or selecting resources.
* https://github.com/kubernetes/community/blob/master/contributors/design-proposals/api-machinery/api-group.md
*
* @schema KustomizationSpecPatchesTarget#version
*/
readonly version?: string;
}
/**
* Converts an object of type 'KustomizationSpecPatchesTarget' to JSON representation.
*/
export declare function toJson_KustomizationSpecPatchesTarget(obj: KustomizationSpecPatchesTarget | undefined): Record<string, any> | undefined;
/**
* SubstituteReference contains a reference to a resource containing
* the variables name and value.
*
* @schema KustomizationSpecPostBuildSubstituteFrom
*/
export interface KustomizationSpecPostBuildSubstituteFrom {
/**
* Kind of the values referent, valid values are ('Secret', 'ConfigMap').
*
* @schema KustomizationSpecPostBuildSubstituteFrom#kind
*/
readonly kind: KustomizationSpecPostBuildSubstituteFromKind;
/**
* Name of the values referent. Should reside in the same namespace as the
* referring resource.
*
* @schema KustomizationSpecPostBuildSubstituteFrom#name
*/
readonly name: string;
/**
* Optional indicates whether the referenced resource must exist, or whether to
* tolerate its absence. If true and the referenced resource is absent, proceed
* as if the resource was present but empty, without any variables defined.
*
* @schema KustomizationSpecPostBuildSubstituteFrom#optional
*/
readonly optional?: boolean;
}
/**
* Converts an object of type 'KustomizationSpecPostBuildSubstituteFrom' to JSON representation.
*/
export declare function toJson_KustomizationSpecPostBuildSubstituteFrom(obj: KustomizationSpecPostBuildSubstituteFrom | undefined): Record<string, any> | undefined;
/**
* Kind of the referent.
*
* @schema KustomizationSpecSourceRefKind
*/
export declare enum KustomizationSpecSourceRefKind {
/** OCIRepository */
OCI_REPOSITORY = "OCIRepository",
/** GitRepository */
GIT_REPOSITORY = "GitRepository",
/** Bucket */
BUCKET = "Bucket"
}
/**
* Kind of the values referent, valid values are ('Secret', 'ConfigMap').
*
* @schema KustomizationSpecPostBuildSubstituteFromKind
*/
export declare enum KustomizationSpecPostBuildSubstituteFromKind {
/** Secret */
SECRET = "Secret",
/** ConfigMap */
CONFIG_MAP = "ConfigMap"
}
/**
* Kustomization is the Schema for the kustomizations API.
*
* @schema KustomizationV1Beta1
*/
export declare class KustomizationV1Beta1 extends ApiObject {
/**
* Returns the apiVersion and kind for "KustomizationV1Beta1"
*/
static readonly GVK: GroupVersionKind;
/**
* Renders a Kubernetes manifest for "KustomizationV1Beta1".
*
* This can be used to inline resource manifests inside other objects (e.g. as templates).
*
* @param props initialization props
*/
static manifest(props?: KustomizationV1Beta1Props): any;
/**
* Defines a "KustomizationV1Beta1" API object
* @param scope the scope in which to define this object
* @param id a scope-local name for the object
* @param props initialization props
*/
constructor(scope: Construct, id: string, props?: KustomizationV1Beta1Props);
/**
* Renders the object to Kubernetes JSON.
*/
toJson(): any;
}
/**
* Kustomization is the Schema for the kustomizations API.
*
* @schema KustomizationV1Beta1
*/
export interface KustomizationV1Beta1Props {
/**
* @schema KustomizationV1Beta1#metadata
*/
readonly metadata?: ApiObjectMetadata;
/**
* KustomizationSpec defines the desired state of a kustomization.
*
* @schema KustomizationV1Beta1#spec
*/
readonly spec?: KustomizationV1Beta1Spec;
}
/**
* Converts an object of type 'KustomizationV1Beta1Props' to JSON representation.
*/
export declare function toJson_KustomizationV1Beta1Props(obj: KustomizationV1Beta1Props | undefined): Record<string, any> | undefined;
/**
* KustomizationSpec defines the desired state of a kustomization.
*
* @schema KustomizationV1Beta1Spec
*/
export interface KustomizationV1Beta1Spec {
/**
* Decrypt Kubernetes secrets before applying them on the cluster.
*
* @schema KustomizationV1Beta1Spec#decryption
*/
readonly decryption?: KustomizationV1Beta1SpecDecryption;
/**
* DependsOn may contain a meta.NamespacedObjectReference slice
* with references to Kustomization resources that must be ready before this
* Kustomization can be reconciled.
*
* @schema KustomizationV1Beta1Spec#dependsOn
*/
readonly dependsOn?: KustomizationV1Beta1SpecDependsOn[];
/**
* Force instructs the controller to recreate resources
* when patching fails due to an immutable field change.
*
* @schema KustomizationV1Beta1Spec#force
*/
readonly force?: boolean;
/**
* A list of resources to be included in the health assessment.
*
* @schema KustomizationV1Beta1Spec#healthChecks
*/
readonly healthChecks?: KustomizationV1Beta1SpecHealthChecks[];
/**
* Images is a list of (image name, new name, new tag or digest)
* for changing image names, tags or digests. This can also be achieved with a
* patch, but this operator is simpler to specify.
*
* @schema KustomizationV1Beta1Spec#images
*/
readonly images?: KustomizationV1Beta1SpecImages[];
/**
* The interval at which to reconcile the Kustomization.
*
* @schema KustomizationV1Beta1Spec#interval
*/
readonly interval: string;
/**
* The KubeConfig for reconciling the Kustomization on a remote cluster.
* When specified, KubeConfig takes precedence over ServiceAccountName.
*
* @schema KustomizationV1Beta1Spec#kubeConfig
*/
readonly kubeConfig?: KustomizationV1Beta1SpecKubeConfig;
/**
* Strategic merge and JSON patches, defined as inline YAML objects,
* capable of targeting objects based on kind, label and annotation selectors.
*
* @schema KustomizationV1Beta1Spec#patches
*/
readonly patches?: KustomizationV1Beta1SpecPatches[];
/**
* JSON 6902 patches, defined as inline YAML objects.
*
* @schema KustomizationV1Beta1Spec#patchesJson6902
*/
readonly patchesJson6902?: KustomizationV1Beta1SpecPatchesJson6902[];
/**
* Strategic merge patches, defined as inline YAML objects.
*
* @schema KustomizationV1Beta1Spec#patchesStrategicMerge
*/
readonly patchesStrategicMerge?: any[];
/**
* Path to the directory containing the kustomization.yaml file, or the
* set of plain YAMLs a kustomization.yaml should be generated for.
* Defaults to 'None', which translates to the root path of the SourceRef.
*
* @default None', which translates to the root path of the SourceRef.
* @schema KustomizationV1Beta1Spec#path
*/
readonly path?: string;
/**
* PostBuild describes which actions to perform on the YAML manifest
* generated by building the kustomize overlay.
*
* @schema KustomizationV1Beta1Spec#postBuild
*/
readonly postBuild?: KustomizationV1Beta1SpecPostBuild;
/**
* Prune enables garbage collection.
*
* @schema KustomizationV1Beta1Spec#prune
*/
readonly prune: boolean;
/**
* The interval at which to retry a previously failed reconciliation.
* When not specified, the controller uses the KustomizationSpec.Interval
* value to retry failures.
*
* @schema KustomizationV1Beta1Spec#retryInterval
*/
readonly retryInterval?: string;
/**
* The name of the Kubernetes service account to impersonate
* when reconciling this Kustomization.
*
* @schema KustomizationV1Beta1Spec#serviceAccountName
*/
readonly serviceAccountName?: string;
/**
* Reference of the source where the kustomization file is.
*
* @schema KustomizationV1Beta1Spec#sourceRef
*/
readonly sourceRef: KustomizationV1Beta1SpecSourceRef;
/**
* This flag tells the controller to suspend subsequent kustomize executions,
* it does not apply to already started executions. Defaults to false.
*
* @default false.
* @schema KustomizationV1Beta1Spec#suspend
*/
readonly suspend?: boolean;
/**
* TargetNamespace sets or overrides the namespace in the
* kustomization.yaml file.
*
* @schema KustomizationV1Beta1Spec#targetNamespace
*/
readonly targetNamespace?: string;
/**
* Timeout for validation, apply and health checking operations.
* Defaults to 'Interval' duration.
*
* @default Interval' duration.
* @schema KustomizationV1Beta1Spec#timeout
*/
readonly timeout?: string;
/**
* Validate the Kubernetes objects before applying them on the cluster.
* The validation strategy can be 'client' (local dry-run), 'server'
* (APIServer dry-run) or 'none'.
* When 'Force' is 'true', validation will fallback to 'client' if set to
* 'server' because server-side validation is not supported in this scenario.
*
* @schema KustomizationV1Beta1Spec#validation
*/
readonly validation?: KustomizationV1Beta1SpecValidation;
}
/**
* Converts an object of type 'KustomizationV1Beta1Spec' to JSON representation.
*/
export declare function toJson_KustomizationV1Beta1Spec(obj: KustomizationV1Beta1Spec | undefined): Record<string, any> | undefined;
/**
* Decrypt Kubernetes secrets before applying them on the cluster.
*
* @schema KustomizationV1Beta1SpecDecryption
*/
export interface KustomizationV1Beta1SpecDecryption {
/**
* Provider is the name of the decryption engine.
*
* @schema KustomizationV1Beta1SpecDecryption#provider
*/
readonly provider: KustomizationV1Beta1SpecDecryptionProvider;
/**
* The secret name containing the private OpenPGP keys used for decryption.
*
* @schema KustomizationV1Beta1SpecDecryption#secretRef
*/
readonly secretRef?: KustomizationV1Beta1SpecDecryptionSecretRef;
}
/**
* Converts an object of type 'KustomizationV1Beta1SpecDecryption' to JSON representation.
*/
export declare function toJson_KustomizationV1Beta1SpecDecryption(obj: KustomizationV1Beta1SpecDecryption | undefined): Record<string, any> | undefined;
/**
* NamespacedObjectReference contains enough information to locate the referenced Kubernetes resource object in any
* namespace.
*
* @schema KustomizationV1Beta1SpecDependsOn
*/
export interface KustomizationV1Beta1SpecDependsOn {
/**
* Name of the referent.
*
* @schema KustomizationV1Beta1SpecDependsOn#name
*/
readonly name: string;
/**
* Namespace of the referent, when not specified it acts as LocalObjectReference.
*
* @schema KustomizationV1Beta1SpecDependsOn#namespace
*/
readonly namespace?: string;
}
/**
* Converts an object of type 'KustomizationV1Beta1SpecDependsOn' to JSON representation.
*/
export declare function toJson_KustomizationV1Beta1SpecDependsOn(obj: KustomizationV1Beta1SpecDependsOn | undefined): Record<string, any> | undefined;
/**
* NamespacedObjectKindReference contains enough information to locate the typed referenced Kubernetes resource object
* in any namespace.
*
* @schema KustomizationV1Beta1SpecHealthChecks
*/
export interface KustomizationV1Beta1SpecHealthChecks {
/**
* API version of the referent, if not specified the Kubernetes preferred version will be used.
*
* @schema KustomizationV1Beta1SpecHealthChecks#apiVersion
*/
readonly apiVersion?: string;
/**
* Kind of the referent.
*
* @schema KustomizationV1Beta1SpecHealthChecks#kind
*/
readonly kind: string;
/**
* Name of the referent.
*
* @schema KustomizationV1Beta1SpecHealthChecks#name
*/
readonly name: string;
/**
* Namespace of the referent, when not specified it acts as LocalObjectReference.
*
* @schema KustomizationV1Beta1SpecHealthChecks#namespace
*/
readonly namespace?: string;
}
/**
* Converts an object of type 'KustomizationV1Beta1SpecHealthChecks' to JSON representation.
*/
export declare function toJson_KustomizationV1Beta1SpecHealthChecks(obj: KustomizationV1Beta1SpecHealthChecks | undefined): Record<string, any> | undefined;
/**
* Image contains an image name, a new name, a new tag or digest, which will replace the original name and tag.
*
* @schema KustomizationV1Beta1SpecImages
*/
export interface KustomizationV1Beta1SpecImages {
/**
* Digest is the value used to replace the original image tag.
* If digest is present NewTag value is ignored.
*
* @schema KustomizationV1Beta1SpecImages#digest
*/
readonly digest?: string;
/**
* Name is a tag-less image name.
*
* @schema KustomizationV1Beta1SpecImages#name
*/
readonly name: string;
/**
* NewName is the value used to replace the original name.
*
* @schema KustomizationV1Beta1SpecImages#newName
*/
readonly newName?: string;
/**
* NewTag is the value used to replace the original tag.
*
* @schema KustomizationV1Beta1SpecImages#newTag
*/
readonly newTag?: string;
}
/**
* Converts an object of type 'KustomizationV1Beta1SpecImages' to JSON representation.
*/
export declare function toJson_KustomizationV1Beta1SpecImages(obj: KustomizationV1Beta1SpecImages | undefined): Record<string, any> | undefined;
/**
* The KubeConfig for reconciling the Kustomization on a remote cluster.
* When specified, KubeConfig takes precedence over ServiceAccountName.
*
* @schema KustomizationV1Beta1SpecKubeConfig
*/
export interface KustomizationV1Beta1SpecKubeConfig {
/**
* SecretRef holds the name to a secret that contains a 'value' key with
* the kubeconfig file as the value. It must be in the same namespace as
* the Kustomization.
* 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
* the Kustomization.
*
* @schema KustomizationV1Beta1SpecKubeConfig#secretRef
*/
readonly secretRef: KustomizationV1Beta1SpecKubeConfigSecretRef;
}
/**
* Converts an object of type 'KustomizationV1Beta1SpecKubeConfig' to JSON representation.
*/
export declare function toJson_KustomizationV1Beta1SpecKubeConfig(obj: KustomizationV1Beta1SpecKubeConfig | undefined): Record<string, any> | undefined;
/**
* Patch contains an inline StrategicMerge or JSON6902 patch, and the target the patch should
* be applied to.
*
* @schema KustomizationV1Beta1SpecPatches
*/
export interface KustomizationV1Beta1SpecPatches {
/**
* Patch contains an inline StrategicMerge patch or an inline JSON6902 patch with
* an array of operation objects.
*
* @schema KustomizationV1Beta1SpecPatches#patch
*/
readonly patch: string;
/**
* Target points to the resources that the patch document should be applied to.
*
* @schema KustomizationV1Beta1SpecPatches#target
*/
readonly target?: KustomizationV1Beta1SpecPatchesTarget;
}
/**
* Converts an object of type 'KustomizationV1Beta1SpecPatches' to JSON representation.
*/
export declare function toJson_KustomizationV1Beta1SpecPatches(obj: KustomizationV1Beta1SpecPatches | undefined): Record<string, any> | undefined;
/**
* JSON6902Patch contains a JSON6902 patch and the target the patch should be applied to.
*
* @schema KustomizationV1Beta1SpecPatchesJson6902
*/
export interface KustomizationV1Beta1SpecPatchesJson6902 {
/**
* Patch contains the JSON6902 patch document with an array of operation objects.
*
* @schema KustomizationV1Beta1SpecPatchesJson6902#patch
*/
readonly patch: KustomizationV1Beta1SpecPatchesJson6902Patch[];
/**
* Target points to the resources that the patch document should be applied to.
*
* @schema KustomizationV1Beta1SpecPatchesJson6902#target
*/
readonly target: KustomizationV1Beta1SpecPatchesJson6902Target;
}
/**
* Converts an object of type 'KustomizationV1Beta1SpecPatchesJson6902' to JSON representation.
*/
export declare function toJson_KustomizationV1Beta1SpecPatchesJson6902(obj: KustomizationV1Beta1SpecPatchesJson6902 | undefined): Record<string, any> | undefined;
/**
* PostBuild describes which actions to perform on the YAML manifest
* generated by building the kustomize overlay.
*
* @schema KustomizationV1Beta1SpecPostBuild
*/
export interface KustomizationV1Beta1SpecPostBuild {
/**
* Substitute holds a map of key/value pairs.
* The variables defined in your YAML manifests
* that match any of the keys defined in the map
* will be substituted with the set value.
* Includes support for bash string replacement functions
* e.g. ${var:=default}, ${var:position} and ${var/substring/replacement}.
*
* @schema KustomizationV1Beta1SpecPostBuild#substitute
*/
readonly substitute?: {
[key: string]: string;
};
/**
* SubstituteFrom holds references to ConfigMaps and Secrets containing
* the variables and their values to be substituted in the YAML manifests.
* The ConfigMap and the Secret data keys represent the var names and they
* must match the vars declared in the manifests for the substitution to happen.
*
* @schema KustomizationV1Beta1SpecPostBuild#substituteFrom
*/
readonly substituteFrom?: KustomizationV1Beta1SpecPostBuildSubstituteFrom[];
}
/**
* Converts an object of type 'KustomizationV1Beta1SpecPostBuild' to JSON representation.
*/
export declare function toJson_KustomizationV1Beta1SpecPostBuild(obj: KustomizationV1Beta1SpecPostBuild | undefined): Record<string, any> | undefined;
/**
* Reference of the source where the kustomization file is.
*
* @schema KustomizationV1Beta1SpecSourceRef
*/
export interface KustomizationV1Beta1SpecSourceRef {
/**
* API version of the referent
*
* @schema KustomizationV1Beta1SpecSourceRef#apiVersion
*/
readonly apiVersion?: string;
/**
* Kind of the referent
*
* @schema KustomizationV1Beta1SpecSourceRef#kind
*/
readonly kind: KustomizationV1Beta1SpecSourceRefKind;
/**
* Name of the referent
*
* @schema KustomizationV1Beta1SpecSourceRef#name
*/
readonly name: string;
/**
* Namespace of the referent, defaults to the Kustomization namespace
*
* @schema KustomizationV1Beta1SpecSourceRef#namespace
*/
readonly namespace?: string;
}
/**
* Converts an object of type 'KustomizationV1Beta1SpecSourceRef' to JSON representation.
*/
export declare function toJson_KustomizationV1Beta1SpecSourceRef(obj: KustomizationV1Beta1SpecSourceRef | undefined): Record<string, any> | undefined;
/**
* Validate the Kubernetes objects before applying them on the cluster.
* The validation strategy can be 'client' (local dry-run), 'server'
* (APIServer dry-run) or 'none'.
* When 'Force' is 'true', validation will fallback to 'client' if set to
* 'server' because server-side validation is not supported in this scenario.
*
* @schema KustomizationV1Beta1SpecValidation
*/
export declare enum KustomizationV1Beta1SpecValidation {
/** none */
NONE = "none",
/** client */
CLIENT = "client",
/** server */
SERVER = "server"
}
/**
* Provider is the name of the decryption engine.
*
* @schema KustomizationV1Beta1SpecDecryptionProvider
*/
export declare enum KustomizationV1Beta1SpecDecryptionProvider {
/** sops */
SOPS = "sops"
}
/**
* The secret name containing the private OpenPGP keys used for decryption.
*
* @schema KustomizationV1Beta1SpecDecryptionSecretRef
*/
export interface KustomizationV1Beta1SpecDecryptionSecretRef {
/**
* Name of the referent.
*
* @schema KustomizationV1Beta1SpecDecryptionSecretRef#name
*/
readonly name: string;
}
/**
* Converts an object of type 'KustomizationV1Beta1SpecDecryptionSecretRef' to JSON representation.
*/
export declare function toJson_KustomizationV1Beta1SpecDecryptionSecretRef(obj: KustomizationV1Beta1SpecDecryptionSecretRef | undefined): Record<string, any> | undefined;
/**
* SecretRef holds the name to a secret that contains a 'value' key with
* the kubeconfig file as the value. It must be in the same namespace as
* the Kustomization.
* 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
* the Kustomization.
*
* @schema KustomizationV1Beta1SpecKubeConfigSecretRef
*/
export interface KustomizationV1Beta1SpecKubeConfigSecretRef {
/**
* Name of the referent.
*
* @schema KustomizationV1Beta1SpecKubeConfigSecretRef#name
*/
readonly name: string;
}
/**
* Converts an object of type 'KustomizationV1Beta1SpecKubeConfigSecretRef' to JSON representation.
*/
export declare function toJson_KustomizationV1Beta1SpecKubeConfigSecretRef(obj: KustomizationV1Beta1SpecKubeConfigSecretRef | undefined): Record<string, any> | undefined;
/**
* Target points to the resources that the patch document should be applied to.
*
* @schema KustomizationV1Beta1SpecPatchesTarget
*/
export interface KustomizationV1Beta1SpecPatchesTarget {
/**
* AnnotationSelector is a string that follows the label selection expression
* https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#api
* It matches with the resource annotations.
*
* @schema KustomizationV1Beta1SpecPatchesTarget#annotationSelector
*/
readonly annotationSelector?: string;
/**
* Group is the API group to select resources from.
* Together with Version and Kind it is capable of unambiguously identifying and/or selecting resources.
* https://github.com/kubernetes/community/blob/master/contributors/design-proposals/api-machinery/api-group.md
*
* @schema KustomizationV1Beta1SpecPatchesTarget#group
*/
readonly group?: string;
/**
* Kind of the API Group to select resources from.
* Together with Group and Version it is capable of unambiguously
* identifying and/or selecting resources.
* https://github.com/kubernetes/community/blob/master/contributors/design-proposals/api-machinery/api-group.md
*
* @schema KustomizationV1Beta1SpecPatchesTarget#kind
*/
readonly kind?: string;
/**
* LabelSelector is a string that follows the label selection expression
* https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#api
* It matches with the resource labels.
*
* @schema KustomizationV1Beta1SpecPatchesTarget#labelSelector
*/
readonly labelSelector?: string;
/**
* Name to match resources with.
*
* @schema KustomizationV1Beta1SpecPatchesTarget#name
*/
readonly name?: string;
/**
* Namespace to select resources from.
*
* @schema KustomizationV1Beta1SpecPatchesTarget#namespace
*/
readonly namespace?: string;
/**
* Version of the API Group to select resources from.
* Together with Group and Kind it is capable of unambiguously identifying and/or selecting resources.
* https://github.com/kubernetes/community/blob/master/contributors/design-proposals/api-machinery/api-group.md
*
* @schema KustomizationV1Beta1SpecPatchesTarget#version
*/
readonly version?: string;
}
/**
* Converts an object of type 'KustomizationV1Beta1SpecPatchesTarget' to JSON representation.
*/
export declare function toJson_KustomizationV1Beta1SpecPatchesTarget(obj: KustomizationV1Beta1SpecPatchesTarget | undefined): Record<string, any> | undefined;
/**
* JSON6902 is a JSON6902 operation object.
* https://datatracker.ietf.org/doc/html/rfc6902#section-4
*
* @schema KustomizationV1Beta1SpecPatchesJson6902Patch
*/
export interface KustomizationV1Beta1SpecPatchesJson6902Patch {
/**
* From contains a JSON-pointer value that references a location within the target document where the operation is
* performed. The meaning of the value depends on the value of Op, and is NOT taken into account by all operations.
*
* @schema KustomizationV1Beta1SpecPatchesJson6902Patch#from
*/
readonly from?: string;
/**
* Op indicates the operation to perform. Its value MUST be one of "add", "remove", "replace", "move", "copy", or
* "test".
* https://datatracker.ietf.org/doc/html/rfc6902#section-4
*
* @schema KustomizationV1Beta1SpecPatchesJson6902Patch#op
*/
readonly op: KustomizationV1Beta1SpecPatchesJson6902PatchOp;
/**
* Path contains the JSON-pointer value that references a location within the target document where the operation
* is performed. The meaning of the value depends on the value of Op.
*
* @schema KustomizationV1Beta1SpecPatchesJson6902Patch#path
*/
readonly path: string;
/**
* Value contains a valid JSON structure. The meaning of the value depends on the value of Op, and is NOT taken into
* account by all operations.
*
* @schema KustomizationV1Beta1SpecPatchesJson6902Patch#value
*/
readonly value?: any;
}
/**
* Converts an object of type 'KustomizationV1Beta1SpecPatchesJson6902Patch' to JSON representation.
*/
export declare function