UNPKG

k8ts

Version:

Powerful framework for building Kubernetes manifests in TypeScript.

1,395 lines 86.2 kB
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