@kubernetes-models/flux-cd
Version:
118 lines (117 loc) • 4.97 kB
TypeScript
import { IComGithubFluxcdHelmControllerApiV2CRDsPolicy } from "./CRDsPolicy.js";
import { IComGithubFluxcdHelmControllerApiV2UpgradeRemediation } from "./UpgradeRemediation.js";
import { IComGithubFluxcdHelmControllerApiV2ServerSideApplyMode } from "./ServerSideApplyMode.js";
import { IComGithubFluxcdHelmControllerApiV2UpgradeStrategy } from "./UpgradeStrategy.js";
import { ModelData, Model } from "@kubernetes-models/base";
/**
* Upgrade holds the configuration for Helm upgrade actions for this
* HelmRelease.
*/
export interface IUpgrade {
/**
* CleanupOnFail allows deletion of new resources created during the Helm
* upgrade action when it fails.
*/
"cleanupOnFail"?: boolean;
/**
* 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 `Skip` and if omitted
* CRDs are neither installed nor upgraded.
*
* 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 not applied during Helm upgrade action. With this
* option users can opt-in to CRD upgrade, which is not (yet) natively supported by Helm.
* https://helm.sh/docs/chart_best_practices/custom_resource_definitions.
*/
"crds"?: IComGithubFluxcdHelmControllerApiV2CRDsPolicy;
/**
* DisableHooks prevents hooks from running during the Helm upgrade action.
*/
"disableHooks"?: boolean;
/**
* DisableOpenAPIValidation prevents the Helm upgrade action from validating
* rendered templates against the Kubernetes OpenAPI Schema.
*/
"disableOpenAPIValidation"?: boolean;
/**
* DisableSchemaValidation prevents the Helm upgrade action from validating
* the values against the JSON Schema.
*/
"disableSchemaValidation"?: boolean;
/**
* DisableTakeOwnership disables taking ownership of existing resources
* during the Helm upgrade action. Defaults to false.
*/
"disableTakeOwnership"?: boolean;
/**
* DisableWait disables the waiting for resources to be ready after a Helm
* upgrade has been performed.
*/
"disableWait"?: boolean;
/**
* DisableWaitForJobs disables waiting for jobs to complete after a Helm
* upgrade has been performed.
*/
"disableWaitForJobs"?: boolean;
/**
* Force forces resource updates through a replacement strategy
* that avoids 3-way merge conflicts on client-side apply.
* This field is ignored for server-side apply (which always
* forces conflicts with other field managers).
*/
"force"?: boolean;
/**
* PreserveValues will make Helm reuse the last release's values and merge in
* overrides from 'Values'. Setting this flag makes the HelmRelease
* non-declarative.
*/
"preserveValues"?: boolean;
/**
* Remediation holds the remediation configuration for when the Helm upgrade
* action for the HelmRelease fails. The default is to not perform any action.
*/
"remediation"?: IComGithubFluxcdHelmControllerApiV2UpgradeRemediation;
/**
* ServerSideApply enables server-side apply for resources during upgrade.
* Can be "enabled", "disabled", or "auto".
* When "auto", server-side apply usage will be based on the release's previous usage.
* Defaults to "auto".
*/
"serverSideApply"?: IComGithubFluxcdHelmControllerApiV2ServerSideApplyMode;
/**
* Strategy defines the upgrade strategy to use for this HelmRelease.
* Defaults to 'RemediateOnFailure', or 'RetryOnFailure' when the
* DefaultToRetryOnFailure feature gate is enabled.
*/
"strategy"?: IComGithubFluxcdHelmControllerApiV2UpgradeStrategy;
"timeout"?: string;
}
/**
* Upgrade holds the configuration for Helm upgrade actions for this
* HelmRelease.
*/
export declare class Upgrade extends Model<IUpgrade> implements IUpgrade {
"cleanupOnFail"?: boolean;
"crds"?: IComGithubFluxcdHelmControllerApiV2CRDsPolicy;
"disableHooks"?: boolean;
"disableOpenAPIValidation"?: boolean;
"disableSchemaValidation"?: boolean;
"disableTakeOwnership"?: boolean;
"disableWait"?: boolean;
"disableWaitForJobs"?: boolean;
"force"?: boolean;
"preserveValues"?: boolean;
"remediation"?: IComGithubFluxcdHelmControllerApiV2UpgradeRemediation;
"serverSideApply"?: IComGithubFluxcdHelmControllerApiV2ServerSideApplyMode;
"strategy"?: IComGithubFluxcdHelmControllerApiV2UpgradeStrategy;
"timeout"?: string;
constructor(data?: ModelData<IUpgrade>);
}
export type { IUpgrade as IComGithubFluxcdHelmControllerApiV2Upgrade, Upgrade as ComGithubFluxcdHelmControllerApiV2Upgrade };