@kubernetes-models/flux-cd
Version:
90 lines (89 loc) • 3.69 kB
TypeScript
import { IComGithubFluxcdHelmControllerApiV2beta2CRDsPolicy } from "./CRDsPolicy.js";
import { IComGithubFluxcdHelmControllerApiV2beta2InstallRemediation } from "./InstallRemediation.js";
import { ModelData, Model } from "@kubernetes-models/base";
/**
* Install holds the configuration for Helm install actions performed for this
* HelmRelease.
*/
export interface IInstall {
/**
* CRDs upgrade CRDs from the Helm Chart's crds directory according
* to the CRD upgrade policy provided here. Valid values are `Skip`,
* `Create` or `CreateReplace`. Default is `Create` and if omitted
* CRDs are installed but not updated.
*
* Skip: do neither install nor replace (update) any CRDs.
*
* Create: new CRDs are created, existing CRDs are neither updated nor deleted.
*
* CreateReplace: new CRDs are created, existing CRDs are updated (replaced)
* but not deleted.
*
* By default, CRDs are applied (installed) during Helm install action.
* With this option users can opt in to CRD replace existing CRDs on Helm
* install actions, which is not (yet) natively supported by Helm.
* https://helm.sh/docs/chart_best_practices/custom_resource_definitions.
*/
"crds"?: IComGithubFluxcdHelmControllerApiV2beta2CRDsPolicy;
/**
* CreateNamespace tells the Helm install action to create the
* HelmReleaseSpec.TargetNamespace if it does not exist yet.
* On uninstall, the namespace will not be garbage collected.
*/
"createNamespace"?: boolean;
/**
* DisableHooks prevents hooks from running during the Helm install action.
*/
"disableHooks"?: boolean;
/**
* DisableOpenAPIValidation prevents the Helm install action from validating
* rendered templates against the Kubernetes OpenAPI Schema.
*/
"disableOpenAPIValidation"?: boolean;
/**
* DisableWait disables the waiting for resources to be ready after a Helm
* install has been performed.
*/
"disableWait"?: boolean;
/**
* DisableWaitForJobs disables waiting for jobs to complete after a Helm
* install has been performed.
*/
"disableWaitForJobs"?: boolean;
/**
* Remediation holds the remediation configuration for when the Helm install
* action for the HelmRelease fails. The default is to not perform any action.
*/
"remediation"?: IComGithubFluxcdHelmControllerApiV2beta2InstallRemediation;
/**
* Replace tells the Helm install action to re-use the 'ReleaseName', but only
* if that name is a deleted release which remains in the history.
*/
"replace"?: boolean;
/**
* SkipCRDs tells the Helm install action to not install any CRDs. By default,
* CRDs are installed if not already present.
*
* Deprecated use CRD policy (`crds`) attribute with value `Skip` instead.
*/
"skipCRDs"?: boolean;
"timeout"?: string;
}
/**
* Install holds the configuration for Helm install actions performed for this
* HelmRelease.
*/
export declare class Install extends Model<IInstall> implements IInstall {
"crds"?: IComGithubFluxcdHelmControllerApiV2beta2CRDsPolicy;
"createNamespace"?: boolean;
"disableHooks"?: boolean;
"disableOpenAPIValidation"?: boolean;
"disableWait"?: boolean;
"disableWaitForJobs"?: boolean;
"remediation"?: IComGithubFluxcdHelmControllerApiV2beta2InstallRemediation;
"replace"?: boolean;
"skipCRDs"?: boolean;
"timeout"?: string;
constructor(data?: ModelData<IInstall>);
}
export type { IInstall as IComGithubFluxcdHelmControllerApiV2beta2Install, Install as ComGithubFluxcdHelmControllerApiV2beta2Install };