UNPKG

@kubernetes-models/flux-cd

Version:
153 lines (152 loc) 7.41 kB
import { IComGithubFluxcdKustomizeControllerApiV1beta2CommonMetadata } from "./CommonMetadata.js"; import { IComGithubFluxcdKustomizeControllerApiV1beta2Decryption } from "./Decryption.js"; import { IComGithubFluxcdPkgApisMetaNamespacedObjectReference } from "../../github.com/fluxcd/pkg/apis/meta/NamespacedObjectReference.js"; import { IComGithubFluxcdPkgApisMetaNamespacedObjectKindReference } from "../../github.com/fluxcd/pkg/apis/meta/NamespacedObjectKindReference.js"; import { IComGithubFluxcdPkgApisKustomizeImage } from "../../github.com/fluxcd/pkg/apis/kustomize/Image.js"; import { IComGithubFluxcdPkgApisMetaKubeConfigReference } from "../../github.com/fluxcd/pkg/apis/meta/KubeConfigReference.js"; import { IComGithubFluxcdPkgApisKustomizePatch } from "../../github.com/fluxcd/pkg/apis/kustomize/Patch.js"; import { IComGithubFluxcdPkgApisKustomizeJSON6902Patch } from "../../github.com/fluxcd/pkg/apis/kustomize/JSON6902Patch.js"; import { IIoK8sApiextensionsApiserverPkgApisApiextensionsV1JSON } from "kubernetes-models/apiextensions.k8s.io/v1/JSON"; import { IComGithubFluxcdKustomizeControllerApiV1beta2PostBuild } from "./PostBuild.js"; import { IComGithubFluxcdKustomizeControllerApiV1beta2CrossNamespaceSourceReference } from "./CrossNamespaceSourceReference.js"; import { ModelData, Model } from "@kubernetes-models/base"; /** * KustomizationSpec defines the configuration to calculate the desired state from a Source using Kustomize. */ export interface IKustomizationSpec { /** * 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. */ "commonMetadata"?: IComGithubFluxcdKustomizeControllerApiV1beta2CommonMetadata; /** * Components specifies relative paths to specifications of other Components. */ "components"?: Array<string>; /** * Decrypt Kubernetes secrets before applying them on the cluster. */ "decryption"?: IComGithubFluxcdKustomizeControllerApiV1beta2Decryption; /** * DependsOn may contain a meta.NamespacedObjectReference slice * with references to Kustomization resources that must be ready before this * Kustomization can be reconciled. */ "dependsOn"?: Array<IComGithubFluxcdPkgApisMetaNamespacedObjectReference>; /** * Force instructs the controller to recreate resources * when patching fails due to an immutable field change. */ "force"?: boolean; /** * A list of resources to be included in the health assessment. */ "healthChecks"?: Array<IComGithubFluxcdPkgApisMetaNamespacedObjectKindReference>; /** * 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. */ "images"?: Array<IComGithubFluxcdPkgApisKustomizeImage>; "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. */ "kubeConfig"?: IComGithubFluxcdPkgApisMetaKubeConfigReference; /** * Strategic merge and JSON patches, defined as inline YAML objects, * capable of targeting objects based on kind, label and annotation selectors. */ "patches"?: Array<IComGithubFluxcdPkgApisKustomizePatch>; /** * JSON 6902 patches, defined as inline YAML objects. * Deprecated: Use Patches instead. */ "patchesJson6902"?: Array<IComGithubFluxcdPkgApisKustomizeJSON6902Patch>; /** * Strategic merge patches, defined as inline YAML objects. * Deprecated: Use Patches instead. */ "patchesStrategicMerge"?: Array<IIoK8sApiextensionsApiserverPkgApisApiextensionsV1JSON>; /** * 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. */ "path"?: string; /** * PostBuild describes which actions to perform on the YAML manifest * generated by building the kustomize overlay. */ "postBuild"?: IComGithubFluxcdKustomizeControllerApiV1beta2PostBuild; /** * Prune enables garbage collection. */ "prune": boolean; "retryInterval"?: string; /** * The name of the Kubernetes service account to impersonate * when reconciling this Kustomization. */ "serviceAccountName"?: string; /** * Reference of the source where the kustomization file is. */ "sourceRef": IComGithubFluxcdKustomizeControllerApiV1beta2CrossNamespaceSourceReference; /** * This flag tells the controller to suspend subsequent kustomize executions, * it does not apply to already started executions. Defaults to false. */ "suspend"?: boolean; /** * TargetNamespace sets or overrides the namespace in the * kustomization.yaml file. */ "targetNamespace"?: string; "timeout"?: string; /** * Deprecated: Not used in v1beta2. */ "validation"?: "none" | "client" | "server"; /** * Wait instructs the controller to check the health of all the reconciled resources. * When enabled, the HealthChecks are ignored. Defaults to false. */ "wait"?: boolean; } /** * KustomizationSpec defines the configuration to calculate the desired state from a Source using Kustomize. */ export declare class KustomizationSpec extends Model<IKustomizationSpec> implements IKustomizationSpec { "commonMetadata"?: IComGithubFluxcdKustomizeControllerApiV1beta2CommonMetadata; "components"?: Array<string>; "decryption"?: IComGithubFluxcdKustomizeControllerApiV1beta2Decryption; "dependsOn"?: Array<IComGithubFluxcdPkgApisMetaNamespacedObjectReference>; "force"?: boolean; "healthChecks"?: Array<IComGithubFluxcdPkgApisMetaNamespacedObjectKindReference>; "images"?: Array<IComGithubFluxcdPkgApisKustomizeImage>; "interval": string; "kubeConfig"?: IComGithubFluxcdPkgApisMetaKubeConfigReference; "patches"?: Array<IComGithubFluxcdPkgApisKustomizePatch>; "patchesJson6902"?: Array<IComGithubFluxcdPkgApisKustomizeJSON6902Patch>; "patchesStrategicMerge"?: Array<IIoK8sApiextensionsApiserverPkgApisApiextensionsV1JSON>; "path"?: string; "postBuild"?: IComGithubFluxcdKustomizeControllerApiV1beta2PostBuild; "prune": boolean; "retryInterval"?: string; "serviceAccountName"?: string; "sourceRef": IComGithubFluxcdKustomizeControllerApiV1beta2CrossNamespaceSourceReference; "suspend"?: boolean; "targetNamespace"?: string; "timeout"?: string; "validation"?: "none" | "client" | "server"; "wait"?: boolean; constructor(data?: ModelData<IKustomizationSpec>); } export type { IKustomizationSpec as IComGithubFluxcdKustomizeControllerApiV1beta2KustomizationSpec, KustomizationSpec as ComGithubFluxcdKustomizeControllerApiV1beta2KustomizationSpec };