UNPKG

k8ts

Version:

Powerful framework for building Kubernetes manifests in TypeScript.

1,384 lines 185 kB
import { ApiObject, ApiObjectMetadata, GroupVersionKind } from 'cdk8s'; import { Construct } from 'constructs'; /** * HelmRelease is the Schema for the helmreleases API * * @schema HelmRelease */ export declare class HelmRelease extends ApiObject { /** * Returns the apiVersion and kind for "HelmRelease" */ static readonly GVK: GroupVersionKind; /** * Renders a Kubernetes manifest for "HelmRelease". * * This can be used to inline resource manifests inside other objects (e.g. as templates). * * @param props initialization props */ static manifest(props?: HelmReleaseProps): any; /** * Defines a "HelmRelease" 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?: HelmReleaseProps); /** * Renders the object to Kubernetes JSON. */ toJson(): any; } /** * HelmRelease is the Schema for the helmreleases API * * @schema HelmRelease */ export interface HelmReleaseProps { /** * @schema HelmRelease#metadata */ readonly metadata?: ApiObjectMetadata; /** * HelmReleaseSpec defines the desired state of a Helm release. * * @schema HelmRelease#spec */ readonly spec?: HelmReleaseSpec; } /** * Converts an object of type 'HelmReleaseProps' to JSON representation. */ export declare function toJson_HelmReleaseProps(obj: HelmReleaseProps | undefined): Record<string, any> | undefined; /** * HelmReleaseSpec defines the desired state of a Helm release. * * @schema HelmReleaseSpec */ export interface HelmReleaseSpec { /** * Chart defines the template of the v1.HelmChart that should be created * for this HelmRelease. * * @schema HelmReleaseSpec#chart */ readonly chart?: HelmReleaseSpecChart; /** * ChartRef holds a reference to a source controller resource containing the * Helm chart artifact. * * @schema HelmReleaseSpec#chartRef */ readonly chartRef?: HelmReleaseSpecChartRef; /** * DependsOn may contain a meta.NamespacedObjectReference slice with * references to HelmRelease resources that must be ready before this HelmRelease * can be reconciled. * * @schema HelmReleaseSpec#dependsOn */ readonly dependsOn?: HelmReleaseSpecDependsOn[]; /** * DriftDetection holds the configuration for detecting and handling * differences between the manifest in the Helm storage and the resources * currently existing in the cluster. * * @schema HelmReleaseSpec#driftDetection */ readonly driftDetection?: HelmReleaseSpecDriftDetection; /** * Install holds the configuration for Helm install actions for this HelmRelease. * * @schema HelmReleaseSpec#install */ readonly install?: HelmReleaseSpecInstall; /** * Interval at which to reconcile the Helm release. * * @schema HelmReleaseSpec#interval */ readonly interval: string; /** * KubeConfig for reconciling the HelmRelease on a remote cluster. * When used in combination with HelmReleaseSpec.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 HelmReleaseSpec.ServiceAccountName * is empty. * * @schema HelmReleaseSpec#kubeConfig */ readonly kubeConfig?: HelmReleaseSpecKubeConfig; /** * MaxHistory is the number of revisions saved by Helm for this HelmRelease. * Use '0' for an unlimited number of revisions; defaults to '5'. * * @schema HelmReleaseSpec#maxHistory */ readonly maxHistory?: number; /** * PersistentClient tells the controller to use a persistent Kubernetes * client for this release. When enabled, the client will be reused for the * duration of the reconciliation, instead of being created and destroyed * for each (step of a) Helm action. * * This can improve performance, but may cause issues with some Helm charts * that for example do create Custom Resource Definitions during installation * outside Helm's CRD lifecycle hooks, which are then not observed to be * available by e.g. post-install hooks. * * If not set, it defaults to true. * * @schema HelmReleaseSpec#persistentClient */ readonly persistentClient?: boolean; /** * PostRenderers holds an array of Helm PostRenderers, which will be applied in order * of their definition. * * @schema HelmReleaseSpec#postRenderers */ readonly postRenderers?: HelmReleaseSpecPostRenderers[]; /** * ReleaseName used for the Helm release. Defaults to a composition of * '[TargetNamespace-]Name'. * * @default a composition of * @schema HelmReleaseSpec#releaseName */ readonly releaseName?: string; /** * Rollback holds the configuration for Helm rollback actions for this HelmRelease. * * @schema HelmReleaseSpec#rollback */ readonly rollback?: HelmReleaseSpecRollback; /** * The name of the Kubernetes service account to impersonate * when reconciling this HelmRelease. * * @schema HelmReleaseSpec#serviceAccountName */ readonly serviceAccountName?: string; /** * StorageNamespace used for the Helm storage. * Defaults to the namespace of the HelmRelease. * * @default the namespace of the HelmRelease. * @schema HelmReleaseSpec#storageNamespace */ readonly storageNamespace?: string; /** * Suspend tells the controller to suspend reconciliation for this HelmRelease, * it does not apply to already started reconciliations. Defaults to false. * * @default false. * @schema HelmReleaseSpec#suspend */ readonly suspend?: boolean; /** * TargetNamespace to target when performing operations for the HelmRelease. * Defaults to the namespace of the HelmRelease. * * @default the namespace of the HelmRelease. * @schema HelmReleaseSpec#targetNamespace */ readonly targetNamespace?: string; /** * Test holds the configuration for Helm test actions for this HelmRelease. * * @schema HelmReleaseSpec#test */ readonly test?: HelmReleaseSpecTest; /** * Timeout is the time to wait for any individual Kubernetes operation (like Jobs * for hooks) during the performance of a Helm action. Defaults to '5m0s'. * * @default 5m0s'. * @schema HelmReleaseSpec#timeout */ readonly timeout?: string; /** * Uninstall holds the configuration for Helm uninstall actions for this HelmRelease. * * @schema HelmReleaseSpec#uninstall */ readonly uninstall?: HelmReleaseSpecUninstall; /** * Upgrade holds the configuration for Helm upgrade actions for this HelmRelease. * * @schema HelmReleaseSpec#upgrade */ readonly upgrade?: HelmReleaseSpecUpgrade; /** * Values holds the values for this Helm release. * * @schema HelmReleaseSpec#values */ readonly values?: any; /** * ValuesFrom holds references to resources containing Helm values for this HelmRelease, * and information about how they should be merged. * * @schema HelmReleaseSpec#valuesFrom */ readonly valuesFrom?: HelmReleaseSpecValuesFrom[]; } /** * Converts an object of type 'HelmReleaseSpec' to JSON representation. */ export declare function toJson_HelmReleaseSpec(obj: HelmReleaseSpec | undefined): Record<string, any> | undefined; /** * Chart defines the template of the v1.HelmChart that should be created * for this HelmRelease. * * @schema HelmReleaseSpecChart */ export interface HelmReleaseSpecChart { /** * ObjectMeta holds the template for metadata like labels and annotations. * * @schema HelmReleaseSpecChart#metadata */ readonly metadata?: HelmReleaseSpecChartMetadata; /** * Spec holds the template for the v1.HelmChartSpec for this HelmRelease. * * @schema HelmReleaseSpecChart#spec */ readonly spec: HelmReleaseSpecChartSpec; } /** * Converts an object of type 'HelmReleaseSpecChart' to JSON representation. */ export declare function toJson_HelmReleaseSpecChart(obj: HelmReleaseSpecChart | undefined): Record<string, any> | undefined; /** * ChartRef holds a reference to a source controller resource containing the * Helm chart artifact. * * @schema HelmReleaseSpecChartRef */ export interface HelmReleaseSpecChartRef { /** * APIVersion of the referent. * * @schema HelmReleaseSpecChartRef#apiVersion */ readonly apiVersion?: string; /** * Kind of the referent. * * @schema HelmReleaseSpecChartRef#kind */ readonly kind: HelmReleaseSpecChartRefKind; /** * Name of the referent. * * @schema HelmReleaseSpecChartRef#name */ readonly name: string; /** * Namespace of the referent, defaults to the namespace of the Kubernetes * resource object that contains the reference. * * @schema HelmReleaseSpecChartRef#namespace */ readonly namespace?: string; } /** * Converts an object of type 'HelmReleaseSpecChartRef' to JSON representation. */ export declare function toJson_HelmReleaseSpecChartRef(obj: HelmReleaseSpecChartRef | undefined): Record<string, any> | undefined; /** * NamespacedObjectReference contains enough information to locate the referenced Kubernetes resource object in any * namespace. * * @schema HelmReleaseSpecDependsOn */ export interface HelmReleaseSpecDependsOn { /** * Name of the referent. * * @schema HelmReleaseSpecDependsOn#name */ readonly name: string; /** * Namespace of the referent, when not specified it acts as LocalObjectReference. * * @schema HelmReleaseSpecDependsOn#namespace */ readonly namespace?: string; } /** * Converts an object of type 'HelmReleaseSpecDependsOn' to JSON representation. */ export declare function toJson_HelmReleaseSpecDependsOn(obj: HelmReleaseSpecDependsOn | undefined): Record<string, any> | undefined; /** * DriftDetection holds the configuration for detecting and handling * differences between the manifest in the Helm storage and the resources * currently existing in the cluster. * * @schema HelmReleaseSpecDriftDetection */ export interface HelmReleaseSpecDriftDetection { /** * Ignore contains a list of rules for specifying which changes to ignore * during diffing. * * @schema HelmReleaseSpecDriftDetection#ignore */ readonly ignore?: HelmReleaseSpecDriftDetectionIgnore[]; /** * Mode defines how differences should be handled between the Helm manifest * and the manifest currently applied to the cluster. * If not explicitly set, it defaults to DiffModeDisabled. * * @schema HelmReleaseSpecDriftDetection#mode */ readonly mode?: HelmReleaseSpecDriftDetectionMode; } /** * Converts an object of type 'HelmReleaseSpecDriftDetection' to JSON representation. */ export declare function toJson_HelmReleaseSpecDriftDetection(obj: HelmReleaseSpecDriftDetection | undefined): Record<string, any> | undefined; /** * Install holds the configuration for Helm install actions for this HelmRelease. * * @schema HelmReleaseSpecInstall */ export interface HelmReleaseSpecInstall { /** * 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. * * @default Create` and if omitted * @schema HelmReleaseSpecInstall#crds */ readonly crds?: HelmReleaseSpecInstallCrds; /** * 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. * * @schema HelmReleaseSpecInstall#createNamespace */ readonly createNamespace?: boolean; /** * DisableHooks prevents hooks from running during the Helm install action. * * @schema HelmReleaseSpecInstall#disableHooks */ readonly disableHooks?: boolean; /** * DisableOpenAPIValidation prevents the Helm install action from validating * rendered templates against the Kubernetes OpenAPI Schema. * * @schema HelmReleaseSpecInstall#disableOpenAPIValidation */ readonly disableOpenApiValidation?: boolean; /** * DisableSchemaValidation prevents the Helm install action from validating * the values against the JSON Schema. * * @schema HelmReleaseSpecInstall#disableSchemaValidation */ readonly disableSchemaValidation?: boolean; /** * DisableTakeOwnership disables taking ownership of existing resources * during the Helm install action. Defaults to false. * * @default false. * @schema HelmReleaseSpecInstall#disableTakeOwnership */ readonly disableTakeOwnership?: boolean; /** * DisableWait disables the waiting for resources to be ready after a Helm * install has been performed. * * @schema HelmReleaseSpecInstall#disableWait */ readonly disableWait?: boolean; /** * DisableWaitForJobs disables waiting for jobs to complete after a Helm * install has been performed. * * @schema HelmReleaseSpecInstall#disableWaitForJobs */ readonly 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. * * @schema HelmReleaseSpecInstall#remediation */ readonly remediation?: HelmReleaseSpecInstallRemediation; /** * 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. * * @schema HelmReleaseSpecInstall#replace */ readonly 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. * * @schema HelmReleaseSpecInstall#skipCRDs */ readonly skipCrDs?: boolean; /** * Timeout is the time to wait for any individual Kubernetes operation (like * Jobs for hooks) during the performance of a Helm install action. Defaults to * 'HelmReleaseSpec.Timeout'. * * @default HelmReleaseSpec.Timeout'. * @schema HelmReleaseSpecInstall#timeout */ readonly timeout?: string; } /** * Converts an object of type 'HelmReleaseSpecInstall' to JSON representation. */ export declare function toJson_HelmReleaseSpecInstall(obj: HelmReleaseSpecInstall | undefined): Record<string, any> | undefined; /** * KubeConfig for reconciling the HelmRelease on a remote cluster. * When used in combination with HelmReleaseSpec.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 HelmReleaseSpec.ServiceAccountName * is empty. * * @schema HelmReleaseSpecKubeConfig */ export interface HelmReleaseSpecKubeConfig { /** * 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 HelmReleaseSpecKubeConfig#secretRef */ readonly secretRef: HelmReleaseSpecKubeConfigSecretRef; } /** * Converts an object of type 'HelmReleaseSpecKubeConfig' to JSON representation. */ export declare function toJson_HelmReleaseSpecKubeConfig(obj: HelmReleaseSpecKubeConfig | undefined): Record<string, any> | undefined; /** * PostRenderer contains a Helm PostRenderer specification. * * @schema HelmReleaseSpecPostRenderers */ export interface HelmReleaseSpecPostRenderers { /** * Kustomization to apply as PostRenderer. * * @schema HelmReleaseSpecPostRenderers#kustomize */ readonly kustomize?: HelmReleaseSpecPostRenderersKustomize; } /** * Converts an object of type 'HelmReleaseSpecPostRenderers' to JSON representation. */ export declare function toJson_HelmReleaseSpecPostRenderers(obj: HelmReleaseSpecPostRenderers | undefined): Record<string, any> | undefined; /** * Rollback holds the configuration for Helm rollback actions for this HelmRelease. * * @schema HelmReleaseSpecRollback */ export interface HelmReleaseSpecRollback { /** * CleanupOnFail allows deletion of new resources created during the Helm * rollback action when it fails. * * @schema HelmReleaseSpecRollback#cleanupOnFail */ readonly cleanupOnFail?: boolean; /** * DisableHooks prevents hooks from running during the Helm rollback action. * * @schema HelmReleaseSpecRollback#disableHooks */ readonly disableHooks?: boolean; /** * DisableWait disables the waiting for resources to be ready after a Helm * rollback has been performed. * * @schema HelmReleaseSpecRollback#disableWait */ readonly disableWait?: boolean; /** * DisableWaitForJobs disables waiting for jobs to complete after a Helm * rollback has been performed. * * @schema HelmReleaseSpecRollback#disableWaitForJobs */ readonly disableWaitForJobs?: boolean; /** * Force forces resource updates through a replacement strategy. * * @schema HelmReleaseSpecRollback#force */ readonly force?: boolean; /** * Recreate performs pod restarts for the resource if applicable. * * @schema HelmReleaseSpecRollback#recreate */ readonly recreate?: boolean; /** * Timeout is the time to wait for any individual Kubernetes operation (like * Jobs for hooks) during the performance of a Helm rollback action. Defaults to * 'HelmReleaseSpec.Timeout'. * * @default HelmReleaseSpec.Timeout'. * @schema HelmReleaseSpecRollback#timeout */ readonly timeout?: string; } /** * Converts an object of type 'HelmReleaseSpecRollback' to JSON representation. */ export declare function toJson_HelmReleaseSpecRollback(obj: HelmReleaseSpecRollback | undefined): Record<string, any> | undefined; /** * Test holds the configuration for Helm test actions for this HelmRelease. * * @schema HelmReleaseSpecTest */ export interface HelmReleaseSpecTest { /** * Enable enables Helm test actions for this HelmRelease after an Helm install * or upgrade action has been performed. * * @schema HelmReleaseSpecTest#enable */ readonly enable?: boolean; /** * Filters is a list of tests to run or exclude from running. * * @schema HelmReleaseSpecTest#filters */ readonly filters?: HelmReleaseSpecTestFilters[]; /** * IgnoreFailures tells the controller to skip remediation when the Helm tests * are run but fail. Can be overwritten for tests run after install or upgrade * actions in 'Install.IgnoreTestFailures' and 'Upgrade.IgnoreTestFailures'. * * @schema HelmReleaseSpecTest#ignoreFailures */ readonly ignoreFailures?: boolean; /** * Timeout is the time to wait for any individual Kubernetes operation during * the performance of a Helm test action. Defaults to 'HelmReleaseSpec.Timeout'. * * @default HelmReleaseSpec.Timeout'. * @schema HelmReleaseSpecTest#timeout */ readonly timeout?: string; } /** * Converts an object of type 'HelmReleaseSpecTest' to JSON representation. */ export declare function toJson_HelmReleaseSpecTest(obj: HelmReleaseSpecTest | undefined): Record<string, any> | undefined; /** * Uninstall holds the configuration for Helm uninstall actions for this HelmRelease. * * @schema HelmReleaseSpecUninstall */ export interface HelmReleaseSpecUninstall { /** * DeletionPropagation specifies the deletion propagation policy when * a Helm uninstall is performed. * * @schema HelmReleaseSpecUninstall#deletionPropagation */ readonly deletionPropagation?: HelmReleaseSpecUninstallDeletionPropagation; /** * DisableHooks prevents hooks from running during the Helm rollback action. * * @schema HelmReleaseSpecUninstall#disableHooks */ readonly disableHooks?: boolean; /** * DisableWait disables waiting for all the resources to be deleted after * a Helm uninstall is performed. * * @schema HelmReleaseSpecUninstall#disableWait */ readonly disableWait?: boolean; /** * KeepHistory tells Helm to remove all associated resources and mark the * release as deleted, but retain the release history. * * @schema HelmReleaseSpecUninstall#keepHistory */ readonly keepHistory?: boolean; /** * Timeout is the time to wait for any individual Kubernetes operation (like * Jobs for hooks) during the performance of a Helm uninstall action. Defaults * to 'HelmReleaseSpec.Timeout'. * * @default HelmReleaseSpec.Timeout'. * @schema HelmReleaseSpecUninstall#timeout */ readonly timeout?: string; } /** * Converts an object of type 'HelmReleaseSpecUninstall' to JSON representation. */ export declare function toJson_HelmReleaseSpecUninstall(obj: HelmReleaseSpecUninstall | undefined): Record<string, any> | undefined; /** * Upgrade holds the configuration for Helm upgrade actions for this HelmRelease. * * @schema HelmReleaseSpecUpgrade */ export interface HelmReleaseSpecUpgrade { /** * CleanupOnFail allows deletion of new resources created during the Helm * upgrade action when it fails. * * @schema HelmReleaseSpecUpgrade#cleanupOnFail */ readonly 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. * * @default Skip` and if omitted * @schema HelmReleaseSpecUpgrade#crds */ readonly crds?: HelmReleaseSpecUpgradeCrds; /** * DisableHooks prevents hooks from running during the Helm upgrade action. * * @schema HelmReleaseSpecUpgrade#disableHooks */ readonly disableHooks?: boolean; /** * DisableOpenAPIValidation prevents the Helm upgrade action from validating * rendered templates against the Kubernetes OpenAPI Schema. * * @schema HelmReleaseSpecUpgrade#disableOpenAPIValidation */ readonly disableOpenApiValidation?: boolean; /** * DisableSchemaValidation prevents the Helm upgrade action from validating * the values against the JSON Schema. * * @schema HelmReleaseSpecUpgrade#disableSchemaValidation */ readonly disableSchemaValidation?: boolean; /** * DisableTakeOwnership disables taking ownership of existing resources * during the Helm upgrade action. Defaults to false. * * @default false. * @schema HelmReleaseSpecUpgrade#disableTakeOwnership */ readonly disableTakeOwnership?: boolean; /** * DisableWait disables the waiting for resources to be ready after a Helm * upgrade has been performed. * * @schema HelmReleaseSpecUpgrade#disableWait */ readonly disableWait?: boolean; /** * DisableWaitForJobs disables waiting for jobs to complete after a Helm * upgrade has been performed. * * @schema HelmReleaseSpecUpgrade#disableWaitForJobs */ readonly disableWaitForJobs?: boolean; /** * Force forces resource updates through a replacement strategy. * * @schema HelmReleaseSpecUpgrade#force */ readonly 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. * * @schema HelmReleaseSpecUpgrade#preserveValues */ readonly 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. * * @schema HelmReleaseSpecUpgrade#remediation */ readonly remediation?: HelmReleaseSpecUpgradeRemediation; /** * Timeout is the time to wait for any individual Kubernetes operation (like * Jobs for hooks) during the performance of a Helm upgrade action. Defaults to * 'HelmReleaseSpec.Timeout'. * * @default HelmReleaseSpec.Timeout'. * @schema HelmReleaseSpecUpgrade#timeout */ readonly timeout?: string; } /** * Converts an object of type 'HelmReleaseSpecUpgrade' to JSON representation. */ export declare function toJson_HelmReleaseSpecUpgrade(obj: HelmReleaseSpecUpgrade | undefined): Record<string, any> | undefined; /** * ValuesReference contains a reference to a resource containing Helm values, * and optionally the key they can be found at. * * @schema HelmReleaseSpecValuesFrom */ export interface HelmReleaseSpecValuesFrom { /** * Kind of the values referent, valid values are ('Secret', 'ConfigMap'). * * @schema HelmReleaseSpecValuesFrom#kind */ readonly kind: HelmReleaseSpecValuesFromKind; /** * Name of the values referent. Should reside in the same namespace as the * referring resource. * * @schema HelmReleaseSpecValuesFrom#name */ readonly name: string; /** * Optional marks this ValuesReference as optional. When set, a not found error * for the values reference is ignored, but any ValuesKey, TargetPath or * transient error will still result in a reconciliation failure. * * @schema HelmReleaseSpecValuesFrom#optional */ readonly optional?: boolean; /** * TargetPath is the YAML dot notation path the value should be merged at. When * set, the ValuesKey is expected to be a single flat value. Defaults to 'None', * which results in the values getting merged at the root. * * @default None', * @schema HelmReleaseSpecValuesFrom#targetPath */ readonly targetPath?: string; /** * ValuesKey is the data key where the values.yaml or a specific value can be * found at. Defaults to 'values.yaml'. * * @default values.yaml'. * @schema HelmReleaseSpecValuesFrom#valuesKey */ readonly valuesKey?: string; } /** * Converts an object of type 'HelmReleaseSpecValuesFrom' to JSON representation. */ export declare function toJson_HelmReleaseSpecValuesFrom(obj: HelmReleaseSpecValuesFrom | undefined): Record<string, any> | undefined; /** * ObjectMeta holds the template for metadata like labels and annotations. * * @schema HelmReleaseSpecChartMetadata */ export interface HelmReleaseSpecChartMetadata { /** * Annotations is an unstructured key value map stored with a resource that may be * set by external tools to store and retrieve arbitrary metadata. They are not * queryable and should be preserved when modifying objects. * More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/ * * @schema HelmReleaseSpecChartMetadata#annotations */ readonly annotations?: { [key: string]: string; }; /** * Map of string keys and values that can be used to organize and categorize * (scope and select) objects. * More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/ * * @schema HelmReleaseSpecChartMetadata#labels */ readonly labels?: { [key: string]: string; }; } /** * Converts an object of type 'HelmReleaseSpecChartMetadata' to JSON representation. */ export declare function toJson_HelmReleaseSpecChartMetadata(obj: HelmReleaseSpecChartMetadata | undefined): Record<string, any> | undefined; /** * Spec holds the template for the v1.HelmChartSpec for this HelmRelease. * * @schema HelmReleaseSpecChartSpec */ export interface HelmReleaseSpecChartSpec { /** * The name or path the Helm chart is available at in the SourceRef. * * @schema HelmReleaseSpecChartSpec#chart */ readonly chart: string; /** * IgnoreMissingValuesFiles controls whether to silently ignore missing values files rather than failing. * * @schema HelmReleaseSpecChartSpec#ignoreMissingValuesFiles */ readonly ignoreMissingValuesFiles?: boolean; /** * Interval at which to check the v1.Source for updates. Defaults to * 'HelmReleaseSpec.Interval'. * * @default HelmReleaseSpec.Interval'. * @schema HelmReleaseSpecChartSpec#interval */ readonly interval?: string; /** * Determines what enables the creation of a new artifact. Valid values are * ('ChartVersion', 'Revision'). * See the documentation of the values for an explanation on their behavior. * Defaults to ChartVersion when omitted. * * @default ChartVersion when omitted. * @schema HelmReleaseSpecChartSpec#reconcileStrategy */ readonly reconcileStrategy?: HelmReleaseSpecChartSpecReconcileStrategy; /** * The name and namespace of the v1.Source the chart is available at. * * @schema HelmReleaseSpecChartSpec#sourceRef */ readonly sourceRef: HelmReleaseSpecChartSpecSourceRef; /** * Alternative list of values files to use as the chart values (values.yaml * is not included by default), expected to be a relative path in the SourceRef. * Values files are merged in the order of this list with the last file overriding * the first. Ignored when omitted. * * @schema HelmReleaseSpecChartSpec#valuesFiles */ readonly valuesFiles?: string[]; /** * Verify contains the secret name containing the trusted public keys * used to verify the signature and specifies which provider to use to check * whether OCI image is authentic. * This field is only supported for OCI sources. * Chart dependencies, which are not bundled in the umbrella chart artifact, * are not verified. * * @schema HelmReleaseSpecChartSpec#verify */ readonly verify?: HelmReleaseSpecChartSpecVerify; /** * Version semver expression, ignored for charts from v1.GitRepository and * v1beta2.Bucket sources. Defaults to latest when omitted. * * @default latest when omitted. * @schema HelmReleaseSpecChartSpec#version */ readonly version?: string; } /** * Converts an object of type 'HelmReleaseSpecChartSpec' to JSON representation. */ export declare function toJson_HelmReleaseSpecChartSpec(obj: HelmReleaseSpecChartSpec | undefined): Record<string, any> | undefined; /** * Kind of the referent. * * @schema HelmReleaseSpecChartRefKind */ export declare enum HelmReleaseSpecChartRefKind { /** OCIRepository */ OCI_REPOSITORY = "OCIRepository", /** HelmChart */ HELM_CHART = "HelmChart" } /** * IgnoreRule defines a rule to selectively disregard specific changes during * the drift detection process. * * @schema HelmReleaseSpecDriftDetectionIgnore */ export interface HelmReleaseSpecDriftDetectionIgnore { /** * Paths is a list of JSON Pointer (RFC 6901) paths to be excluded from * consideration in a Kubernetes object. * * @schema HelmReleaseSpecDriftDetectionIgnore#paths */ readonly paths: string[]; /** * Target is a selector for specifying Kubernetes objects to which this * rule applies. * If Target is not set, the Paths will be ignored for all Kubernetes * objects within the manifest of the Helm release. * * @schema HelmReleaseSpecDriftDetectionIgnore#target */ readonly target?: HelmReleaseSpecDriftDetectionIgnoreTarget; } /** * Converts an object of type 'HelmReleaseSpecDriftDetectionIgnore' to JSON representation. */ export declare function toJson_HelmReleaseSpecDriftDetectionIgnore(obj: HelmReleaseSpecDriftDetectionIgnore | undefined): Record<string, any> | undefined; /** * Mode defines how differences should be handled between the Helm manifest * and the manifest currently applied to the cluster. * If not explicitly set, it defaults to DiffModeDisabled. * * @schema HelmReleaseSpecDriftDetectionMode */ export declare enum HelmReleaseSpecDriftDetectionMode { /** enabled */ ENABLED = "enabled", /** warn */ WARN = "warn", /** disabled */ DISABLED = "disabled" } /** * 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. * * @default Create` and if omitted * @schema HelmReleaseSpecInstallCrds */ export declare enum HelmReleaseSpecInstallCrds { /** Skip */ SKIP = "Skip", /** Create */ CREATE = "Create", /** CreateReplace */ CREATE_REPLACE = "CreateReplace" } /** * Remediation holds the remediation configuration for when the Helm install * action for the HelmRelease fails. The default is to not perform any action. * * @schema HelmReleaseSpecInstallRemediation */ export interface HelmReleaseSpecInstallRemediation { /** * IgnoreTestFailures tells the controller to skip remediation when the Helm * tests are run after an install action but fail. Defaults to * 'Test.IgnoreFailures'. * * @default Test.IgnoreFailures'. * @schema HelmReleaseSpecInstallRemediation#ignoreTestFailures */ readonly ignoreTestFailures?: boolean; /** * RemediateLastFailure tells the controller to remediate the last failure, when * no retries remain. Defaults to 'false'. * * @default false'. * @schema HelmReleaseSpecInstallRemediation#remediateLastFailure */ readonly remediateLastFailure?: boolean; /** * Retries is the number of retries that should be attempted on failures before * bailing. Remediation, using an uninstall, is performed between each attempt. * Defaults to '0', a negative integer equals to unlimited retries. * * @default 0', a negative integer equals to unlimited retries. * @schema HelmReleaseSpecInstallRemediation#retries */ readonly retries?: number; } /** * Converts an object of type 'HelmReleaseSpecInstallRemediation' to JSON representation. */ export declare function toJson_HelmReleaseSpecInstallRemediation(obj: HelmReleaseSpecInstallRemediation | 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 HelmReleaseSpecKubeConfigSecretRef */ export interface HelmReleaseSpecKubeConfigSecretRef { /** * Key in the Secret, when not specified an implementation-specific default key is used. * * @schema HelmReleaseSpecKubeConfigSecretRef#key */ readonly key?: string; /** * Name of the Secret. * * @schema HelmReleaseSpecKubeConfigSecretRef#name */ readonly name: string; } /** * Converts an object of type 'HelmReleaseSpecKubeConfigSecretRef' to JSON representation. */ export declare function toJson_HelmReleaseSpecKubeConfigSecretRef(obj: HelmReleaseSpecKubeConfigSecretRef | undefined): Record<string, any> | undefined; /** * Kustomization to apply as PostRenderer. * * @schema HelmReleaseSpecPostRenderersKustomize */ export interface HelmReleaseSpecPostRenderersKustomize { /** * 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 HelmReleaseSpecPostRenderersKustomize#images */ readonly images?: HelmReleaseSpecPostRenderersKustomizeImages[]; /** * Strategic merge and JSON patches, defined as inline YAML objects, * capable of targeting objects based on kind, label and annotation selectors. * * @schema HelmReleaseSpecPostRenderersKustomize#patches */ readonly patches?: HelmReleaseSpecPostRenderersKustomizePatches[]; } /** * Converts an object of type 'HelmReleaseSpecPostRenderersKustomize' to JSON representation. */ export declare function toJson_HelmReleaseSpecPostRenderersKustomize(obj: HelmReleaseSpecPostRenderersKustomize | undefined): Record<string, any> | undefined; /** * Filter holds the configuration for individual Helm test filters. * * @schema HelmReleaseSpecTestFilters */ export interface HelmReleaseSpecTestFilters { /** * Exclude specifies whether the named test should be excluded. * * @schema HelmReleaseSpecTestFilters#exclude */ readonly exclude?: boolean; /** * Name is the name of the test. * * @schema HelmReleaseSpecTestFilters#name */ readonly name: string; } /** * Converts an object of type 'HelmReleaseSpecTestFilters' to JSON representation. */ export declare function toJson_HelmReleaseSpecTestFilters(obj: HelmReleaseSpecTestFilters | undefined): Record<string, any> | undefined; /** * DeletionPropagation specifies the deletion propagation policy when * a Helm uninstall is performed. * * @schema HelmReleaseSpecUninstallDeletionPropagation */ export declare enum HelmReleaseSpecUninstallDeletionPropagation { /** background */ BACKGROUND = "background", /** foreground */ FOREGROUND = "foreground", /** orphan */ ORPHAN = "orphan" } /** * 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. * * @default Skip` and if omitted * @schema HelmReleaseSpecUpgradeCrds */ export declare enum HelmReleaseSpecUpgradeCrds { /** Skip */ SKIP = "Skip", /** Create */ CREATE = "Create", /** CreateReplace */ CREATE_REPLACE = "CreateReplace" } /** * Remediation holds the remediation configuration for when the Helm upgrade * action for the HelmRelease fails. The default is to not perform any action. * * @schema HelmReleaseSpecUpgradeRemediation */ export interface HelmReleaseSpecUpgradeRemediation { /** * IgnoreTestFailures tells the controller to skip remediation when the Helm * tests are run after an upgrade action but fail. * Defaults to 'Test.IgnoreFailures'. * * @default Test.IgnoreFailures'. * @schema HelmReleaseSpecUpgradeRemediation#ignoreTestFailures */ readonly ignoreTestFailures?: boolean; /** * RemediateLastFailure tells the controller to remediate the last failure, when * no retries remain. Defaults to 'false' unless 'Retries' is greater than 0. * * @default false' unless 'Retries' is greater than 0. * @schema HelmReleaseSpecUpgradeRemediation#remediateLastFailure */ readonly remediateLastFailure?: boolean; /** * Retries is the number of retries that should be attempted on failures before * bailing. Remediation, using 'Strategy', is performed between each attempt. * Defaults to '0', a negative integer equals to unlimited retries. * * @default 0', a negative integer equals to unlimited retries. * @schema HelmReleaseSpecUpgradeRemediation#retries */ readonly retries?: number; /** * Strategy to use for failure remediation. Defaults to 'rollback'. * * @default rollback'. * @schema HelmReleaseSpecUpgradeRemediation#strategy */ readonly strategy?: HelmReleaseSpecUpgradeRemediationStrategy; } /** * Converts an object of type 'HelmReleaseSpecUpgradeRemediation' to JSON representation. */ export declare function toJson_HelmReleaseSpecUpgradeRemediation(obj: HelmReleaseSpecUpgradeRemediation | undefined): Record<string, any> | undefined; /** * Kind of the values referent, valid values are ('Secret', 'ConfigMap'). * * @schema HelmReleaseSpecValuesFromKind */ export declare enum HelmReleaseSpecValuesFromKind { /** Secret */ SECRET = "Secret", /** ConfigMap */ CONFIG_MAP = "ConfigMap" } /** * Determines what enables the creation of a new artifact. Valid values are * ('ChartVersion', 'Revision'). * See the documentation of the values for an explanation on their behavior. * Defaults to ChartVersion when omitted. * * @default ChartVersion when omitted. * @schema HelmReleaseSpecChartSpecReconcileStrategy */ export declare enum HelmReleaseSpecChartSpecReconcileStrategy { /** ChartVersion */ CHART_VERSION = "ChartVersion", /** Revision */ REVISION = "Revision" } /** * The name and namespace of the v1.Source the chart is available at. * * @schema HelmReleaseSpecChartSpecSourceRef */ export interface HelmReleaseSpecChartSpecSourceRef { /** * APIVersion of the referent. * * @schema HelmReleaseSpecChartSpecSourceRef#apiVersion */ readonly apiVersion?: string; /** * Kind of the referent. * * @schema HelmReleaseSpecChartSpecSourceRef#kind */ readonly kind: HelmReleaseSpecChartSpecSourceRefKind; /** * Name of the referent. * * @schema HelmReleaseSpecChartSpecSourceRef#name */ readonly name: string; /** * Namespace of the referent. * * @schema HelmReleaseSpecChartSpecSourceRef#namespace */ readonly namespace?: string; } /** * Converts an object of type 'HelmReleaseSpecChartSpecSourceRef' to JSON representation. */ export declare function toJson_HelmReleaseSpecChartSpecSourceRef(obj: HelmReleaseSpecChartSpecSourceRef | undefined): Record<string, any> | undefined; /** * Verify contains the secret name containing the trusted public keys * used to verify the signature and specifies which provider to use to check * whether OCI image is authentic. * This field is only supported for OCI sources. * Chart dependencies, which are not bundled in the umbrella chart artifact, * are not verified. * * @schema HelmReleaseSpecChartSpecVerify */ export interface HelmReleaseSpecChartSpecVerify { /** * Provider specifies the technology used to sign the OCI Helm chart. * * @schema HelmReleaseSpecChartSpecVerify#provider */ readonly provider: HelmReleaseSpecChartSpecVerifyProvider; /** * SecretRef specifies the Kubernetes Secret containing the * trusted public keys. * * @schema HelmReleaseSpecChartSpecVerify#secretRef */ readonly secretRef?: HelmReleaseSpecChartSpecVerifySecretRef; } /** * Converts an object of type 'HelmReleaseSpecChartSpecVerify' to JSON representation. */ export declare function toJson_HelmReleaseSpecChartSpecVerify(obj: HelmReleaseSpecChartSpecVerify | undefined): Record<string, any> | undefined; /** * Target is a selector for specifying Kubernetes objects to which this * rule applies. * If Target is not set, the Paths will be ignored for all Kubernetes * objects within the manifest of the Helm release. * * @schema HelmReleaseSpecDriftDetectionIgnoreTarget */ export interface HelmReleaseSpecDriftDetectionIgnoreTarget { /** * 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 HelmReleaseSpecDriftDetectionIgnoreTarget#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 HelmReleaseSpecDriftDetectionIgnoreTarget#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 HelmReleaseSpecDriftDetectionIgnoreTarget#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 HelmReleaseSpecDriftDetectionIgnoreTarget#labelSelector */ readonly labelSelector?: string; /** * Name to match resources with. * * @schema HelmReleaseSpecDriftDetectionIgnoreTarget#name */ readonly name?: string; /** * Namespace to select resources from. * * @schema HelmReleaseSpecDriftDetectionIgnoreTarget#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 HelmReleaseSpecDriftDetectionIgnoreTarget#version */ readonly version?: string; } /** * Converts an object of type 'HelmReleaseSpecDriftDetectionIgnoreTarget' to JSON representation. */ export declare function toJson_HelmReleaseSpecDriftDetectionIgnoreTarget(obj: HelmReleaseSpecDriftDetectionIgnoreTarget | 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 HelmReleaseSpecPostRenderersKustomizeImages */ export interface HelmReleaseSpecPostRenderersKustomizeImages { /** * Digest is the value used to replace the original image tag. * If digest is present NewTag value is ignored. * * @schema HelmReleaseSpecPostRenderersKustomizeImages#digest */ readonly digest?: string; /** * Name is a tag-less image name. * * @schema HelmReleaseSpecPostRenderersKustomizeImages#name */ readonly n