UNPKG

@kubernetes-models/flux-cd

Version:
170 lines (169 loc) 7.94 kB
import { IComGithubFluxcdKustomizeControllerApiV1CommonMetadata } from "./CommonMetadata.js"; import { IComGithubFluxcdKustomizeControllerApiV1Decryption } from "./Decryption.js"; import { IComGithubFluxcdKustomizeControllerApiV1DependencyReference } from "./DependencyReference.js"; import { IComGithubFluxcdPkgApisKustomizeCustomHealthCheck } from "../../github.com/fluxcd/pkg/apis/kustomize/CustomHealthCheck.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 { IComGithubFluxcdKustomizeControllerApiV1PostBuild } from "./PostBuild.js"; import { IComGithubFluxcdKustomizeControllerApiV1CrossNamespaceSourceReference } 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"?: IComGithubFluxcdKustomizeControllerApiV1CommonMetadata; /** * Components specifies relative paths to kustomize Components. */ "components"?: Array<string>; /** * Decrypt Kubernetes secrets before applying them on the cluster. */ "decryption"?: IComGithubFluxcdKustomizeControllerApiV1Decryption; /** * DeletionPolicy can be used to control garbage collection when this * Kustomization is deleted. Valid values are ('MirrorPrune', 'Delete', * 'WaitForTermination', 'Orphan'). 'MirrorPrune' mirrors the Prune field * (orphan if false, delete if true). Defaults to 'MirrorPrune'. */ "deletionPolicy"?: "MirrorPrune" | "Delete" | "WaitForTermination" | "Orphan"; /** * DependsOn may contain a DependencyReference slice * with references to Kustomization resources that must be ready before this * Kustomization can be reconciled. */ "dependsOn"?: Array<IComGithubFluxcdKustomizeControllerApiV1DependencyReference>; /** * Force instructs the controller to recreate resources * when patching fails due to an immutable field change. */ "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. */ "healthCheckExprs"?: Array<IComGithubFluxcdPkgApisKustomizeCustomHealthCheck>; /** * A list of resources to be included in the health assessment. */ "healthChecks"?: Array<IComGithubFluxcdPkgApisMetaNamespacedObjectKindReference>; /** * IgnoreMissingComponents instructs the controller to ignore Components paths * not found in source by removing them from the generated kustomization.yaml * before running kustomize build. */ "ignoreMissingComponents"?: boolean; /** * 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; /** * NamePrefix will prefix the names of all managed resources. */ "namePrefix"?: string; /** * NameSuffix will suffix the names of all managed resources. */ "nameSuffix"?: string; /** * Strategic merge and JSON patches, defined as inline YAML objects, * capable of targeting objects based on kind, label and annotation selectors. */ "patches"?: Array<IComGithubFluxcdPkgApisKustomizePatch>; /** * 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"?: IComGithubFluxcdKustomizeControllerApiV1PostBuild; /** * 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": IComGithubFluxcdKustomizeControllerApiV1CrossNamespaceSourceReference; /** * 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; /** * 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"?: IComGithubFluxcdKustomizeControllerApiV1CommonMetadata; "components"?: Array<string>; "decryption"?: IComGithubFluxcdKustomizeControllerApiV1Decryption; "deletionPolicy"?: "MirrorPrune" | "Delete" | "WaitForTermination" | "Orphan"; "dependsOn"?: Array<IComGithubFluxcdKustomizeControllerApiV1DependencyReference>; "force"?: boolean; "healthCheckExprs"?: Array<IComGithubFluxcdPkgApisKustomizeCustomHealthCheck>; "healthChecks"?: Array<IComGithubFluxcdPkgApisMetaNamespacedObjectKindReference>; "ignoreMissingComponents"?: boolean; "images"?: Array<IComGithubFluxcdPkgApisKustomizeImage>; "interval": string; "kubeConfig"?: IComGithubFluxcdPkgApisMetaKubeConfigReference; "namePrefix"?: string; "nameSuffix"?: string; "patches"?: Array<IComGithubFluxcdPkgApisKustomizePatch>; "path"?: string; "postBuild"?: IComGithubFluxcdKustomizeControllerApiV1PostBuild; "prune": boolean; "retryInterval"?: string; "serviceAccountName"?: string; "sourceRef": IComGithubFluxcdKustomizeControllerApiV1CrossNamespaceSourceReference; "suspend"?: boolean; "targetNamespace"?: string; "timeout"?: string; "wait"?: boolean; constructor(data?: ModelData<IKustomizationSpec>); } export type { IKustomizationSpec as IComGithubFluxcdKustomizeControllerApiV1KustomizationSpec, KustomizationSpec as ComGithubFluxcdKustomizeControllerApiV1KustomizationSpec };