...

Text file src/edge-infra.dev/test/fixtures/crds/fluxcd/helm.toolkit.fluxcd.io_helmreleases.yaml

Documentation: edge-infra.dev/test/fixtures/crds/fluxcd

     1---
     2apiVersion: apiextensions.k8s.io/v1
     3kind: CustomResourceDefinition
     4metadata:
     5  annotations:
     6    controller-gen.kubebuilder.io/version: (unknown)
     7  name: helmreleases.helm.toolkit.fluxcd.io
     8spec:
     9  group: helm.toolkit.fluxcd.io
    10  names:
    11    kind: HelmRelease
    12    listKind: HelmReleaseList
    13    plural: helmreleases
    14    shortNames:
    15    - hr
    16    singular: helmrelease
    17  scope: Namespaced
    18  versions:
    19  - additionalPrinterColumns:
    20    - jsonPath: .metadata.creationTimestamp
    21      name: Age
    22      type: date
    23    - jsonPath: .status.conditions[?(@.type=="Ready")].status
    24      name: Ready
    25      type: string
    26    - jsonPath: .status.conditions[?(@.type=="Ready")].message
    27      name: Status
    28      type: string
    29    name: v2
    30    schema:
    31      openAPIV3Schema:
    32        description: HelmRelease is the Schema for the helmreleases API
    33        properties:
    34          apiVersion:
    35            description: |-
    36              APIVersion defines the versioned schema of this representation of an object.
    37              Servers should convert recognized schemas to the latest internal value, and
    38              may reject unrecognized values.
    39              More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
    40            type: string
    41          kind:
    42            description: |-
    43              Kind is a string value representing the REST resource this object represents.
    44              Servers may infer this from the endpoint the client submits requests to.
    45              Cannot be updated.
    46              In CamelCase.
    47              More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
    48            type: string
    49          metadata:
    50            type: object
    51          spec:
    52            description: HelmReleaseSpec defines the desired state of a Helm release.
    53            properties:
    54              chart:
    55                description: |-
    56                  Chart defines the template of the v1.HelmChart that should be created
    57                  for this HelmRelease.
    58                properties:
    59                  metadata:
    60                    description: ObjectMeta holds the template for metadata like labels
    61                      and annotations.
    62                    properties:
    63                      annotations:
    64                        additionalProperties:
    65                          type: string
    66                        description: |-
    67                          Annotations is an unstructured key value map stored with a resource that may be
    68                          set by external tools to store and retrieve arbitrary metadata. They are not
    69                          queryable and should be preserved when modifying objects.
    70                          More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
    71                        type: object
    72                      labels:
    73                        additionalProperties:
    74                          type: string
    75                        description: |-
    76                          Map of string keys and values that can be used to organize and categorize
    77                          (scope and select) objects.
    78                          More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
    79                        type: object
    80                    type: object
    81                  spec:
    82                    description: Spec holds the template for the v1.HelmChartSpec
    83                      for this HelmRelease.
    84                    properties:
    85                      chart:
    86                        description: The name or path the Helm chart is available
    87                          at in the SourceRef.
    88                        maxLength: 2048
    89                        minLength: 1
    90                        type: string
    91                      ignoreMissingValuesFiles:
    92                        description: IgnoreMissingValuesFiles controls whether to
    93                          silently ignore missing values files rather than failing.
    94                        type: boolean
    95                      interval:
    96                        description: |-
    97                          Interval at which to check the v1.Source for updates. Defaults to
    98                          'HelmReleaseSpec.Interval'.
    99                        pattern: ^([0-9]+(\.[0-9]+)?(ms|s|m|h))+$
   100                        type: string
   101                      reconcileStrategy:
   102                        default: ChartVersion
   103                        description: |-
   104                          Determines what enables the creation of a new artifact. Valid values are
   105                          ('ChartVersion', 'Revision').
   106                          See the documentation of the values for an explanation on their behavior.
   107                          Defaults to ChartVersion when omitted.
   108                        enum:
   109                        - ChartVersion
   110                        - Revision
   111                        type: string
   112                      sourceRef:
   113                        description: The name and namespace of the v1.Source the chart
   114                          is available at.
   115                        properties:
   116                          apiVersion:
   117                            description: APIVersion of the referent.
   118                            type: string
   119                          kind:
   120                            description: Kind of the referent.
   121                            enum:
   122                            - HelmRepository
   123                            - GitRepository
   124                            - Bucket
   125                            type: string
   126                          name:
   127                            description: Name of the referent.
   128                            maxLength: 253
   129                            minLength: 1
   130                            type: string
   131                          namespace:
   132                            description: Namespace of the referent.
   133                            maxLength: 63
   134                            minLength: 1
   135                            type: string
   136                        required:
   137                        - name
   138                        type: object
   139                      valuesFiles:
   140                        description: |-
   141                          Alternative list of values files to use as the chart values (values.yaml
   142                          is not included by default), expected to be a relative path in the SourceRef.
   143                          Values files are merged in the order of this list with the last file overriding
   144                          the first. Ignored when omitted.
   145                        items:
   146                          type: string
   147                        type: array
   148                      verify:
   149                        description: |-
   150                          Verify contains the secret name containing the trusted public keys
   151                          used to verify the signature and specifies which provider to use to check
   152                          whether OCI image is authentic.
   153                          This field is only supported for OCI sources.
   154                          Chart dependencies, which are not bundled in the umbrella chart artifact,
   155                          are not verified.
   156                        properties:
   157                          provider:
   158                            default: cosign
   159                            description: Provider specifies the technology used to
   160                              sign the OCI Helm chart.
   161                            enum:
   162                            - cosign
   163                            - notation
   164                            type: string
   165                          secretRef:
   166                            description: |-
   167                              SecretRef specifies the Kubernetes Secret containing the
   168                              trusted public keys.
   169                            properties:
   170                              name:
   171                                description: Name of the referent.
   172                                type: string
   173                            required:
   174                            - name
   175                            type: object
   176                        required:
   177                        - provider
   178                        type: object
   179                      version:
   180                        default: '*'
   181                        description: |-
   182                          Version semver expression, ignored for charts from v1.GitRepository and
   183                          v1beta2.Bucket sources. Defaults to latest when omitted.
   184                        type: string
   185                    required:
   186                    - chart
   187                    - sourceRef
   188                    type: object
   189                required:
   190                - spec
   191                type: object
   192              chartRef:
   193                description: |-
   194                  ChartRef holds a reference to a source controller resource containing the
   195                  Helm chart artifact.
   196                properties:
   197                  apiVersion:
   198                    description: APIVersion of the referent.
   199                    type: string
   200                  kind:
   201                    description: Kind of the referent.
   202                    enum:
   203                    - OCIRepository
   204                    - HelmChart
   205                    type: string
   206                  name:
   207                    description: Name of the referent.
   208                    maxLength: 253
   209                    minLength: 1
   210                    type: string
   211                  namespace:
   212                    description: |-
   213                      Namespace of the referent, defaults to the namespace of the Kubernetes
   214                      resource object that contains the reference.
   215                    maxLength: 63
   216                    minLength: 1
   217                    type: string
   218                required:
   219                - kind
   220                - name
   221                type: object
   222              dependsOn:
   223                description: |-
   224                  DependsOn may contain a meta.NamespacedObjectReference slice with
   225                  references to HelmRelease resources that must be ready before this HelmRelease
   226                  can be reconciled.
   227                items:
   228                  description: |-
   229                    NamespacedObjectReference contains enough information to locate the referenced Kubernetes resource object in any
   230                    namespace.
   231                  properties:
   232                    name:
   233                      description: Name of the referent.
   234                      type: string
   235                    namespace:
   236                      description: Namespace of the referent, when not specified it
   237                        acts as LocalObjectReference.
   238                      type: string
   239                  required:
   240                  - name
   241                  type: object
   242                type: array
   243              driftDetection:
   244                description: |-
   245                  DriftDetection holds the configuration for detecting and handling
   246                  differences between the manifest in the Helm storage and the resources
   247                  currently existing in the cluster.
   248                properties:
   249                  ignore:
   250                    description: |-
   251                      Ignore contains a list of rules for specifying which changes to ignore
   252                      during diffing.
   253                    items:
   254                      description: |-
   255                        IgnoreRule defines a rule to selectively disregard specific changes during
   256                        the drift detection process.
   257                      properties:
   258                        paths:
   259                          description: |-
   260                            Paths is a list of JSON Pointer (RFC 6901) paths to be excluded from
   261                            consideration in a Kubernetes object.
   262                          items:
   263                            type: string
   264                          type: array
   265                        target:
   266                          description: |-
   267                            Target is a selector for specifying Kubernetes objects to which this
   268                            rule applies.
   269                            If Target is not set, the Paths will be ignored for all Kubernetes
   270                            objects within the manifest of the Helm release.
   271                          properties:
   272                            annotationSelector:
   273                              description: |-
   274                                AnnotationSelector is a string that follows the label selection expression
   275                                https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#api
   276                                It matches with the resource annotations.
   277                              type: string
   278                            group:
   279                              description: |-
   280                                Group is the API group to select resources from.
   281                                Together with Version and Kind it is capable of unambiguously identifying and/or selecting resources.
   282                                https://github.com/kubernetes/community/blob/master/contributors/design-proposals/api-machinery/api-group.md
   283                              type: string
   284                            kind:
   285                              description: |-
   286                                Kind of the API Group to select resources from.
   287                                Together with Group and Version it is capable of unambiguously
   288                                identifying and/or selecting resources.
   289                                https://github.com/kubernetes/community/blob/master/contributors/design-proposals/api-machinery/api-group.md
   290                              type: string
   291                            labelSelector:
   292                              description: |-
   293                                LabelSelector is a string that follows the label selection expression
   294                                https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#api
   295                                It matches with the resource labels.
   296                              type: string
   297                            name:
   298                              description: Name to match resources with.
   299                              type: string
   300                            namespace:
   301                              description: Namespace to select resources from.
   302                              type: string
   303                            version:
   304                              description: |-
   305                                Version of the API Group to select resources from.
   306                                Together with Group and Kind it is capable of unambiguously identifying and/or selecting resources.
   307                                https://github.com/kubernetes/community/blob/master/contributors/design-proposals/api-machinery/api-group.md
   308                              type: string
   309                          type: object
   310                      required:
   311                      - paths
   312                      type: object
   313                    type: array
   314                  mode:
   315                    description: |-
   316                      Mode defines how differences should be handled between the Helm manifest
   317                      and the manifest currently applied to the cluster.
   318                      If not explicitly set, it defaults to DiffModeDisabled.
   319                    enum:
   320                    - enabled
   321                    - warn
   322                    - disabled
   323                    type: string
   324                type: object
   325              install:
   326                description: Install holds the configuration for Helm install actions
   327                  for this HelmRelease.
   328                properties:
   329                  crds:
   330                    description: |-
   331                      CRDs upgrade CRDs from the Helm Chart's crds directory according
   332                      to the CRD upgrade policy provided here. Valid values are `Skip`,
   333                      `Create` or `CreateReplace`. Default is `Create` and if omitted
   334                      CRDs are installed but not updated.
   335
   336
   337                      Skip: do neither install nor replace (update) any CRDs.
   338
   339
   340                      Create: new CRDs are created, existing CRDs are neither updated nor deleted.
   341
   342
   343                      CreateReplace: new CRDs are created, existing CRDs are updated (replaced)
   344                      but not deleted.
   345
   346
   347                      By default, CRDs are applied (installed) during Helm install action.
   348                      With this option users can opt in to CRD replace existing CRDs on Helm
   349                      install actions, which is not (yet) natively supported by Helm.
   350                      https://helm.sh/docs/chart_best_practices/custom_resource_definitions.
   351                    enum:
   352                    - Skip
   353                    - Create
   354                    - CreateReplace
   355                    type: string
   356                  createNamespace:
   357                    description: |-
   358                      CreateNamespace tells the Helm install action to create the
   359                      HelmReleaseSpec.TargetNamespace if it does not exist yet.
   360                      On uninstall, the namespace will not be garbage collected.
   361                    type: boolean
   362                  disableHooks:
   363                    description: DisableHooks prevents hooks from running during the
   364                      Helm install action.
   365                    type: boolean
   366                  disableOpenAPIValidation:
   367                    description: |-
   368                      DisableOpenAPIValidation prevents the Helm install action from validating
   369                      rendered templates against the Kubernetes OpenAPI Schema.
   370                    type: boolean
   371                  disableSchemaValidation:
   372                    description: |-
   373                      DisableSchemaValidation prevents the Helm install action from validating
   374                      the values against the JSON Schema.
   375                    type: boolean
   376                  disableWait:
   377                    description: |-
   378                      DisableWait disables the waiting for resources to be ready after a Helm
   379                      install has been performed.
   380                    type: boolean
   381                  disableWaitForJobs:
   382                    description: |-
   383                      DisableWaitForJobs disables waiting for jobs to complete after a Helm
   384                      install has been performed.
   385                    type: boolean
   386                  remediation:
   387                    description: |-
   388                      Remediation holds the remediation configuration for when the Helm install
   389                      action for the HelmRelease fails. The default is to not perform any action.
   390                    properties:
   391                      ignoreTestFailures:
   392                        description: |-
   393                          IgnoreTestFailures tells the controller to skip remediation when the Helm
   394                          tests are run after an install action but fail. Defaults to
   395                          'Test.IgnoreFailures'.
   396                        type: boolean
   397                      remediateLastFailure:
   398                        description: |-
   399                          RemediateLastFailure tells the controller to remediate the last failure, when
   400                          no retries remain. Defaults to 'false'.
   401                        type: boolean
   402                      retries:
   403                        description: |-
   404                          Retries is the number of retries that should be attempted on failures before
   405                          bailing. Remediation, using an uninstall, is performed between each attempt.
   406                          Defaults to '0', a negative integer equals to unlimited retries.
   407                        type: integer
   408                    type: object
   409                  replace:
   410                    description: |-
   411                      Replace tells the Helm install action to re-use the 'ReleaseName', but only
   412                      if that name is a deleted release which remains in the history.
   413                    type: boolean
   414                  skipCRDs:
   415                    description: |-
   416                      SkipCRDs tells the Helm install action to not install any CRDs. By default,
   417                      CRDs are installed if not already present.
   418
   419
   420                      Deprecated use CRD policy (`crds`) attribute with value `Skip` instead.
   421                    type: boolean
   422                  timeout:
   423                    description: |-
   424                      Timeout is the time to wait for any individual Kubernetes operation (like
   425                      Jobs for hooks) during the performance of a Helm install action. Defaults to
   426                      'HelmReleaseSpec.Timeout'.
   427                    pattern: ^([0-9]+(\.[0-9]+)?(ms|s|m|h))+$
   428                    type: string
   429                type: object
   430              interval:
   431                description: Interval at which to reconcile the Helm release.
   432                pattern: ^([0-9]+(\.[0-9]+)?(ms|s|m|h))+$
   433                type: string
   434              kubeConfig:
   435                description: |-
   436                  KubeConfig for reconciling the HelmRelease on a remote cluster.
   437                  When used in combination with HelmReleaseSpec.ServiceAccountName,
   438                  forces the controller to act on behalf of that Service Account at the
   439                  target cluster.
   440                  If the --default-service-account flag is set, its value will be used as
   441                  a controller level fallback for when HelmReleaseSpec.ServiceAccountName
   442                  is empty.
   443                properties:
   444                  secretRef:
   445                    description: |-
   446                      SecretRef holds the name of a secret that contains a key with
   447                      the kubeconfig file as the value. If no key is set, the key will default
   448                      to 'value'.
   449                      It is recommended that the kubeconfig is self-contained, and the secret
   450                      is regularly updated if credentials such as a cloud-access-token expire.
   451                      Cloud specific `cmd-path` auth helpers will not function without adding
   452                      binaries and credentials to the Pod that is responsible for reconciling
   453                      Kubernetes resources.
   454                    properties:
   455                      key:
   456                        description: Key in the Secret, when not specified an implementation-specific
   457                          default key is used.
   458                        type: string
   459                      name:
   460                        description: Name of the Secret.
   461                        type: string
   462                    required:
   463                    - name
   464                    type: object
   465                required:
   466                - secretRef
   467                type: object
   468              maxHistory:
   469                description: |-
   470                  MaxHistory is the number of revisions saved by Helm for this HelmRelease.
   471                  Use '0' for an unlimited number of revisions; defaults to '5'.
   472                type: integer
   473              persistentClient:
   474                description: |-
   475                  PersistentClient tells the controller to use a persistent Kubernetes
   476                  client for this release. When enabled, the client will be reused for the
   477                  duration of the reconciliation, instead of being created and destroyed
   478                  for each (step of a) Helm action.
   479
   480
   481                  This can improve performance, but may cause issues with some Helm charts
   482                  that for example do create Custom Resource Definitions during installation
   483                  outside Helm's CRD lifecycle hooks, which are then not observed to be
   484                  available by e.g. post-install hooks.
   485
   486
   487                  If not set, it defaults to true.
   488                type: boolean
   489              postRenderers:
   490                description: |-
   491                  PostRenderers holds an array of Helm PostRenderers, which will be applied in order
   492                  of their definition.
   493                items:
   494                  description: PostRenderer contains a Helm PostRenderer specification.
   495                  properties:
   496                    kustomize:
   497                      description: Kustomization to apply as PostRenderer.
   498                      properties:
   499                        images:
   500                          description: |-
   501                            Images is a list of (image name, new name, new tag or digest)
   502                            for changing image names, tags or digests. This can also be achieved with a
   503                            patch, but this operator is simpler to specify.
   504                          items:
   505                            description: Image contains an image name, a new name,
   506                              a new tag or digest, which will replace the original
   507                              name and tag.
   508                            properties:
   509                              digest:
   510                                description: |-
   511                                  Digest is the value used to replace the original image tag.
   512                                  If digest is present NewTag value is ignored.
   513                                type: string
   514                              name:
   515                                description: Name is a tag-less image name.
   516                                type: string
   517                              newName:
   518                                description: NewName is the value used to replace
   519                                  the original name.
   520                                type: string
   521                              newTag:
   522                                description: NewTag is the value used to replace the
   523                                  original tag.
   524                                type: string
   525                            required:
   526                            - name
   527                            type: object
   528                          type: array
   529                        patches:
   530                          description: |-
   531                            Strategic merge and JSON patches, defined as inline YAML objects,
   532                            capable of targeting objects based on kind, label and annotation selectors.
   533                          items:
   534                            description: |-
   535                              Patch contains an inline StrategicMerge or JSON6902 patch, and the target the patch should
   536                              be applied to.
   537                            properties:
   538                              patch:
   539                                description: |-
   540                                  Patch contains an inline StrategicMerge patch or an inline JSON6902 patch with
   541                                  an array of operation objects.
   542                                type: string
   543                              target:
   544                                description: Target points to the resources that the
   545                                  patch document should be applied to.
   546                                properties:
   547                                  annotationSelector:
   548                                    description: |-
   549                                      AnnotationSelector is a string that follows the label selection expression
   550                                      https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#api
   551                                      It matches with the resource annotations.
   552                                    type: string
   553                                  group:
   554                                    description: |-
   555                                      Group is the API group to select resources from.
   556                                      Together with Version and Kind it is capable of unambiguously identifying and/or selecting resources.
   557                                      https://github.com/kubernetes/community/blob/master/contributors/design-proposals/api-machinery/api-group.md
   558                                    type: string
   559                                  kind:
   560                                    description: |-
   561                                      Kind of the API Group to select resources from.
   562                                      Together with Group and Version it is capable of unambiguously
   563                                      identifying and/or selecting resources.
   564                                      https://github.com/kubernetes/community/blob/master/contributors/design-proposals/api-machinery/api-group.md
   565                                    type: string
   566                                  labelSelector:
   567                                    description: |-
   568                                      LabelSelector is a string that follows the label selection expression
   569                                      https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#api
   570                                      It matches with the resource labels.
   571                                    type: string
   572                                  name:
   573                                    description: Name to match resources with.
   574                                    type: string
   575                                  namespace:
   576                                    description: Namespace to select resources from.
   577                                    type: string
   578                                  version:
   579                                    description: |-
   580                                      Version of the API Group to select resources from.
   581                                      Together with Group and Kind it is capable of unambiguously identifying and/or selecting resources.
   582                                      https://github.com/kubernetes/community/blob/master/contributors/design-proposals/api-machinery/api-group.md
   583                                    type: string
   584                                type: object
   585                            required:
   586                            - patch
   587                            type: object
   588                          type: array
   589                      type: object
   590                  type: object
   591                type: array
   592              releaseName:
   593                description: |-
   594                  ReleaseName used for the Helm release. Defaults to a composition of
   595                  '[TargetNamespace-]Name'.
   596                maxLength: 53
   597                minLength: 1
   598                type: string
   599              rollback:
   600                description: Rollback holds the configuration for Helm rollback actions
   601                  for this HelmRelease.
   602                properties:
   603                  cleanupOnFail:
   604                    description: |-
   605                      CleanupOnFail allows deletion of new resources created during the Helm
   606                      rollback action when it fails.
   607                    type: boolean
   608                  disableHooks:
   609                    description: DisableHooks prevents hooks from running during the
   610                      Helm rollback action.
   611                    type: boolean
   612                  disableWait:
   613                    description: |-
   614                      DisableWait disables the waiting for resources to be ready after a Helm
   615                      rollback has been performed.
   616                    type: boolean
   617                  disableWaitForJobs:
   618                    description: |-
   619                      DisableWaitForJobs disables waiting for jobs to complete after a Helm
   620                      rollback has been performed.
   621                    type: boolean
   622                  force:
   623                    description: Force forces resource updates through a replacement
   624                      strategy.
   625                    type: boolean
   626                  recreate:
   627                    description: Recreate performs pod restarts for the resource if
   628                      applicable.
   629                    type: boolean
   630                  timeout:
   631                    description: |-
   632                      Timeout is the time to wait for any individual Kubernetes operation (like
   633                      Jobs for hooks) during the performance of a Helm rollback action. Defaults to
   634                      'HelmReleaseSpec.Timeout'.
   635                    pattern: ^([0-9]+(\.[0-9]+)?(ms|s|m|h))+$
   636                    type: string
   637                type: object
   638              serviceAccountName:
   639                description: |-
   640                  The name of the Kubernetes service account to impersonate
   641                  when reconciling this HelmRelease.
   642                maxLength: 253
   643                minLength: 1
   644                type: string
   645              storageNamespace:
   646                description: |-
   647                  StorageNamespace used for the Helm storage.
   648                  Defaults to the namespace of the HelmRelease.
   649                maxLength: 63
   650                minLength: 1
   651                type: string
   652              suspend:
   653                description: |-
   654                  Suspend tells the controller to suspend reconciliation for this HelmRelease,
   655                  it does not apply to already started reconciliations. Defaults to false.
   656                type: boolean
   657              targetNamespace:
   658                description: |-
   659                  TargetNamespace to target when performing operations for the HelmRelease.
   660                  Defaults to the namespace of the HelmRelease.
   661                maxLength: 63
   662                minLength: 1
   663                type: string
   664              test:
   665                description: Test holds the configuration for Helm test actions for
   666                  this HelmRelease.
   667                properties:
   668                  enable:
   669                    description: |-
   670                      Enable enables Helm test actions for this HelmRelease after an Helm install
   671                      or upgrade action has been performed.
   672                    type: boolean
   673                  filters:
   674                    description: Filters is a list of tests to run or exclude from
   675                      running.
   676                    items:
   677                      description: Filter holds the configuration for individual Helm
   678                        test filters.
   679                      properties:
   680                        exclude:
   681                          description: Exclude specifies whether the named test should
   682                            be excluded.
   683                          type: boolean
   684                        name:
   685                          description: Name is the name of the test.
   686                          maxLength: 253
   687                          minLength: 1
   688                          type: string
   689                      required:
   690                      - name
   691                      type: object
   692                    type: array
   693                  ignoreFailures:
   694                    description: |-
   695                      IgnoreFailures tells the controller to skip remediation when the Helm tests
   696                      are run but fail. Can be overwritten for tests run after install or upgrade
   697                      actions in 'Install.IgnoreTestFailures' and 'Upgrade.IgnoreTestFailures'.
   698                    type: boolean
   699                  timeout:
   700                    description: |-
   701                      Timeout is the time to wait for any individual Kubernetes operation during
   702                      the performance of a Helm test action. Defaults to 'HelmReleaseSpec.Timeout'.
   703                    pattern: ^([0-9]+(\.[0-9]+)?(ms|s|m|h))+$
   704                    type: string
   705                type: object
   706              timeout:
   707                description: |-
   708                  Timeout is the time to wait for any individual Kubernetes operation (like Jobs
   709                  for hooks) during the performance of a Helm action. Defaults to '5m0s'.
   710                pattern: ^([0-9]+(\.[0-9]+)?(ms|s|m|h))+$
   711                type: string
   712              uninstall:
   713                description: Uninstall holds the configuration for Helm uninstall
   714                  actions for this HelmRelease.
   715                properties:
   716                  deletionPropagation:
   717                    default: background
   718                    description: |-
   719                      DeletionPropagation specifies the deletion propagation policy when
   720                      a Helm uninstall is performed.
   721                    enum:
   722                    - background
   723                    - foreground
   724                    - orphan
   725                    type: string
   726                  disableHooks:
   727                    description: DisableHooks prevents hooks from running during the
   728                      Helm rollback action.
   729                    type: boolean
   730                  disableWait:
   731                    description: |-
   732                      DisableWait disables waiting for all the resources to be deleted after
   733                      a Helm uninstall is performed.
   734                    type: boolean
   735                  keepHistory:
   736                    description: |-
   737                      KeepHistory tells Helm to remove all associated resources and mark the
   738                      release as deleted, but retain the release history.
   739                    type: boolean
   740                  timeout:
   741                    description: |-
   742                      Timeout is the time to wait for any individual Kubernetes operation (like
   743                      Jobs for hooks) during the performance of a Helm uninstall action. Defaults
   744                      to 'HelmReleaseSpec.Timeout'.
   745                    pattern: ^([0-9]+(\.[0-9]+)?(ms|s|m|h))+$
   746                    type: string
   747                type: object
   748              upgrade:
   749                description: Upgrade holds the configuration for Helm upgrade actions
   750                  for this HelmRelease.
   751                properties:
   752                  cleanupOnFail:
   753                    description: |-
   754                      CleanupOnFail allows deletion of new resources created during the Helm
   755                      upgrade action when it fails.
   756                    type: boolean
   757                  crds:
   758                    description: |-
   759                      CRDs upgrade CRDs from the Helm Chart's crds directory according
   760                      to the CRD upgrade policy provided here. Valid values are `Skip`,
   761                      `Create` or `CreateReplace`. Default is `Skip` and if omitted
   762                      CRDs are neither installed nor upgraded.
   763
   764
   765                      Skip: do neither install nor replace (update) any CRDs.
   766
   767
   768                      Create: new CRDs are created, existing CRDs are neither updated nor deleted.
   769
   770
   771                      CreateReplace: new CRDs are created, existing CRDs are updated (replaced)
   772                      but not deleted.
   773
   774
   775                      By default, CRDs are not applied during Helm upgrade action. With this
   776                      option users can opt-in to CRD upgrade, which is not (yet) natively supported by Helm.
   777                      https://helm.sh/docs/chart_best_practices/custom_resource_definitions.
   778                    enum:
   779                    - Skip
   780                    - Create
   781                    - CreateReplace
   782                    type: string
   783                  disableHooks:
   784                    description: DisableHooks prevents hooks from running during the
   785                      Helm upgrade action.
   786                    type: boolean
   787                  disableOpenAPIValidation:
   788                    description: |-
   789                      DisableOpenAPIValidation prevents the Helm upgrade action from validating
   790                      rendered templates against the Kubernetes OpenAPI Schema.
   791                    type: boolean
   792                  disableSchemaValidation:
   793                    description: |-
   794                      DisableSchemaValidation prevents the Helm upgrade action from validating
   795                      the values against the JSON Schema.
   796                    type: boolean
   797                  disableWait:
   798                    description: |-
   799                      DisableWait disables the waiting for resources to be ready after a Helm
   800                      upgrade has been performed.
   801                    type: boolean
   802                  disableWaitForJobs:
   803                    description: |-
   804                      DisableWaitForJobs disables waiting for jobs to complete after a Helm
   805                      upgrade has been performed.
   806                    type: boolean
   807                  force:
   808                    description: Force forces resource updates through a replacement
   809                      strategy.
   810                    type: boolean
   811                  preserveValues:
   812                    description: |-
   813                      PreserveValues will make Helm reuse the last release's values and merge in
   814                      overrides from 'Values'. Setting this flag makes the HelmRelease
   815                      non-declarative.
   816                    type: boolean
   817                  remediation:
   818                    description: |-
   819                      Remediation holds the remediation configuration for when the Helm upgrade
   820                      action for the HelmRelease fails. The default is to not perform any action.
   821                    properties:
   822                      ignoreTestFailures:
   823                        description: |-
   824                          IgnoreTestFailures tells the controller to skip remediation when the Helm
   825                          tests are run after an upgrade action but fail.
   826                          Defaults to 'Test.IgnoreFailures'.
   827                        type: boolean
   828                      remediateLastFailure:
   829                        description: |-
   830                          RemediateLastFailure tells the controller to remediate the last failure, when
   831                          no retries remain. Defaults to 'false' unless 'Retries' is greater than 0.
   832                        type: boolean
   833                      retries:
   834                        description: |-
   835                          Retries is the number of retries that should be attempted on failures before
   836                          bailing. Remediation, using 'Strategy', is performed between each attempt.
   837                          Defaults to '0', a negative integer equals to unlimited retries.
   838                        type: integer
   839                      strategy:
   840                        description: Strategy to use for failure remediation. Defaults
   841                          to 'rollback'.
   842                        enum:
   843                        - rollback
   844                        - uninstall
   845                        type: string
   846                    type: object
   847                  timeout:
   848                    description: |-
   849                      Timeout is the time to wait for any individual Kubernetes operation (like
   850                      Jobs for hooks) during the performance of a Helm upgrade action. Defaults to
   851                      'HelmReleaseSpec.Timeout'.
   852                    pattern: ^([0-9]+(\.[0-9]+)?(ms|s|m|h))+$
   853                    type: string
   854                type: object
   855              values:
   856                description: Values holds the values for this Helm release.
   857                x-kubernetes-preserve-unknown-fields: true
   858              valuesFrom:
   859                description: |-
   860                  ValuesFrom holds references to resources containing Helm values for this HelmRelease,
   861                  and information about how they should be merged.
   862                items:
   863                  description: |-
   864                    ValuesReference contains a reference to a resource containing Helm values,
   865                    and optionally the key they can be found at.
   866                  properties:
   867                    kind:
   868                      description: Kind of the values referent, valid values are ('Secret',
   869                        'ConfigMap').
   870                      enum:
   871                      - Secret
   872                      - ConfigMap
   873                      type: string
   874                    name:
   875                      description: |-
   876                        Name of the values referent. Should reside in the same namespace as the
   877                        referring resource.
   878                      maxLength: 253
   879                      minLength: 1
   880                      type: string
   881                    optional:
   882                      description: |-
   883                        Optional marks this ValuesReference as optional. When set, a not found error
   884                        for the values reference is ignored, but any ValuesKey, TargetPath or
   885                        transient error will still result in a reconciliation failure.
   886                      type: boolean
   887                    targetPath:
   888                      description: |-
   889                        TargetPath is the YAML dot notation path the value should be merged at. When
   890                        set, the ValuesKey is expected to be a single flat value. Defaults to 'None',
   891                        which results in the values getting merged at the root.
   892                      maxLength: 250
   893                      pattern: ^([a-zA-Z0-9_\-.\\\/]|\[[0-9]{1,5}\])+$
   894                      type: string
   895                    valuesKey:
   896                      description: |-
   897                        ValuesKey is the data key where the values.yaml or a specific value can be
   898                        found at. Defaults to 'values.yaml'.
   899                      maxLength: 253
   900                      pattern: ^[\-._a-zA-Z0-9]+$
   901                      type: string
   902                  required:
   903                  - kind
   904                  - name
   905                  type: object
   906                type: array
   907            required:
   908            - interval
   909            type: object
   910            x-kubernetes-validations:
   911            - message: either chart or chartRef must be set
   912              rule: (has(self.chart) && !has(self.chartRef)) || (!has(self.chart)
   913                && has(self.chartRef))
   914          status:
   915            default:
   916              observedGeneration: -1
   917            description: HelmReleaseStatus defines the observed state of a HelmRelease.
   918            properties:
   919              conditions:
   920                description: Conditions holds the conditions for the HelmRelease.
   921                items:
   922                  description: "Condition contains details for one aspect of the current
   923                    state of this API Resource.\n---\nThis struct is intended for
   924                    direct use as an array at the field path .status.conditions.  For
   925                    example,\n\n\n\ttype FooStatus struct{\n\t    // Represents the
   926                    observations of a foo's current state.\n\t    // Known .status.conditions.type
   927                    are: \"Available\", \"Progressing\", and \"Degraded\"\n\t    //
   928                    +patchMergeKey=type\n\t    // +patchStrategy=merge\n\t    // +listType=map\n\t
   929                    \   // +listMapKey=type\n\t    Conditions []metav1.Condition `json:\"conditions,omitempty\"
   930                    patchStrategy:\"merge\" patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"`\n\n\n\t
   931                    \   // other fields\n\t}"
   932                  properties:
   933                    lastTransitionTime:
   934                      description: |-
   935                        lastTransitionTime is the last time the condition transitioned from one status to another.
   936                        This should be when the underlying condition changed.  If that is not known, then using the time when the API field changed is acceptable.
   937                      format: date-time
   938                      type: string
   939                    message:
   940                      description: |-
   941                        message is a human readable message indicating details about the transition.
   942                        This may be an empty string.
   943                      maxLength: 32768
   944                      type: string
   945                    observedGeneration:
   946                      description: |-
   947                        observedGeneration represents the .metadata.generation that the condition was set based upon.
   948                        For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date
   949                        with respect to the current state of the instance.
   950                      format: int64
   951                      minimum: 0
   952                      type: integer
   953                    reason:
   954                      description: |-
   955                        reason contains a programmatic identifier indicating the reason for the condition's last transition.
   956                        Producers of specific condition types may define expected values and meanings for this field,
   957                        and whether the values are considered a guaranteed API.
   958                        The value should be a CamelCase string.
   959                        This field may not be empty.
   960                      maxLength: 1024
   961                      minLength: 1
   962                      pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$
   963                      type: string
   964                    status:
   965                      description: status of the condition, one of True, False, Unknown.
   966                      enum:
   967                      - "True"
   968                      - "False"
   969                      - Unknown
   970                      type: string
   971                    type:
   972                      description: |-
   973                        type of condition in CamelCase or in foo.example.com/CamelCase.
   974                        ---
   975                        Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be
   976                        useful (see .node.status.conditions), the ability to deconflict is important.
   977                        The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt)
   978                      maxLength: 316
   979                      pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$
   980                      type: string
   981                  required:
   982                  - lastTransitionTime
   983                  - message
   984                  - reason
   985                  - status
   986                  - type
   987                  type: object
   988                type: array
   989              failures:
   990                description: |-
   991                  Failures is the reconciliation failure count against the latest desired
   992                  state. It is reset after a successful reconciliation.
   993                format: int64
   994                type: integer
   995              helmChart:
   996                description: |-
   997                  HelmChart is the namespaced name of the HelmChart resource created by
   998                  the controller for the HelmRelease.
   999                type: string
  1000              history:
  1001                description: |-
  1002                  History holds the history of Helm releases performed for this HelmRelease
  1003                  up to the last successfully completed release.
  1004                items:
  1005                  description: |-
  1006                    Snapshot captures a point-in-time copy of the status information for a Helm release,
  1007                    as managed by the controller.
  1008                  properties:
  1009                    apiVersion:
  1010                      description: |-
  1011                        APIVersion is the API version of the Snapshot.
  1012                        Provisional: when the calculation method of the Digest field is changed,
  1013                        this field will be used to distinguish between the old and new methods.
  1014                      type: string
  1015                    appVersion:
  1016                      description: AppVersion is the chart app version of the release
  1017                        object in storage.
  1018                      type: string
  1019                    chartName:
  1020                      description: ChartName is the chart name of the release object
  1021                        in storage.
  1022                      type: string
  1023                    chartVersion:
  1024                      description: |-
  1025                        ChartVersion is the chart version of the release object in
  1026                        storage.
  1027                      type: string
  1028                    configDigest:
  1029                      description: |-
  1030                        ConfigDigest is the checksum of the config (better known as
  1031                        "values") of the release object in storage.
  1032                        It has the format of `<algo>:<checksum>`.
  1033                      type: string
  1034                    deleted:
  1035                      description: Deleted is when the release was deleted.
  1036                      format: date-time
  1037                      type: string
  1038                    digest:
  1039                      description: |-
  1040                        Digest is the checksum of the release object in storage.
  1041                        It has the format of `<algo>:<checksum>`.
  1042                      type: string
  1043                    firstDeployed:
  1044                      description: FirstDeployed is when the release was first deployed.
  1045                      format: date-time
  1046                      type: string
  1047                    lastDeployed:
  1048                      description: LastDeployed is when the release was last deployed.
  1049                      format: date-time
  1050                      type: string
  1051                    name:
  1052                      description: Name is the name of the release.
  1053                      type: string
  1054                    namespace:
  1055                      description: Namespace is the namespace the release is deployed
  1056                        to.
  1057                      type: string
  1058                    ociDigest:
  1059                      description: OCIDigest is the digest of the OCI artifact associated
  1060                        with the release.
  1061                      type: string
  1062                    status:
  1063                      description: Status is the current state of the release.
  1064                      type: string
  1065                    testHooks:
  1066                      additionalProperties:
  1067                        description: |-
  1068                          TestHookStatus holds the status information for a test hook as observed
  1069                          to be run by the controller.
  1070                        properties:
  1071                          lastCompleted:
  1072                            description: LastCompleted is the time the test hook last
  1073                              completed.
  1074                            format: date-time
  1075                            type: string
  1076                          lastStarted:
  1077                            description: LastStarted is the time the test hook was
  1078                              last started.
  1079                            format: date-time
  1080                            type: string
  1081                          phase:
  1082                            description: Phase the test hook was observed to be in.
  1083                            type: string
  1084                        type: object
  1085                      description: |-
  1086                        TestHooks is the list of test hooks for the release as observed to be
  1087                        run by the controller.
  1088                      type: object
  1089                    version:
  1090                      description: Version is the version of the release object in
  1091                        storage.
  1092                      type: integer
  1093                  required:
  1094                  - chartName
  1095                  - chartVersion
  1096                  - configDigest
  1097                  - digest
  1098                  - firstDeployed
  1099                  - lastDeployed
  1100                  - name
  1101                  - namespace
  1102                  - status
  1103                  - version
  1104                  type: object
  1105                type: array
  1106              installFailures:
  1107                description: |-
  1108                  InstallFailures is the install failure count against the latest desired
  1109                  state. It is reset after a successful reconciliation.
  1110                format: int64
  1111                type: integer
  1112              lastAttemptedConfigDigest:
  1113                description: |-
  1114                  LastAttemptedConfigDigest is the digest for the config (better known as
  1115                  "values") of the last reconciliation attempt.
  1116                type: string
  1117              lastAttemptedGeneration:
  1118                description: |-
  1119                  LastAttemptedGeneration is the last generation the controller attempted
  1120                  to reconcile.
  1121                format: int64
  1122                type: integer
  1123              lastAttemptedReleaseAction:
  1124                description: |-
  1125                  LastAttemptedReleaseAction is the last release action performed for this
  1126                  HelmRelease. It is used to determine the active remediation strategy.
  1127                enum:
  1128                - install
  1129                - upgrade
  1130                type: string
  1131              lastAttemptedRevision:
  1132                description: |-
  1133                  LastAttemptedRevision is the Source revision of the last reconciliation
  1134                  attempt. For OCIRepository  sources, the 12 first characters of the digest are
  1135                  appended to the chart version e.g. "1.2.3+1234567890ab".
  1136                type: string
  1137              lastAttemptedRevisionDigest:
  1138                description: |-
  1139                  LastAttemptedRevisionDigest is the digest of the last reconciliation attempt.
  1140                  This is only set for OCIRepository sources.
  1141                type: string
  1142              lastAttemptedValuesChecksum:
  1143                description: |-
  1144                  LastAttemptedValuesChecksum is the SHA1 checksum for the values of the last
  1145                  reconciliation attempt.
  1146                  Deprecated: Use LastAttemptedConfigDigest instead.
  1147                type: string
  1148              lastHandledForceAt:
  1149                description: |-
  1150                  LastHandledForceAt holds the value of the most recent force request
  1151                  value, so a change of the annotation value can be detected.
  1152                type: string
  1153              lastHandledReconcileAt:
  1154                description: |-
  1155                  LastHandledReconcileAt holds the value of the most recent
  1156                  reconcile request value, so a change of the annotation value
  1157                  can be detected.
  1158                type: string
  1159              lastHandledResetAt:
  1160                description: |-
  1161                  LastHandledResetAt holds the value of the most recent reset request
  1162                  value, so a change of the annotation value can be detected.
  1163                type: string
  1164              lastReleaseRevision:
  1165                description: |-
  1166                  LastReleaseRevision is the revision of the last successful Helm release.
  1167                  Deprecated: Use History instead.
  1168                type: integer
  1169              observedGeneration:
  1170                description: ObservedGeneration is the last observed generation.
  1171                format: int64
  1172                type: integer
  1173              observedPostRenderersDigest:
  1174                description: |-
  1175                  ObservedPostRenderersDigest is the digest for the post-renderers of
  1176                  the last successful reconciliation attempt.
  1177                type: string
  1178              storageNamespace:
  1179                description: |-
  1180                  StorageNamespace is the namespace of the Helm release storage for the
  1181                  current release.
  1182                maxLength: 63
  1183                minLength: 1
  1184                type: string
  1185              upgradeFailures:
  1186                description: |-
  1187                  UpgradeFailures is the upgrade failure count against the latest desired
  1188                  state. It is reset after a successful reconciliation.
  1189                format: int64
  1190                type: integer
  1191            type: object
  1192        type: object
  1193    served: true
  1194    storage: true
  1195    subresources:
  1196      status: {}
  1197  - additionalPrinterColumns:
  1198    - jsonPath: .metadata.creationTimestamp
  1199      name: Age
  1200      type: date
  1201    - jsonPath: .status.conditions[?(@.type=="Ready")].status
  1202      name: Ready
  1203      type: string
  1204    - jsonPath: .status.conditions[?(@.type=="Ready")].message
  1205      name: Status
  1206      type: string
  1207    deprecated: true
  1208    deprecationWarning: v2beta1 HelmRelease is deprecated, upgrade to v2
  1209    name: v2beta1
  1210    schema:
  1211      openAPIV3Schema:
  1212        description: HelmRelease is the Schema for the helmreleases API
  1213        properties:
  1214          apiVersion:
  1215            description: |-
  1216              APIVersion defines the versioned schema of this representation of an object.
  1217              Servers should convert recognized schemas to the latest internal value, and
  1218              may reject unrecognized values.
  1219              More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
  1220            type: string
  1221          kind:
  1222            description: |-
  1223              Kind is a string value representing the REST resource this object represents.
  1224              Servers may infer this from the endpoint the client submits requests to.
  1225              Cannot be updated.
  1226              In CamelCase.
  1227              More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
  1228            type: string
  1229          metadata:
  1230            type: object
  1231          spec:
  1232            description: HelmReleaseSpec defines the desired state of a Helm release.
  1233            properties:
  1234              chart:
  1235                description: |-
  1236                  Chart defines the template of the v1beta2.HelmChart that should be created
  1237                  for this HelmRelease.
  1238                properties:
  1239                  metadata:
  1240                    description: ObjectMeta holds the template for metadata like labels
  1241                      and annotations.
  1242                    properties:
  1243                      annotations:
  1244                        additionalProperties:
  1245                          type: string
  1246                        description: |-
  1247                          Annotations is an unstructured key value map stored with a resource that may be
  1248                          set by external tools to store and retrieve arbitrary metadata. They are not
  1249                          queryable and should be preserved when modifying objects.
  1250                          More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
  1251                        type: object
  1252                      labels:
  1253                        additionalProperties:
  1254                          type: string
  1255                        description: |-
  1256                          Map of string keys and values that can be used to organize and categorize
  1257                          (scope and select) objects.
  1258                          More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
  1259                        type: object
  1260                    type: object
  1261                  spec:
  1262                    description: Spec holds the template for the v1beta2.HelmChartSpec
  1263                      for this HelmRelease.
  1264                    properties:
  1265                      chart:
  1266                        description: The name or path the Helm chart is available
  1267                          at in the SourceRef.
  1268                        type: string
  1269                      interval:
  1270                        description: |-
  1271                          Interval at which to check the v1beta2.Source for updates. Defaults to
  1272                          'HelmReleaseSpec.Interval'.
  1273                        pattern: ^([0-9]+(\.[0-9]+)?(ms|s|m|h))+$
  1274                        type: string
  1275                      reconcileStrategy:
  1276                        default: ChartVersion
  1277                        description: |-
  1278                          Determines what enables the creation of a new artifact. Valid values are
  1279                          ('ChartVersion', 'Revision').
  1280                          See the documentation of the values for an explanation on their behavior.
  1281                          Defaults to ChartVersion when omitted.
  1282                        enum:
  1283                        - ChartVersion
  1284                        - Revision
  1285                        type: string
  1286                      sourceRef:
  1287                        description: The name and namespace of the v1beta2.Source
  1288                          the chart is available at.
  1289                        properties:
  1290                          apiVersion:
  1291                            description: APIVersion of the referent.
  1292                            type: string
  1293                          kind:
  1294                            description: Kind of the referent.
  1295                            enum:
  1296                            - HelmRepository
  1297                            - GitRepository
  1298                            - Bucket
  1299                            type: string
  1300                          name:
  1301                            description: Name of the referent.
  1302                            maxLength: 253
  1303                            minLength: 1
  1304                            type: string
  1305                          namespace:
  1306                            description: Namespace of the referent.
  1307                            maxLength: 63
  1308                            minLength: 1
  1309                            type: string
  1310                        required:
  1311                        - name
  1312                        type: object
  1313                      valuesFile:
  1314                        description: |-
  1315                          Alternative values file to use as the default chart values, expected to
  1316                          be a relative path in the SourceRef. Deprecated in favor of ValuesFiles,
  1317                          for backwards compatibility the file defined here is merged before the
  1318                          ValuesFiles items. Ignored when omitted.
  1319                        type: string
  1320                      valuesFiles:
  1321                        description: |-
  1322                          Alternative list of values files to use as the chart values (values.yaml
  1323                          is not included by default), expected to be a relative path in the SourceRef.
  1324                          Values files are merged in the order of this list with the last file overriding
  1325                          the first. Ignored when omitted.
  1326                        items:
  1327                          type: string
  1328                        type: array
  1329                      verify:
  1330                        description: |-
  1331                          Verify contains the secret name containing the trusted public keys
  1332                          used to verify the signature and specifies which provider to use to check
  1333                          whether OCI image is authentic.
  1334                          This field is only supported for OCI sources.
  1335                          Chart dependencies, which are not bundled in the umbrella chart artifact, are not verified.
  1336                        properties:
  1337                          provider:
  1338                            default: cosign
  1339                            description: Provider specifies the technology used to
  1340                              sign the OCI Helm chart.
  1341                            enum:
  1342                            - cosign
  1343                            type: string
  1344                          secretRef:
  1345                            description: |-
  1346                              SecretRef specifies the Kubernetes Secret containing the
  1347                              trusted public keys.
  1348                            properties:
  1349                              name:
  1350                                description: Name of the referent.
  1351                                type: string
  1352                            required:
  1353                            - name
  1354                            type: object
  1355                        required:
  1356                        - provider
  1357                        type: object
  1358                      version:
  1359                        default: '*'
  1360                        description: |-
  1361                          Version semver expression, ignored for charts from v1beta2.GitRepository and
  1362                          v1beta2.Bucket sources. Defaults to latest when omitted.
  1363                        type: string
  1364                    required:
  1365                    - chart
  1366                    - sourceRef
  1367                    type: object
  1368                required:
  1369                - spec
  1370                type: object
  1371              chartRef:
  1372                description: |-
  1373                  ChartRef holds a reference to a source controller resource containing the
  1374                  Helm chart artifact.
  1375
  1376
  1377                  Note: this field is provisional to the v2 API, and not actively used
  1378                  by v2beta1 HelmReleases.
  1379                properties:
  1380                  apiVersion:
  1381                    description: APIVersion of the referent.
  1382                    type: string
  1383                  kind:
  1384                    description: Kind of the referent.
  1385                    enum:
  1386                    - OCIRepository
  1387                    - HelmChart
  1388                    type: string
  1389                  name:
  1390                    description: Name of the referent.
  1391                    maxLength: 253
  1392                    minLength: 1
  1393                    type: string
  1394                  namespace:
  1395                    description: |-
  1396                      Namespace of the referent, defaults to the namespace of the Kubernetes
  1397                      resource object that contains the reference.
  1398                    maxLength: 63
  1399                    minLength: 1
  1400                    type: string
  1401                required:
  1402                - kind
  1403                - name
  1404                type: object
  1405              dependsOn:
  1406                description: |-
  1407                  DependsOn may contain a meta.NamespacedObjectReference slice with
  1408                  references to HelmRelease resources that must be ready before this HelmRelease
  1409                  can be reconciled.
  1410                items:
  1411                  description: |-
  1412                    NamespacedObjectReference contains enough information to locate the referenced Kubernetes resource object in any
  1413                    namespace.
  1414                  properties:
  1415                    name:
  1416                      description: Name of the referent.
  1417                      type: string
  1418                    namespace:
  1419                      description: Namespace of the referent, when not specified it
  1420                        acts as LocalObjectReference.
  1421                      type: string
  1422                  required:
  1423                  - name
  1424                  type: object
  1425                type: array
  1426              driftDetection:
  1427                description: |-
  1428                  DriftDetection holds the configuration for detecting and handling
  1429                  differences between the manifest in the Helm storage and the resources
  1430                  currently existing in the cluster.
  1431
  1432
  1433                  Note: this field is provisional to the v2beta2 API, and not actively used
  1434                  by v2beta1 HelmReleases.
  1435                properties:
  1436                  ignore:
  1437                    description: |-
  1438                      Ignore contains a list of rules for specifying which changes to ignore
  1439                      during diffing.
  1440                    items:
  1441                      description: |-
  1442                        IgnoreRule defines a rule to selectively disregard specific changes during
  1443                        the drift detection process.
  1444                      properties:
  1445                        paths:
  1446                          description: |-
  1447                            Paths is a list of JSON Pointer (RFC 6901) paths to be excluded from
  1448                            consideration in a Kubernetes object.
  1449                          items:
  1450                            type: string
  1451                          type: array
  1452                        target:
  1453                          description: |-
  1454                            Target is a selector for specifying Kubernetes objects to which this
  1455                            rule applies.
  1456                            If Target is not set, the Paths will be ignored for all Kubernetes
  1457                            objects within the manifest of the Helm release.
  1458                          properties:
  1459                            annotationSelector:
  1460                              description: |-
  1461                                AnnotationSelector is a string that follows the label selection expression
  1462                                https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#api
  1463                                It matches with the resource annotations.
  1464                              type: string
  1465                            group:
  1466                              description: |-
  1467                                Group is the API group to select resources from.
  1468                                Together with Version and Kind it is capable of unambiguously identifying and/or selecting resources.
  1469                                https://github.com/kubernetes/community/blob/master/contributors/design-proposals/api-machinery/api-group.md
  1470                              type: string
  1471                            kind:
  1472                              description: |-
  1473                                Kind of the API Group to select resources from.
  1474                                Together with Group and Version it is capable of unambiguously
  1475                                identifying and/or selecting resources.
  1476                                https://github.com/kubernetes/community/blob/master/contributors/design-proposals/api-machinery/api-group.md
  1477                              type: string
  1478                            labelSelector:
  1479                              description: |-
  1480                                LabelSelector is a string that follows the label selection expression
  1481                                https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#api
  1482                                It matches with the resource labels.
  1483                              type: string
  1484                            name:
  1485                              description: Name to match resources with.
  1486                              type: string
  1487                            namespace:
  1488                              description: Namespace to select resources from.
  1489                              type: string
  1490                            version:
  1491                              description: |-
  1492                                Version of the API Group to select resources from.
  1493                                Together with Group and Kind it is capable of unambiguously identifying and/or selecting resources.
  1494                                https://github.com/kubernetes/community/blob/master/contributors/design-proposals/api-machinery/api-group.md
  1495                              type: string
  1496                          type: object
  1497                      required:
  1498                      - paths
  1499                      type: object
  1500                    type: array
  1501                  mode:
  1502                    description: |-
  1503                      Mode defines how differences should be handled between the Helm manifest
  1504                      and the manifest currently applied to the cluster.
  1505                      If not explicitly set, it defaults to DiffModeDisabled.
  1506                    enum:
  1507                    - enabled
  1508                    - warn
  1509                    - disabled
  1510                    type: string
  1511                type: object
  1512              install:
  1513                description: Install holds the configuration for Helm install actions
  1514                  for this HelmRelease.
  1515                properties:
  1516                  crds:
  1517                    description: |-
  1518                      CRDs upgrade CRDs from the Helm Chart's crds directory according
  1519                      to the CRD upgrade policy provided here. Valid values are `Skip`,
  1520                      `Create` or `CreateReplace`. Default is `Create` and if omitted
  1521                      CRDs are installed but not updated.
  1522
  1523
  1524                      Skip: do neither install nor replace (update) any CRDs.
  1525
  1526
  1527                      Create: new CRDs are created, existing CRDs are neither updated nor deleted.
  1528
  1529
  1530                      CreateReplace: new CRDs are created, existing CRDs are updated (replaced)
  1531                      but not deleted.
  1532
  1533
  1534                      By default, CRDs are applied (installed) during Helm install action.
  1535                      With this option users can opt-in to CRD replace existing CRDs on Helm
  1536                      install actions, which is not (yet) natively supported by Helm.
  1537                      https://helm.sh/docs/chart_best_practices/custom_resource_definitions.
  1538                    enum:
  1539                    - Skip
  1540                    - Create
  1541                    - CreateReplace
  1542                    type: string
  1543                  createNamespace:
  1544                    description: |-
  1545                      CreateNamespace tells the Helm install action to create the
  1546                      HelmReleaseSpec.TargetNamespace if it does not exist yet.
  1547                      On uninstall, the namespace will not be garbage collected.
  1548                    type: boolean
  1549                  disableHooks:
  1550                    description: DisableHooks prevents hooks from running during the
  1551                      Helm install action.
  1552                    type: boolean
  1553                  disableOpenAPIValidation:
  1554                    description: |-
  1555                      DisableOpenAPIValidation prevents the Helm install action from validating
  1556                      rendered templates against the Kubernetes OpenAPI Schema.
  1557                    type: boolean
  1558                  disableWait:
  1559                    description: |-
  1560                      DisableWait disables the waiting for resources to be ready after a Helm
  1561                      install has been performed.
  1562                    type: boolean
  1563                  disableWaitForJobs:
  1564                    description: |-
  1565                      DisableWaitForJobs disables waiting for jobs to complete after a Helm
  1566                      install has been performed.
  1567                    type: boolean
  1568                  remediation:
  1569                    description: |-
  1570                      Remediation holds the remediation configuration for when the Helm install
  1571                      action for the HelmRelease fails. The default is to not perform any action.
  1572                    properties:
  1573                      ignoreTestFailures:
  1574                        description: |-
  1575                          IgnoreTestFailures tells the controller to skip remediation when the Helm
  1576                          tests are run after an install action but fail. Defaults to
  1577                          'Test.IgnoreFailures'.
  1578                        type: boolean
  1579                      remediateLastFailure:
  1580                        description: |-
  1581                          RemediateLastFailure tells the controller to remediate the last failure, when
  1582                          no retries remain. Defaults to 'false'.
  1583                        type: boolean
  1584                      retries:
  1585                        description: |-
  1586                          Retries is the number of retries that should be attempted on failures before
  1587                          bailing. Remediation, using an uninstall, is performed between each attempt.
  1588                          Defaults to '0', a negative integer equals to unlimited retries.
  1589                        type: integer
  1590                    type: object
  1591                  replace:
  1592                    description: |-
  1593                      Replace tells the Helm install action to re-use the 'ReleaseName', but only
  1594                      if that name is a deleted release which remains in the history.
  1595                    type: boolean
  1596                  skipCRDs:
  1597                    description: |-
  1598                      SkipCRDs tells the Helm install action to not install any CRDs. By default,
  1599                      CRDs are installed if not already present.
  1600
  1601
  1602                      Deprecated use CRD policy (`crds`) attribute with value `Skip` instead.
  1603                    type: boolean
  1604                  timeout:
  1605                    description: |-
  1606                      Timeout is the time to wait for any individual Kubernetes operation (like
  1607                      Jobs for hooks) during the performance of a Helm install action. Defaults to
  1608                      'HelmReleaseSpec.Timeout'.
  1609                    pattern: ^([0-9]+(\.[0-9]+)?(ms|s|m|h))+$
  1610                    type: string
  1611                type: object
  1612              interval:
  1613                description: |-
  1614                  Interval at which to reconcile the Helm release.
  1615                  This interval is approximate and may be subject to jitter to ensure
  1616                  efficient use of resources.
  1617                pattern: ^([0-9]+(\.[0-9]+)?(ms|s|m|h))+$
  1618                type: string
  1619              kubeConfig:
  1620                description: |-
  1621                  KubeConfig for reconciling the HelmRelease on a remote cluster.
  1622                  When used in combination with HelmReleaseSpec.ServiceAccountName,
  1623                  forces the controller to act on behalf of that Service Account at the
  1624                  target cluster.
  1625                  If the --default-service-account flag is set, its value will be used as
  1626                  a controller level fallback for when HelmReleaseSpec.ServiceAccountName
  1627                  is empty.
  1628                properties:
  1629                  secretRef:
  1630                    description: |-
  1631                      SecretRef holds the name of a secret that contains a key with
  1632                      the kubeconfig file as the value. If no key is set, the key will default
  1633                      to 'value'.
  1634                      It is recommended that the kubeconfig is self-contained, and the secret
  1635                      is regularly updated if credentials such as a cloud-access-token expire.
  1636                      Cloud specific `cmd-path` auth helpers will not function without adding
  1637                      binaries and credentials to the Pod that is responsible for reconciling
  1638                      Kubernetes resources.
  1639                    properties:
  1640                      key:
  1641                        description: Key in the Secret, when not specified an implementation-specific
  1642                          default key is used.
  1643                        type: string
  1644                      name:
  1645                        description: Name of the Secret.
  1646                        type: string
  1647                    required:
  1648                    - name
  1649                    type: object
  1650                required:
  1651                - secretRef
  1652                type: object
  1653              maxHistory:
  1654                description: |-
  1655                  MaxHistory is the number of revisions saved by Helm for this HelmRelease.
  1656                  Use '0' for an unlimited number of revisions; defaults to '10'.
  1657                type: integer
  1658              persistentClient:
  1659                description: |-
  1660                  PersistentClient tells the controller to use a persistent Kubernetes
  1661                  client for this release. When enabled, the client will be reused for the
  1662                  duration of the reconciliation, instead of being created and destroyed
  1663                  for each (step of a) Helm action.
  1664
  1665
  1666                  This can improve performance, but may cause issues with some Helm charts
  1667                  that for example do create Custom Resource Definitions during installation
  1668                  outside Helm's CRD lifecycle hooks, which are then not observed to be
  1669                  available by e.g. post-install hooks.
  1670
  1671
  1672                  If not set, it defaults to true.
  1673                type: boolean
  1674              postRenderers:
  1675                description: |-
  1676                  PostRenderers holds an array of Helm PostRenderers, which will be applied in order
  1677                  of their definition.
  1678                items:
  1679                  description: PostRenderer contains a Helm PostRenderer specification.
  1680                  properties:
  1681                    kustomize:
  1682                      description: Kustomization to apply as PostRenderer.
  1683                      properties:
  1684                        images:
  1685                          description: |-
  1686                            Images is a list of (image name, new name, new tag or digest)
  1687                            for changing image names, tags or digests. This can also be achieved with a
  1688                            patch, but this operator is simpler to specify.
  1689                          items:
  1690                            description: Image contains an image name, a new name,
  1691                              a new tag or digest, which will replace the original
  1692                              name and tag.
  1693                            properties:
  1694                              digest:
  1695                                description: |-
  1696                                  Digest is the value used to replace the original image tag.
  1697                                  If digest is present NewTag value is ignored.
  1698                                type: string
  1699                              name:
  1700                                description: Name is a tag-less image name.
  1701                                type: string
  1702                              newName:
  1703                                description: NewName is the value used to replace
  1704                                  the original name.
  1705                                type: string
  1706                              newTag:
  1707                                description: NewTag is the value used to replace the
  1708                                  original tag.
  1709                                type: string
  1710                            required:
  1711                            - name
  1712                            type: object
  1713                          type: array
  1714                        patches:
  1715                          description: |-
  1716                            Strategic merge and JSON patches, defined as inline YAML objects,
  1717                            capable of targeting objects based on kind, label and annotation selectors.
  1718                          items:
  1719                            description: |-
  1720                              Patch contains an inline StrategicMerge or JSON6902 patch, and the target the patch should
  1721                              be applied to.
  1722                            properties:
  1723                              patch:
  1724                                description: |-
  1725                                  Patch contains an inline StrategicMerge patch or an inline JSON6902 patch with
  1726                                  an array of operation objects.
  1727                                type: string
  1728                              target:
  1729                                description: Target points to the resources that the
  1730                                  patch document should be applied to.
  1731                                properties:
  1732                                  annotationSelector:
  1733                                    description: |-
  1734                                      AnnotationSelector is a string that follows the label selection expression
  1735                                      https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#api
  1736                                      It matches with the resource annotations.
  1737                                    type: string
  1738                                  group:
  1739                                    description: |-
  1740                                      Group is the API group to select resources from.
  1741                                      Together with Version and Kind it is capable of unambiguously identifying and/or selecting resources.
  1742                                      https://github.com/kubernetes/community/blob/master/contributors/design-proposals/api-machinery/api-group.md
  1743                                    type: string
  1744                                  kind:
  1745                                    description: |-
  1746                                      Kind of the API Group to select resources from.
  1747                                      Together with Group and Version it is capable of unambiguously
  1748                                      identifying and/or selecting resources.
  1749                                      https://github.com/kubernetes/community/blob/master/contributors/design-proposals/api-machinery/api-group.md
  1750                                    type: string
  1751                                  labelSelector:
  1752                                    description: |-
  1753                                      LabelSelector is a string that follows the label selection expression
  1754                                      https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#api
  1755                                      It matches with the resource labels.
  1756                                    type: string
  1757                                  name:
  1758                                    description: Name to match resources with.
  1759                                    type: string
  1760                                  namespace:
  1761                                    description: Namespace to select resources from.
  1762                                    type: string
  1763                                  version:
  1764                                    description: |-
  1765                                      Version of the API Group to select resources from.
  1766                                      Together with Group and Kind it is capable of unambiguously identifying and/or selecting resources.
  1767                                      https://github.com/kubernetes/community/blob/master/contributors/design-proposals/api-machinery/api-group.md
  1768                                    type: string
  1769                                type: object
  1770                            required:
  1771                            - patch
  1772                            type: object
  1773                          type: array
  1774                        patchesJson6902:
  1775                          description: JSON 6902 patches, defined as inline YAML objects.
  1776                          items:
  1777                            description: JSON6902Patch contains a JSON6902 patch and
  1778                              the target the patch should be applied to.
  1779                            properties:
  1780                              patch:
  1781                                description: Patch contains the JSON6902 patch document
  1782                                  with an array of operation objects.
  1783                                items:
  1784                                  description: |-
  1785                                    JSON6902 is a JSON6902 operation object.
  1786                                    https://datatracker.ietf.org/doc/html/rfc6902#section-4
  1787                                  properties:
  1788                                    from:
  1789                                      description: |-
  1790                                        From contains a JSON-pointer value that references a location within the target document where the operation is
  1791                                        performed. The meaning of the value depends on the value of Op, and is NOT taken into account by all operations.
  1792                                      type: string
  1793                                    op:
  1794                                      description: |-
  1795                                        Op indicates the operation to perform. Its value MUST be one of "add", "remove", "replace", "move", "copy", or
  1796                                        "test".
  1797                                        https://datatracker.ietf.org/doc/html/rfc6902#section-4
  1798                                      enum:
  1799                                      - test
  1800                                      - remove
  1801                                      - add
  1802                                      - replace
  1803                                      - move
  1804                                      - copy
  1805                                      type: string
  1806                                    path:
  1807                                      description: |-
  1808                                        Path contains the JSON-pointer value that references a location within the target document where the operation
  1809                                        is performed. The meaning of the value depends on the value of Op.
  1810                                      type: string
  1811                                    value:
  1812                                      description: |-
  1813                                        Value contains a valid JSON structure. The meaning of the value depends on the value of Op, and is NOT taken into
  1814                                        account by all operations.
  1815                                      x-kubernetes-preserve-unknown-fields: true
  1816                                  required:
  1817                                  - op
  1818                                  - path
  1819                                  type: object
  1820                                type: array
  1821                              target:
  1822                                description: Target points to the resources that the
  1823                                  patch document should be applied to.
  1824                                properties:
  1825                                  annotationSelector:
  1826                                    description: |-
  1827                                      AnnotationSelector is a string that follows the label selection expression
  1828                                      https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#api
  1829                                      It matches with the resource annotations.
  1830                                    type: string
  1831                                  group:
  1832                                    description: |-
  1833                                      Group is the API group to select resources from.
  1834                                      Together with Version and Kind it is capable of unambiguously identifying and/or selecting resources.
  1835                                      https://github.com/kubernetes/community/blob/master/contributors/design-proposals/api-machinery/api-group.md
  1836                                    type: string
  1837                                  kind:
  1838                                    description: |-
  1839                                      Kind of the API Group to select resources from.
  1840                                      Together with Group and Version it is capable of unambiguously
  1841                                      identifying and/or selecting resources.
  1842                                      https://github.com/kubernetes/community/blob/master/contributors/design-proposals/api-machinery/api-group.md
  1843                                    type: string
  1844                                  labelSelector:
  1845                                    description: |-
  1846                                      LabelSelector is a string that follows the label selection expression
  1847                                      https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#api
  1848                                      It matches with the resource labels.
  1849                                    type: string
  1850                                  name:
  1851                                    description: Name to match resources with.
  1852                                    type: string
  1853                                  namespace:
  1854                                    description: Namespace to select resources from.
  1855                                    type: string
  1856                                  version:
  1857                                    description: |-
  1858                                      Version of the API Group to select resources from.
  1859                                      Together with Group and Kind it is capable of unambiguously identifying and/or selecting resources.
  1860                                      https://github.com/kubernetes/community/blob/master/contributors/design-proposals/api-machinery/api-group.md
  1861                                    type: string
  1862                                type: object
  1863                            required:
  1864                            - patch
  1865                            - target
  1866                            type: object
  1867                          type: array
  1868                        patchesStrategicMerge:
  1869                          description: Strategic merge patches, defined as inline
  1870                            YAML objects.
  1871                          items:
  1872                            x-kubernetes-preserve-unknown-fields: true
  1873                          type: array
  1874                      type: object
  1875                  type: object
  1876                type: array
  1877              releaseName:
  1878                description: |-
  1879                  ReleaseName used for the Helm release. Defaults to a composition of
  1880                  '[TargetNamespace-]Name'.
  1881                maxLength: 53
  1882                minLength: 1
  1883                type: string
  1884              rollback:
  1885                description: Rollback holds the configuration for Helm rollback actions
  1886                  for this HelmRelease.
  1887                properties:
  1888                  cleanupOnFail:
  1889                    description: |-
  1890                      CleanupOnFail allows deletion of new resources created during the Helm
  1891                      rollback action when it fails.
  1892                    type: boolean
  1893                  disableHooks:
  1894                    description: DisableHooks prevents hooks from running during the
  1895                      Helm rollback action.
  1896                    type: boolean
  1897                  disableWait:
  1898                    description: |-
  1899                      DisableWait disables the waiting for resources to be ready after a Helm
  1900                      rollback has been performed.
  1901                    type: boolean
  1902                  disableWaitForJobs:
  1903                    description: |-
  1904                      DisableWaitForJobs disables waiting for jobs to complete after a Helm
  1905                      rollback has been performed.
  1906                    type: boolean
  1907                  force:
  1908                    description: Force forces resource updates through a replacement
  1909                      strategy.
  1910                    type: boolean
  1911                  recreate:
  1912                    description: Recreate performs pod restarts for the resource if
  1913                      applicable.
  1914                    type: boolean
  1915                  timeout:
  1916                    description: |-
  1917                      Timeout is the time to wait for any individual Kubernetes operation (like
  1918                      Jobs for hooks) during the performance of a Helm rollback action. Defaults to
  1919                      'HelmReleaseSpec.Timeout'.
  1920                    pattern: ^([0-9]+(\.[0-9]+)?(ms|s|m|h))+$
  1921                    type: string
  1922                type: object
  1923              serviceAccountName:
  1924                description: |-
  1925                  The name of the Kubernetes service account to impersonate
  1926                  when reconciling this HelmRelease.
  1927                type: string
  1928              storageNamespace:
  1929                description: |-
  1930                  StorageNamespace used for the Helm storage.
  1931                  Defaults to the namespace of the HelmRelease.
  1932                maxLength: 63
  1933                minLength: 1
  1934                type: string
  1935              suspend:
  1936                description: |-
  1937                  Suspend tells the controller to suspend reconciliation for this HelmRelease,
  1938                  it does not apply to already started reconciliations. Defaults to false.
  1939                type: boolean
  1940              targetNamespace:
  1941                description: |-
  1942                  TargetNamespace to target when performing operations for the HelmRelease.
  1943                  Defaults to the namespace of the HelmRelease.
  1944                maxLength: 63
  1945                minLength: 1
  1946                type: string
  1947              test:
  1948                description: Test holds the configuration for Helm test actions for
  1949                  this HelmRelease.
  1950                properties:
  1951                  enable:
  1952                    description: |-
  1953                      Enable enables Helm test actions for this HelmRelease after an Helm install
  1954                      or upgrade action has been performed.
  1955                    type: boolean
  1956                  ignoreFailures:
  1957                    description: |-
  1958                      IgnoreFailures tells the controller to skip remediation when the Helm tests
  1959                      are run but fail. Can be overwritten for tests run after install or upgrade
  1960                      actions in 'Install.IgnoreTestFailures' and 'Upgrade.IgnoreTestFailures'.
  1961                    type: boolean
  1962                  timeout:
  1963                    description: |-
  1964                      Timeout is the time to wait for any individual Kubernetes operation during
  1965                      the performance of a Helm test action. Defaults to 'HelmReleaseSpec.Timeout'.
  1966                    pattern: ^([0-9]+(\.[0-9]+)?(ms|s|m|h))+$
  1967                    type: string
  1968                type: object
  1969              timeout:
  1970                description: |-
  1971                  Timeout is the time to wait for any individual Kubernetes operation (like Jobs
  1972                  for hooks) during the performance of a Helm action. Defaults to '5m0s'.
  1973                pattern: ^([0-9]+(\.[0-9]+)?(ms|s|m|h))+$
  1974                type: string
  1975              uninstall:
  1976                description: Uninstall holds the configuration for Helm uninstall
  1977                  actions for this HelmRelease.
  1978                properties:
  1979                  deletionPropagation:
  1980                    default: background
  1981                    description: |-
  1982                      DeletionPropagation specifies the deletion propagation policy when
  1983                      a Helm uninstall is performed.
  1984                    enum:
  1985                    - background
  1986                    - foreground
  1987                    - orphan
  1988                    type: string
  1989                  disableHooks:
  1990                    description: DisableHooks prevents hooks from running during the
  1991                      Helm rollback action.
  1992                    type: boolean
  1993                  disableWait:
  1994                    description: |-
  1995                      DisableWait disables waiting for all the resources to be deleted after
  1996                      a Helm uninstall is performed.
  1997                    type: boolean
  1998                  keepHistory:
  1999                    description: |-
  2000                      KeepHistory tells Helm to remove all associated resources and mark the
  2001                      release as deleted, but retain the release history.
  2002                    type: boolean
  2003                  timeout:
  2004                    description: |-
  2005                      Timeout is the time to wait for any individual Kubernetes operation (like
  2006                      Jobs for hooks) during the performance of a Helm uninstall action. Defaults
  2007                      to 'HelmReleaseSpec.Timeout'.
  2008                    pattern: ^([0-9]+(\.[0-9]+)?(ms|s|m|h))+$
  2009                    type: string
  2010                type: object
  2011              upgrade:
  2012                description: Upgrade holds the configuration for Helm upgrade actions
  2013                  for this HelmRelease.
  2014                properties:
  2015                  cleanupOnFail:
  2016                    description: |-
  2017                      CleanupOnFail allows deletion of new resources created during the Helm
  2018                      upgrade action when it fails.
  2019                    type: boolean
  2020                  crds:
  2021                    description: |-
  2022                      CRDs upgrade CRDs from the Helm Chart's crds directory according
  2023                      to the CRD upgrade policy provided here. Valid values are `Skip`,
  2024                      `Create` or `CreateReplace`. Default is `Skip` and if omitted
  2025                      CRDs are neither installed nor upgraded.
  2026
  2027
  2028                      Skip: do neither install nor replace (update) any CRDs.
  2029
  2030
  2031                      Create: new CRDs are created, existing CRDs are neither updated nor deleted.
  2032
  2033
  2034                      CreateReplace: new CRDs are created, existing CRDs are updated (replaced)
  2035                      but not deleted.
  2036
  2037
  2038                      By default, CRDs are not applied during Helm upgrade action. With this
  2039                      option users can opt-in to CRD upgrade, which is not (yet) natively supported by Helm.
  2040                      https://helm.sh/docs/chart_best_practices/custom_resource_definitions.
  2041                    enum:
  2042                    - Skip
  2043                    - Create
  2044                    - CreateReplace
  2045                    type: string
  2046                  disableHooks:
  2047                    description: DisableHooks prevents hooks from running during the
  2048                      Helm upgrade action.
  2049                    type: boolean
  2050                  disableOpenAPIValidation:
  2051                    description: |-
  2052                      DisableOpenAPIValidation prevents the Helm upgrade action from validating
  2053                      rendered templates against the Kubernetes OpenAPI Schema.
  2054                    type: boolean
  2055                  disableWait:
  2056                    description: |-
  2057                      DisableWait disables the waiting for resources to be ready after a Helm
  2058                      upgrade has been performed.
  2059                    type: boolean
  2060                  disableWaitForJobs:
  2061                    description: |-
  2062                      DisableWaitForJobs disables waiting for jobs to complete after a Helm
  2063                      upgrade has been performed.
  2064                    type: boolean
  2065                  force:
  2066                    description: Force forces resource updates through a replacement
  2067                      strategy.
  2068                    type: boolean
  2069                  preserveValues:
  2070                    description: |-
  2071                      PreserveValues will make Helm reuse the last release's values and merge in
  2072                      overrides from 'Values'. Setting this flag makes the HelmRelease
  2073                      non-declarative.
  2074                    type: boolean
  2075                  remediation:
  2076                    description: |-
  2077                      Remediation holds the remediation configuration for when the Helm upgrade
  2078                      action for the HelmRelease fails. The default is to not perform any action.
  2079                    properties:
  2080                      ignoreTestFailures:
  2081                        description: |-
  2082                          IgnoreTestFailures tells the controller to skip remediation when the Helm
  2083                          tests are run after an upgrade action but fail.
  2084                          Defaults to 'Test.IgnoreFailures'.
  2085                        type: boolean
  2086                      remediateLastFailure:
  2087                        description: |-
  2088                          RemediateLastFailure tells the controller to remediate the last failure, when
  2089                          no retries remain. Defaults to 'false' unless 'Retries' is greater than 0.
  2090                        type: boolean
  2091                      retries:
  2092                        description: |-
  2093                          Retries is the number of retries that should be attempted on failures before
  2094                          bailing. Remediation, using 'Strategy', is performed between each attempt.
  2095                          Defaults to '0', a negative integer equals to unlimited retries.
  2096                        type: integer
  2097                      strategy:
  2098                        description: Strategy to use for failure remediation. Defaults
  2099                          to 'rollback'.
  2100                        enum:
  2101                        - rollback
  2102                        - uninstall
  2103                        type: string
  2104                    type: object
  2105                  timeout:
  2106                    description: |-
  2107                      Timeout is the time to wait for any individual Kubernetes operation (like
  2108                      Jobs for hooks) during the performance of a Helm upgrade action. Defaults to
  2109                      'HelmReleaseSpec.Timeout'.
  2110                    pattern: ^([0-9]+(\.[0-9]+)?(ms|s|m|h))+$
  2111                    type: string
  2112                type: object
  2113              values:
  2114                description: Values holds the values for this Helm release.
  2115                x-kubernetes-preserve-unknown-fields: true
  2116              valuesFrom:
  2117                description: |-
  2118                  ValuesFrom holds references to resources containing Helm values for this HelmRelease,
  2119                  and information about how they should be merged.
  2120                items:
  2121                  description: |-
  2122                    ValuesReference contains a reference to a resource containing Helm values,
  2123                    and optionally the key they can be found at.
  2124                  properties:
  2125                    kind:
  2126                      description: Kind of the values referent, valid values are ('Secret',
  2127                        'ConfigMap').
  2128                      enum:
  2129                      - Secret
  2130                      - ConfigMap
  2131                      type: string
  2132                    name:
  2133                      description: |-
  2134                        Name of the values referent. Should reside in the same namespace as the
  2135                        referring resource.
  2136                      maxLength: 253
  2137                      minLength: 1
  2138                      type: string
  2139                    optional:
  2140                      description: |-
  2141                        Optional marks this ValuesReference as optional. When set, a not found error
  2142                        for the values reference is ignored, but any ValuesKey, TargetPath or
  2143                        transient error will still result in a reconciliation failure.
  2144                      type: boolean
  2145                    targetPath:
  2146                      description: |-
  2147                        TargetPath is the YAML dot notation path the value should be merged at. When
  2148                        set, the ValuesKey is expected to be a single flat value. Defaults to 'None',
  2149                        which results in the values getting merged at the root.
  2150                      maxLength: 250
  2151                      pattern: ^([a-zA-Z0-9_\-.\\\/]|\[[0-9]{1,5}\])+$
  2152                      type: string
  2153                    valuesKey:
  2154                      description: |-
  2155                        ValuesKey is the data key where the values.yaml or a specific value can be
  2156                        found at. Defaults to 'values.yaml'.
  2157                        When set, must be a valid Data Key, consisting of alphanumeric characters,
  2158                        '-', '_' or '.'.
  2159                      maxLength: 253
  2160                      pattern: ^[\-._a-zA-Z0-9]+$
  2161                      type: string
  2162                  required:
  2163                  - kind
  2164                  - name
  2165                  type: object
  2166                type: array
  2167            required:
  2168            - interval
  2169            type: object
  2170          status:
  2171            default:
  2172              observedGeneration: -1
  2173            description: HelmReleaseStatus defines the observed state of a HelmRelease.
  2174            properties:
  2175              conditions:
  2176                description: Conditions holds the conditions for the HelmRelease.
  2177                items:
  2178                  description: "Condition contains details for one aspect of the current
  2179                    state of this API Resource.\n---\nThis struct is intended for
  2180                    direct use as an array at the field path .status.conditions.  For
  2181                    example,\n\n\n\ttype FooStatus struct{\n\t    // Represents the
  2182                    observations of a foo's current state.\n\t    // Known .status.conditions.type
  2183                    are: \"Available\", \"Progressing\", and \"Degraded\"\n\t    //
  2184                    +patchMergeKey=type\n\t    // +patchStrategy=merge\n\t    // +listType=map\n\t
  2185                    \   // +listMapKey=type\n\t    Conditions []metav1.Condition `json:\"conditions,omitempty\"
  2186                    patchStrategy:\"merge\" patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"`\n\n\n\t
  2187                    \   // other fields\n\t}"
  2188                  properties:
  2189                    lastTransitionTime:
  2190                      description: |-
  2191                        lastTransitionTime is the last time the condition transitioned from one status to another.
  2192                        This should be when the underlying condition changed.  If that is not known, then using the time when the API field changed is acceptable.
  2193                      format: date-time
  2194                      type: string
  2195                    message:
  2196                      description: |-
  2197                        message is a human readable message indicating details about the transition.
  2198                        This may be an empty string.
  2199                      maxLength: 32768
  2200                      type: string
  2201                    observedGeneration:
  2202                      description: |-
  2203                        observedGeneration represents the .metadata.generation that the condition was set based upon.
  2204                        For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date
  2205                        with respect to the current state of the instance.
  2206                      format: int64
  2207                      minimum: 0
  2208                      type: integer
  2209                    reason:
  2210                      description: |-
  2211                        reason contains a programmatic identifier indicating the reason for the condition's last transition.
  2212                        Producers of specific condition types may define expected values and meanings for this field,
  2213                        and whether the values are considered a guaranteed API.
  2214                        The value should be a CamelCase string.
  2215                        This field may not be empty.
  2216                      maxLength: 1024
  2217                      minLength: 1
  2218                      pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$
  2219                      type: string
  2220                    status:
  2221                      description: status of the condition, one of True, False, Unknown.
  2222                      enum:
  2223                      - "True"
  2224                      - "False"
  2225                      - Unknown
  2226                      type: string
  2227                    type:
  2228                      description: |-
  2229                        type of condition in CamelCase or in foo.example.com/CamelCase.
  2230                        ---
  2231                        Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be
  2232                        useful (see .node.status.conditions), the ability to deconflict is important.
  2233                        The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt)
  2234                      maxLength: 316
  2235                      pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$
  2236                      type: string
  2237                  required:
  2238                  - lastTransitionTime
  2239                  - message
  2240                  - reason
  2241                  - status
  2242                  - type
  2243                  type: object
  2244                type: array
  2245              failures:
  2246                description: |-
  2247                  Failures is the reconciliation failure count against the latest desired
  2248                  state. It is reset after a successful reconciliation.
  2249                format: int64
  2250                type: integer
  2251              helmChart:
  2252                description: |-
  2253                  HelmChart is the namespaced name of the HelmChart resource created by
  2254                  the controller for the HelmRelease.
  2255                type: string
  2256              history:
  2257                description: |-
  2258                  History holds the history of Helm releases performed for this HelmRelease
  2259                  up to the last successfully completed release.
  2260
  2261
  2262                  Note: this field is provisional to the v2beta2 API, and not actively used
  2263                  by v2beta1 HelmReleases.
  2264                items:
  2265                  description: |-
  2266                    Snapshot captures a point-in-time copy of the status information for a Helm release,
  2267                    as managed by the controller.
  2268                  properties:
  2269                    apiVersion:
  2270                      description: |-
  2271                        APIVersion is the API version of the Snapshot.
  2272                        Provisional: when the calculation method of the Digest field is changed,
  2273                        this field will be used to distinguish between the old and new methods.
  2274                      type: string
  2275                    appVersion:
  2276                      description: AppVersion is the chart app version of the release
  2277                        object in storage.
  2278                      type: string
  2279                    chartName:
  2280                      description: ChartName is the chart name of the release object
  2281                        in storage.
  2282                      type: string
  2283                    chartVersion:
  2284                      description: |-
  2285                        ChartVersion is the chart version of the release object in
  2286                        storage.
  2287                      type: string
  2288                    configDigest:
  2289                      description: |-
  2290                        ConfigDigest is the checksum of the config (better known as
  2291                        "values") of the release object in storage.
  2292                        It has the format of `<algo>:<checksum>`.
  2293                      type: string
  2294                    deleted:
  2295                      description: Deleted is when the release was deleted.
  2296                      format: date-time
  2297                      type: string
  2298                    digest:
  2299                      description: |-
  2300                        Digest is the checksum of the release object in storage.
  2301                        It has the format of `<algo>:<checksum>`.
  2302                      type: string
  2303                    firstDeployed:
  2304                      description: FirstDeployed is when the release was first deployed.
  2305                      format: date-time
  2306                      type: string
  2307                    lastDeployed:
  2308                      description: LastDeployed is when the release was last deployed.
  2309                      format: date-time
  2310                      type: string
  2311                    name:
  2312                      description: Name is the name of the release.
  2313                      type: string
  2314                    namespace:
  2315                      description: Namespace is the namespace the release is deployed
  2316                        to.
  2317                      type: string
  2318                    ociDigest:
  2319                      description: OCIDigest is the digest of the OCI artifact associated
  2320                        with the release.
  2321                      type: string
  2322                    status:
  2323                      description: Status is the current state of the release.
  2324                      type: string
  2325                    testHooks:
  2326                      additionalProperties:
  2327                        description: |-
  2328                          TestHookStatus holds the status information for a test hook as observed
  2329                          to be run by the controller.
  2330                        properties:
  2331                          lastCompleted:
  2332                            description: LastCompleted is the time the test hook last
  2333                              completed.
  2334                            format: date-time
  2335                            type: string
  2336                          lastStarted:
  2337                            description: LastStarted is the time the test hook was
  2338                              last started.
  2339                            format: date-time
  2340                            type: string
  2341                          phase:
  2342                            description: Phase the test hook was observed to be in.
  2343                            type: string
  2344                        type: object
  2345                      description: |-
  2346                        TestHooks is the list of test hooks for the release as observed to be
  2347                        run by the controller.
  2348                      type: object
  2349                    version:
  2350                      description: Version is the version of the release object in
  2351                        storage.
  2352                      type: integer
  2353                  required:
  2354                  - chartName
  2355                  - chartVersion
  2356                  - configDigest
  2357                  - digest
  2358                  - firstDeployed
  2359                  - lastDeployed
  2360                  - name
  2361                  - namespace
  2362                  - status
  2363                  - version
  2364                  type: object
  2365                type: array
  2366              installFailures:
  2367                description: |-
  2368                  InstallFailures is the install failure count against the latest desired
  2369                  state. It is reset after a successful reconciliation.
  2370                format: int64
  2371                type: integer
  2372              lastAppliedRevision:
  2373                description: LastAppliedRevision is the revision of the last successfully
  2374                  applied source.
  2375                type: string
  2376              lastAttemptedConfigDigest:
  2377                description: |-
  2378                  LastAttemptedConfigDigest is the digest for the config (better known as
  2379                  "values") of the last reconciliation attempt.
  2380
  2381
  2382                  Note: this field is provisional to the v2beta2 API, and not actively used
  2383                  by v2beta1 HelmReleases.
  2384                type: string
  2385              lastAttemptedGeneration:
  2386                description: |-
  2387                  LastAttemptedGeneration is the last generation the controller attempted
  2388                  to reconcile.
  2389
  2390
  2391                  Note: this field is provisional to the v2beta2 API, and not actively used
  2392                  by v2beta1 HelmReleases.
  2393                format: int64
  2394                type: integer
  2395              lastAttemptedReleaseAction:
  2396                description: |-
  2397                  LastAttemptedReleaseAction is the last release action performed for this
  2398                  HelmRelease. It is used to determine the active remediation strategy.
  2399
  2400
  2401                  Note: this field is provisional to the v2beta2 API, and not actively used
  2402                  by v2beta1 HelmReleases.
  2403                type: string
  2404              lastAttemptedRevision:
  2405                description: LastAttemptedRevision is the revision of the last reconciliation
  2406                  attempt.
  2407                type: string
  2408              lastAttemptedValuesChecksum:
  2409                description: |-
  2410                  LastAttemptedValuesChecksum is the SHA1 checksum of the values of the last
  2411                  reconciliation attempt.
  2412                type: string
  2413              lastHandledForceAt:
  2414                description: |-
  2415                  LastHandledForceAt holds the value of the most recent force request
  2416                  value, so a change of the annotation value can be detected.
  2417
  2418
  2419                  Note: this field is provisional to the v2beta2 API, and not actively used
  2420                  by v2beta1 HelmReleases.
  2421                type: string
  2422              lastHandledReconcileAt:
  2423                description: |-
  2424                  LastHandledReconcileAt holds the value of the most recent
  2425                  reconcile request value, so a change of the annotation value
  2426                  can be detected.
  2427                type: string
  2428              lastHandledResetAt:
  2429                description: |-
  2430                  LastHandledResetAt holds the value of the most recent reset request
  2431                  value, so a change of the annotation value can be detected.
  2432
  2433
  2434                  Note: this field is provisional to the v2beta2 API, and not actively used
  2435                  by v2beta1 HelmReleases.
  2436                type: string
  2437              lastReleaseRevision:
  2438                description: LastReleaseRevision is the revision of the last successful
  2439                  Helm release.
  2440                type: integer
  2441              observedGeneration:
  2442                description: ObservedGeneration is the last observed generation.
  2443                format: int64
  2444                type: integer
  2445              observedPostRenderersDigest:
  2446                description: |-
  2447                  ObservedPostRenderersDigest is the digest for the post-renderers of
  2448                  the last successful reconciliation attempt.
  2449                type: string
  2450              storageNamespace:
  2451                description: |-
  2452                  StorageNamespace is the namespace of the Helm release storage for the
  2453                  current release.
  2454
  2455
  2456                  Note: this field is provisional to the v2beta2 API, and not actively used
  2457                  by v2beta1 HelmReleases.
  2458                type: string
  2459              upgradeFailures:
  2460                description: |-
  2461                  UpgradeFailures is the upgrade failure count against the latest desired
  2462                  state. It is reset after a successful reconciliation.
  2463                format: int64
  2464                type: integer
  2465            type: object
  2466        type: object
  2467    served: true
  2468    storage: false
  2469    subresources:
  2470      status: {}
  2471  - additionalPrinterColumns:
  2472    - jsonPath: .metadata.creationTimestamp
  2473      name: Age
  2474      type: date
  2475    - jsonPath: .status.conditions[?(@.type=="Ready")].status
  2476      name: Ready
  2477      type: string
  2478    - jsonPath: .status.conditions[?(@.type=="Ready")].message
  2479      name: Status
  2480      type: string
  2481    deprecated: true
  2482    deprecationWarning: v2beta2 HelmRelease is deprecated, upgrade to v2
  2483    name: v2beta2
  2484    schema:
  2485      openAPIV3Schema:
  2486        description: HelmRelease is the Schema for the helmreleases API
  2487        properties:
  2488          apiVersion:
  2489            description: |-
  2490              APIVersion defines the versioned schema of this representation of an object.
  2491              Servers should convert recognized schemas to the latest internal value, and
  2492              may reject unrecognized values.
  2493              More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
  2494            type: string
  2495          kind:
  2496            description: |-
  2497              Kind is a string value representing the REST resource this object represents.
  2498              Servers may infer this from the endpoint the client submits requests to.
  2499              Cannot be updated.
  2500              In CamelCase.
  2501              More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
  2502            type: string
  2503          metadata:
  2504            type: object
  2505          spec:
  2506            description: HelmReleaseSpec defines the desired state of a Helm release.
  2507            properties:
  2508              chart:
  2509                description: |-
  2510                  Chart defines the template of the v1beta2.HelmChart that should be created
  2511                  for this HelmRelease.
  2512                properties:
  2513                  metadata:
  2514                    description: ObjectMeta holds the template for metadata like labels
  2515                      and annotations.
  2516                    properties:
  2517                      annotations:
  2518                        additionalProperties:
  2519                          type: string
  2520                        description: |-
  2521                          Annotations is an unstructured key value map stored with a resource that may be
  2522                          set by external tools to store and retrieve arbitrary metadata. They are not
  2523                          queryable and should be preserved when modifying objects.
  2524                          More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
  2525                        type: object
  2526                      labels:
  2527                        additionalProperties:
  2528                          type: string
  2529                        description: |-
  2530                          Map of string keys and values that can be used to organize and categorize
  2531                          (scope and select) objects.
  2532                          More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
  2533                        type: object
  2534                    type: object
  2535                  spec:
  2536                    description: Spec holds the template for the v1beta2.HelmChartSpec
  2537                      for this HelmRelease.
  2538                    properties:
  2539                      chart:
  2540                        description: The name or path the Helm chart is available
  2541                          at in the SourceRef.
  2542                        maxLength: 2048
  2543                        minLength: 1
  2544                        type: string
  2545                      ignoreMissingValuesFiles:
  2546                        description: IgnoreMissingValuesFiles controls whether to
  2547                          silently ignore missing values files rather than failing.
  2548                        type: boolean
  2549                      interval:
  2550                        description: |-
  2551                          Interval at which to check the v1.Source for updates. Defaults to
  2552                          'HelmReleaseSpec.Interval'.
  2553                        pattern: ^([0-9]+(\.[0-9]+)?(ms|s|m|h))+$
  2554                        type: string
  2555                      reconcileStrategy:
  2556                        default: ChartVersion
  2557                        description: |-
  2558                          Determines what enables the creation of a new artifact. Valid values are
  2559                          ('ChartVersion', 'Revision').
  2560                          See the documentation of the values for an explanation on their behavior.
  2561                          Defaults to ChartVersion when omitted.
  2562                        enum:
  2563                        - ChartVersion
  2564                        - Revision
  2565                        type: string
  2566                      sourceRef:
  2567                        description: The name and namespace of the v1.Source the chart
  2568                          is available at.
  2569                        properties:
  2570                          apiVersion:
  2571                            description: APIVersion of the referent.
  2572                            type: string
  2573                          kind:
  2574                            description: Kind of the referent.
  2575                            enum:
  2576                            - HelmRepository
  2577                            - GitRepository
  2578                            - Bucket
  2579                            type: string
  2580                          name:
  2581                            description: Name of the referent.
  2582                            maxLength: 253
  2583                            minLength: 1
  2584                            type: string
  2585                          namespace:
  2586                            description: Namespace of the referent.
  2587                            maxLength: 63
  2588                            minLength: 1
  2589                            type: string
  2590                        required:
  2591                        - name
  2592                        type: object
  2593                      valuesFile:
  2594                        description: |-
  2595                          Alternative values file to use as the default chart values, expected to
  2596                          be a relative path in the SourceRef. Deprecated in favor of ValuesFiles,
  2597                          for backwards compatibility the file defined here is merged before the
  2598                          ValuesFiles items. Ignored when omitted.
  2599                        type: string
  2600                      valuesFiles:
  2601                        description: |-
  2602                          Alternative list of values files to use as the chart values (values.yaml
  2603                          is not included by default), expected to be a relative path in the SourceRef.
  2604                          Values files are merged in the order of this list with the last file overriding
  2605                          the first. Ignored when omitted.
  2606                        items:
  2607                          type: string
  2608                        type: array
  2609                      verify:
  2610                        description: |-
  2611                          Verify contains the secret name containing the trusted public keys
  2612                          used to verify the signature and specifies which provider to use to check
  2613                          whether OCI image is authentic.
  2614                          This field is only supported for OCI sources.
  2615                          Chart dependencies, which are not bundled in the umbrella chart artifact,
  2616                          are not verified.
  2617                        properties:
  2618                          provider:
  2619                            default: cosign
  2620                            description: Provider specifies the technology used to
  2621                              sign the OCI Helm chart.
  2622                            enum:
  2623                            - cosign
  2624                            - notation
  2625                            type: string
  2626                          secretRef:
  2627                            description: |-
  2628                              SecretRef specifies the Kubernetes Secret containing the
  2629                              trusted public keys.
  2630                            properties:
  2631                              name:
  2632                                description: Name of the referent.
  2633                                type: string
  2634                            required:
  2635                            - name
  2636                            type: object
  2637                        required:
  2638                        - provider
  2639                        type: object
  2640                      version:
  2641                        default: '*'
  2642                        description: |-
  2643                          Version semver expression, ignored for charts from v1beta2.GitRepository and
  2644                          v1beta2.Bucket sources. Defaults to latest when omitted.
  2645                        type: string
  2646                    required:
  2647                    - chart
  2648                    - sourceRef
  2649                    type: object
  2650                required:
  2651                - spec
  2652                type: object
  2653              chartRef:
  2654                description: |-
  2655                  ChartRef holds a reference to a source controller resource containing the
  2656                  Helm chart artifact.
  2657
  2658
  2659                  Note: this field is provisional to the v2 API, and not actively used
  2660                  by v2beta2 HelmReleases.
  2661                properties:
  2662                  apiVersion:
  2663                    description: APIVersion of the referent.
  2664                    type: string
  2665                  kind:
  2666                    description: Kind of the referent.
  2667                    enum:
  2668                    - OCIRepository
  2669                    - HelmChart
  2670                    type: string
  2671                  name:
  2672                    description: Name of the referent.
  2673                    maxLength: 253
  2674                    minLength: 1
  2675                    type: string
  2676                  namespace:
  2677                    description: |-
  2678                      Namespace of the referent, defaults to the namespace of the Kubernetes
  2679                      resource object that contains the reference.
  2680                    maxLength: 63
  2681                    minLength: 1
  2682                    type: string
  2683                required:
  2684                - kind
  2685                - name
  2686                type: object
  2687              dependsOn:
  2688                description: |-
  2689                  DependsOn may contain a meta.NamespacedObjectReference slice with
  2690                  references to HelmRelease resources that must be ready before this HelmRelease
  2691                  can be reconciled.
  2692                items:
  2693                  description: |-
  2694                    NamespacedObjectReference contains enough information to locate the referenced Kubernetes resource object in any
  2695                    namespace.
  2696                  properties:
  2697                    name:
  2698                      description: Name of the referent.
  2699                      type: string
  2700                    namespace:
  2701                      description: Namespace of the referent, when not specified it
  2702                        acts as LocalObjectReference.
  2703                      type: string
  2704                  required:
  2705                  - name
  2706                  type: object
  2707                type: array
  2708              driftDetection:
  2709                description: |-
  2710                  DriftDetection holds the configuration for detecting and handling
  2711                  differences between the manifest in the Helm storage and the resources
  2712                  currently existing in the cluster.
  2713                properties:
  2714                  ignore:
  2715                    description: |-
  2716                      Ignore contains a list of rules for specifying which changes to ignore
  2717                      during diffing.
  2718                    items:
  2719                      description: |-
  2720                        IgnoreRule defines a rule to selectively disregard specific changes during
  2721                        the drift detection process.
  2722                      properties:
  2723                        paths:
  2724                          description: |-
  2725                            Paths is a list of JSON Pointer (RFC 6901) paths to be excluded from
  2726                            consideration in a Kubernetes object.
  2727                          items:
  2728                            type: string
  2729                          type: array
  2730                        target:
  2731                          description: |-
  2732                            Target is a selector for specifying Kubernetes objects to which this
  2733                            rule applies.
  2734                            If Target is not set, the Paths will be ignored for all Kubernetes
  2735                            objects within the manifest of the Helm release.
  2736                          properties:
  2737                            annotationSelector:
  2738                              description: |-
  2739                                AnnotationSelector is a string that follows the label selection expression
  2740                                https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#api
  2741                                It matches with the resource annotations.
  2742                              type: string
  2743                            group:
  2744                              description: |-
  2745                                Group is the API group to select resources from.
  2746                                Together with Version and Kind it is capable of unambiguously identifying and/or selecting resources.
  2747                                https://github.com/kubernetes/community/blob/master/contributors/design-proposals/api-machinery/api-group.md
  2748                              type: string
  2749                            kind:
  2750                              description: |-
  2751                                Kind of the API Group to select resources from.
  2752                                Together with Group and Version it is capable of unambiguously
  2753                                identifying and/or selecting resources.
  2754                                https://github.com/kubernetes/community/blob/master/contributors/design-proposals/api-machinery/api-group.md
  2755                              type: string
  2756                            labelSelector:
  2757                              description: |-
  2758                                LabelSelector is a string that follows the label selection expression
  2759                                https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#api
  2760                                It matches with the resource labels.
  2761                              type: string
  2762                            name:
  2763                              description: Name to match resources with.
  2764                              type: string
  2765                            namespace:
  2766                              description: Namespace to select resources from.
  2767                              type: string
  2768                            version:
  2769                              description: |-
  2770                                Version of the API Group to select resources from.
  2771                                Together with Group and Kind it is capable of unambiguously identifying and/or selecting resources.
  2772                                https://github.com/kubernetes/community/blob/master/contributors/design-proposals/api-machinery/api-group.md
  2773                              type: string
  2774                          type: object
  2775                      required:
  2776                      - paths
  2777                      type: object
  2778                    type: array
  2779                  mode:
  2780                    description: |-
  2781                      Mode defines how differences should be handled between the Helm manifest
  2782                      and the manifest currently applied to the cluster.
  2783                      If not explicitly set, it defaults to DiffModeDisabled.
  2784                    enum:
  2785                    - enabled
  2786                    - warn
  2787                    - disabled
  2788                    type: string
  2789                type: object
  2790              install:
  2791                description: Install holds the configuration for Helm install actions
  2792                  for this HelmRelease.
  2793                properties:
  2794                  crds:
  2795                    description: |-
  2796                      CRDs upgrade CRDs from the Helm Chart's crds directory according
  2797                      to the CRD upgrade policy provided here. Valid values are `Skip`,
  2798                      `Create` or `CreateReplace`. Default is `Create` and if omitted
  2799                      CRDs are installed but not updated.
  2800
  2801
  2802                      Skip: do neither install nor replace (update) any CRDs.
  2803
  2804
  2805                      Create: new CRDs are created, existing CRDs are neither updated nor deleted.
  2806
  2807
  2808                      CreateReplace: new CRDs are created, existing CRDs are updated (replaced)
  2809                      but not deleted.
  2810
  2811
  2812                      By default, CRDs are applied (installed) during Helm install action.
  2813                      With this option users can opt in to CRD replace existing CRDs on Helm
  2814                      install actions, which is not (yet) natively supported by Helm.
  2815                      https://helm.sh/docs/chart_best_practices/custom_resource_definitions.
  2816                    enum:
  2817                    - Skip
  2818                    - Create
  2819                    - CreateReplace
  2820                    type: string
  2821                  createNamespace:
  2822                    description: |-
  2823                      CreateNamespace tells the Helm install action to create the
  2824                      HelmReleaseSpec.TargetNamespace if it does not exist yet.
  2825                      On uninstall, the namespace will not be garbage collected.
  2826                    type: boolean
  2827                  disableHooks:
  2828                    description: DisableHooks prevents hooks from running during the
  2829                      Helm install action.
  2830                    type: boolean
  2831                  disableOpenAPIValidation:
  2832                    description: |-
  2833                      DisableOpenAPIValidation prevents the Helm install action from validating
  2834                      rendered templates against the Kubernetes OpenAPI Schema.
  2835                    type: boolean
  2836                  disableWait:
  2837                    description: |-
  2838                      DisableWait disables the waiting for resources to be ready after a Helm
  2839                      install has been performed.
  2840                    type: boolean
  2841                  disableWaitForJobs:
  2842                    description: |-
  2843                      DisableWaitForJobs disables waiting for jobs to complete after a Helm
  2844                      install has been performed.
  2845                    type: boolean
  2846                  remediation:
  2847                    description: |-
  2848                      Remediation holds the remediation configuration for when the Helm install
  2849                      action for the HelmRelease fails. The default is to not perform any action.
  2850                    properties:
  2851                      ignoreTestFailures:
  2852                        description: |-
  2853                          IgnoreTestFailures tells the controller to skip remediation when the Helm
  2854                          tests are run after an install action but fail. Defaults to
  2855                          'Test.IgnoreFailures'.
  2856                        type: boolean
  2857                      remediateLastFailure:
  2858                        description: |-
  2859                          RemediateLastFailure tells the controller to remediate the last failure, when
  2860                          no retries remain. Defaults to 'false'.
  2861                        type: boolean
  2862                      retries:
  2863                        description: |-
  2864                          Retries is the number of retries that should be attempted on failures before
  2865                          bailing. Remediation, using an uninstall, is performed between each attempt.
  2866                          Defaults to '0', a negative integer equals to unlimited retries.
  2867                        type: integer
  2868                    type: object
  2869                  replace:
  2870                    description: |-
  2871                      Replace tells the Helm install action to re-use the 'ReleaseName', but only
  2872                      if that name is a deleted release which remains in the history.
  2873                    type: boolean
  2874                  skipCRDs:
  2875                    description: |-
  2876                      SkipCRDs tells the Helm install action to not install any CRDs. By default,
  2877                      CRDs are installed if not already present.
  2878
  2879
  2880                      Deprecated use CRD policy (`crds`) attribute with value `Skip` instead.
  2881                    type: boolean
  2882                  timeout:
  2883                    description: |-
  2884                      Timeout is the time to wait for any individual Kubernetes operation (like
  2885                      Jobs for hooks) during the performance of a Helm install action. Defaults to
  2886                      'HelmReleaseSpec.Timeout'.
  2887                    pattern: ^([0-9]+(\.[0-9]+)?(ms|s|m|h))+$
  2888                    type: string
  2889                type: object
  2890              interval:
  2891                description: Interval at which to reconcile the Helm release.
  2892                pattern: ^([0-9]+(\.[0-9]+)?(ms|s|m|h))+$
  2893                type: string
  2894              kubeConfig:
  2895                description: |-
  2896                  KubeConfig for reconciling the HelmRelease on a remote cluster.
  2897                  When used in combination with HelmReleaseSpec.ServiceAccountName,
  2898                  forces the controller to act on behalf of that Service Account at the
  2899                  target cluster.
  2900                  If the --default-service-account flag is set, its value will be used as
  2901                  a controller level fallback for when HelmReleaseSpec.ServiceAccountName
  2902                  is empty.
  2903                properties:
  2904                  secretRef:
  2905                    description: |-
  2906                      SecretRef holds the name of a secret that contains a key with
  2907                      the kubeconfig file as the value. If no key is set, the key will default
  2908                      to 'value'.
  2909                      It is recommended that the kubeconfig is self-contained, and the secret
  2910                      is regularly updated if credentials such as a cloud-access-token expire.
  2911                      Cloud specific `cmd-path` auth helpers will not function without adding
  2912                      binaries and credentials to the Pod that is responsible for reconciling
  2913                      Kubernetes resources.
  2914                    properties:
  2915                      key:
  2916                        description: Key in the Secret, when not specified an implementation-specific
  2917                          default key is used.
  2918                        type: string
  2919                      name:
  2920                        description: Name of the Secret.
  2921                        type: string
  2922                    required:
  2923                    - name
  2924                    type: object
  2925                required:
  2926                - secretRef
  2927                type: object
  2928              maxHistory:
  2929                description: |-
  2930                  MaxHistory is the number of revisions saved by Helm for this HelmRelease.
  2931                  Use '0' for an unlimited number of revisions; defaults to '5'.
  2932                type: integer
  2933              persistentClient:
  2934                description: |-
  2935                  PersistentClient tells the controller to use a persistent Kubernetes
  2936                  client for this release. When enabled, the client will be reused for the
  2937                  duration of the reconciliation, instead of being created and destroyed
  2938                  for each (step of a) Helm action.
  2939
  2940
  2941                  This can improve performance, but may cause issues with some Helm charts
  2942                  that for example do create Custom Resource Definitions during installation
  2943                  outside Helm's CRD lifecycle hooks, which are then not observed to be
  2944                  available by e.g. post-install hooks.
  2945
  2946
  2947                  If not set, it defaults to true.
  2948                type: boolean
  2949              postRenderers:
  2950                description: |-
  2951                  PostRenderers holds an array of Helm PostRenderers, which will be applied in order
  2952                  of their definition.
  2953                items:
  2954                  description: PostRenderer contains a Helm PostRenderer specification.
  2955                  properties:
  2956                    kustomize:
  2957                      description: Kustomization to apply as PostRenderer.
  2958                      properties:
  2959                        images:
  2960                          description: |-
  2961                            Images is a list of (image name, new name, new tag or digest)
  2962                            for changing image names, tags or digests. This can also be achieved with a
  2963                            patch, but this operator is simpler to specify.
  2964                          items:
  2965                            description: Image contains an image name, a new name,
  2966                              a new tag or digest, which will replace the original
  2967                              name and tag.
  2968                            properties:
  2969                              digest:
  2970                                description: |-
  2971                                  Digest is the value used to replace the original image tag.
  2972                                  If digest is present NewTag value is ignored.
  2973                                type: string
  2974                              name:
  2975                                description: Name is a tag-less image name.
  2976                                type: string
  2977                              newName:
  2978                                description: NewName is the value used to replace
  2979                                  the original name.
  2980                                type: string
  2981                              newTag:
  2982                                description: NewTag is the value used to replace the
  2983                                  original tag.
  2984                                type: string
  2985                            required:
  2986                            - name
  2987                            type: object
  2988                          type: array
  2989                        patches:
  2990                          description: |-
  2991                            Strategic merge and JSON patches, defined as inline YAML objects,
  2992                            capable of targeting objects based on kind, label and annotation selectors.
  2993                          items:
  2994                            description: |-
  2995                              Patch contains an inline StrategicMerge or JSON6902 patch, and the target the patch should
  2996                              be applied to.
  2997                            properties:
  2998                              patch:
  2999                                description: |-
  3000                                  Patch contains an inline StrategicMerge patch or an inline JSON6902 patch with
  3001                                  an array of operation objects.
  3002                                type: string
  3003                              target:
  3004                                description: Target points to the resources that the
  3005                                  patch document should be applied to.
  3006                                properties:
  3007                                  annotationSelector:
  3008                                    description: |-
  3009                                      AnnotationSelector is a string that follows the label selection expression
  3010                                      https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#api
  3011                                      It matches with the resource annotations.
  3012                                    type: string
  3013                                  group:
  3014                                    description: |-
  3015                                      Group is the API group to select resources from.
  3016                                      Together with Version and Kind it is capable of unambiguously identifying and/or selecting resources.
  3017                                      https://github.com/kubernetes/community/blob/master/contributors/design-proposals/api-machinery/api-group.md
  3018                                    type: string
  3019                                  kind:
  3020                                    description: |-
  3021                                      Kind of the API Group to select resources from.
  3022                                      Together with Group and Version it is capable of unambiguously
  3023                                      identifying and/or selecting resources.
  3024                                      https://github.com/kubernetes/community/blob/master/contributors/design-proposals/api-machinery/api-group.md
  3025                                    type: string
  3026                                  labelSelector:
  3027                                    description: |-
  3028                                      LabelSelector is a string that follows the label selection expression
  3029                                      https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#api
  3030                                      It matches with the resource labels.
  3031                                    type: string
  3032                                  name:
  3033                                    description: Name to match resources with.
  3034                                    type: string
  3035                                  namespace:
  3036                                    description: Namespace to select resources from.
  3037                                    type: string
  3038                                  version:
  3039                                    description: |-
  3040                                      Version of the API Group to select resources from.
  3041                                      Together with Group and Kind it is capable of unambiguously identifying and/or selecting resources.
  3042                                      https://github.com/kubernetes/community/blob/master/contributors/design-proposals/api-machinery/api-group.md
  3043                                    type: string
  3044                                type: object
  3045                            required:
  3046                            - patch
  3047                            type: object
  3048                          type: array
  3049                        patchesJson6902:
  3050                          description: |-
  3051                            JSON 6902 patches, defined as inline YAML objects.
  3052                            Deprecated: use Patches instead.
  3053                          items:
  3054                            description: JSON6902Patch contains a JSON6902 patch and
  3055                              the target the patch should be applied to.
  3056                            properties:
  3057                              patch:
  3058                                description: Patch contains the JSON6902 patch document
  3059                                  with an array of operation objects.
  3060                                items:
  3061                                  description: |-
  3062                                    JSON6902 is a JSON6902 operation object.
  3063                                    https://datatracker.ietf.org/doc/html/rfc6902#section-4
  3064                                  properties:
  3065                                    from:
  3066                                      description: |-
  3067                                        From contains a JSON-pointer value that references a location within the target document where the operation is
  3068                                        performed. The meaning of the value depends on the value of Op, and is NOT taken into account by all operations.
  3069                                      type: string
  3070                                    op:
  3071                                      description: |-
  3072                                        Op indicates the operation to perform. Its value MUST be one of "add", "remove", "replace", "move", "copy", or
  3073                                        "test".
  3074                                        https://datatracker.ietf.org/doc/html/rfc6902#section-4
  3075                                      enum:
  3076                                      - test
  3077                                      - remove
  3078                                      - add
  3079                                      - replace
  3080                                      - move
  3081                                      - copy
  3082                                      type: string
  3083                                    path:
  3084                                      description: |-
  3085                                        Path contains the JSON-pointer value that references a location within the target document where the operation
  3086                                        is performed. The meaning of the value depends on the value of Op.
  3087                                      type: string
  3088                                    value:
  3089                                      description: |-
  3090                                        Value contains a valid JSON structure. The meaning of the value depends on the value of Op, and is NOT taken into
  3091                                        account by all operations.
  3092                                      x-kubernetes-preserve-unknown-fields: true
  3093                                  required:
  3094                                  - op
  3095                                  - path
  3096                                  type: object
  3097                                type: array
  3098                              target:
  3099                                description: Target points to the resources that the
  3100                                  patch document should be applied to.
  3101                                properties:
  3102                                  annotationSelector:
  3103                                    description: |-
  3104                                      AnnotationSelector is a string that follows the label selection expression
  3105                                      https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#api
  3106                                      It matches with the resource annotations.
  3107                                    type: string
  3108                                  group:
  3109                                    description: |-
  3110                                      Group is the API group to select resources from.
  3111                                      Together with Version and Kind it is capable of unambiguously identifying and/or selecting resources.
  3112                                      https://github.com/kubernetes/community/blob/master/contributors/design-proposals/api-machinery/api-group.md
  3113                                    type: string
  3114                                  kind:
  3115                                    description: |-
  3116                                      Kind of the API Group to select resources from.
  3117                                      Together with Group and Version it is capable of unambiguously
  3118                                      identifying and/or selecting resources.
  3119                                      https://github.com/kubernetes/community/blob/master/contributors/design-proposals/api-machinery/api-group.md
  3120                                    type: string
  3121                                  labelSelector:
  3122                                    description: |-
  3123                                      LabelSelector is a string that follows the label selection expression
  3124                                      https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#api
  3125                                      It matches with the resource labels.
  3126                                    type: string
  3127                                  name:
  3128                                    description: Name to match resources with.
  3129                                    type: string
  3130                                  namespace:
  3131                                    description: Namespace to select resources from.
  3132                                    type: string
  3133                                  version:
  3134                                    description: |-
  3135                                      Version of the API Group to select resources from.
  3136                                      Together with Group and Kind it is capable of unambiguously identifying and/or selecting resources.
  3137                                      https://github.com/kubernetes/community/blob/master/contributors/design-proposals/api-machinery/api-group.md
  3138                                    type: string
  3139                                type: object
  3140                            required:
  3141                            - patch
  3142                            - target
  3143                            type: object
  3144                          type: array
  3145                        patchesStrategicMerge:
  3146                          description: |-
  3147                            Strategic merge patches, defined as inline YAML objects.
  3148                            Deprecated: use Patches instead.
  3149                          items:
  3150                            x-kubernetes-preserve-unknown-fields: true
  3151                          type: array
  3152                      type: object
  3153                  type: object
  3154                type: array
  3155              releaseName:
  3156                description: |-
  3157                  ReleaseName used for the Helm release. Defaults to a composition of
  3158                  '[TargetNamespace-]Name'.
  3159                maxLength: 53
  3160                minLength: 1
  3161                type: string
  3162              rollback:
  3163                description: Rollback holds the configuration for Helm rollback actions
  3164                  for this HelmRelease.
  3165                properties:
  3166                  cleanupOnFail:
  3167                    description: |-
  3168                      CleanupOnFail allows deletion of new resources created during the Helm
  3169                      rollback action when it fails.
  3170                    type: boolean
  3171                  disableHooks:
  3172                    description: DisableHooks prevents hooks from running during the
  3173                      Helm rollback action.
  3174                    type: boolean
  3175                  disableWait:
  3176                    description: |-
  3177                      DisableWait disables the waiting for resources to be ready after a Helm
  3178                      rollback has been performed.
  3179                    type: boolean
  3180                  disableWaitForJobs:
  3181                    description: |-
  3182                      DisableWaitForJobs disables waiting for jobs to complete after a Helm
  3183                      rollback has been performed.
  3184                    type: boolean
  3185                  force:
  3186                    description: Force forces resource updates through a replacement
  3187                      strategy.
  3188                    type: boolean
  3189                  recreate:
  3190                    description: Recreate performs pod restarts for the resource if
  3191                      applicable.
  3192                    type: boolean
  3193                  timeout:
  3194                    description: |-
  3195                      Timeout is the time to wait for any individual Kubernetes operation (like
  3196                      Jobs for hooks) during the performance of a Helm rollback action. Defaults to
  3197                      'HelmReleaseSpec.Timeout'.
  3198                    pattern: ^([0-9]+(\.[0-9]+)?(ms|s|m|h))+$
  3199                    type: string
  3200                type: object
  3201              serviceAccountName:
  3202                description: |-
  3203                  The name of the Kubernetes service account to impersonate
  3204                  when reconciling this HelmRelease.
  3205                maxLength: 253
  3206                minLength: 1
  3207                type: string
  3208              storageNamespace:
  3209                description: |-
  3210                  StorageNamespace used for the Helm storage.
  3211                  Defaults to the namespace of the HelmRelease.
  3212                maxLength: 63
  3213                minLength: 1
  3214                type: string
  3215              suspend:
  3216                description: |-
  3217                  Suspend tells the controller to suspend reconciliation for this HelmRelease,
  3218                  it does not apply to already started reconciliations. Defaults to false.
  3219                type: boolean
  3220              targetNamespace:
  3221                description: |-
  3222                  TargetNamespace to target when performing operations for the HelmRelease.
  3223                  Defaults to the namespace of the HelmRelease.
  3224                maxLength: 63
  3225                minLength: 1
  3226                type: string
  3227              test:
  3228                description: Test holds the configuration for Helm test actions for
  3229                  this HelmRelease.
  3230                properties:
  3231                  enable:
  3232                    description: |-
  3233                      Enable enables Helm test actions for this HelmRelease after an Helm install
  3234                      or upgrade action has been performed.
  3235                    type: boolean
  3236                  filters:
  3237                    description: Filters is a list of tests to run or exclude from
  3238                      running.
  3239                    items:
  3240                      description: Filter holds the configuration for individual Helm
  3241                        test filters.
  3242                      properties:
  3243                        exclude:
  3244                          description: Exclude specifies whether the named test should
  3245                            be excluded.
  3246                          type: boolean
  3247                        name:
  3248                          description: Name is the name of the test.
  3249                          maxLength: 253
  3250                          minLength: 1
  3251                          type: string
  3252                      required:
  3253                      - name
  3254                      type: object
  3255                    type: array
  3256                  ignoreFailures:
  3257                    description: |-
  3258                      IgnoreFailures tells the controller to skip remediation when the Helm tests
  3259                      are run but fail. Can be overwritten for tests run after install or upgrade
  3260                      actions in 'Install.IgnoreTestFailures' and 'Upgrade.IgnoreTestFailures'.
  3261                    type: boolean
  3262                  timeout:
  3263                    description: |-
  3264                      Timeout is the time to wait for any individual Kubernetes operation during
  3265                      the performance of a Helm test action. Defaults to 'HelmReleaseSpec.Timeout'.
  3266                    pattern: ^([0-9]+(\.[0-9]+)?(ms|s|m|h))+$
  3267                    type: string
  3268                type: object
  3269              timeout:
  3270                description: |-
  3271                  Timeout is the time to wait for any individual Kubernetes operation (like Jobs
  3272                  for hooks) during the performance of a Helm action. Defaults to '5m0s'.
  3273                pattern: ^([0-9]+(\.[0-9]+)?(ms|s|m|h))+$
  3274                type: string
  3275              uninstall:
  3276                description: Uninstall holds the configuration for Helm uninstall
  3277                  actions for this HelmRelease.
  3278                properties:
  3279                  deletionPropagation:
  3280                    default: background
  3281                    description: |-
  3282                      DeletionPropagation specifies the deletion propagation policy when
  3283                      a Helm uninstall is performed.
  3284                    enum:
  3285                    - background
  3286                    - foreground
  3287                    - orphan
  3288                    type: string
  3289                  disableHooks:
  3290                    description: DisableHooks prevents hooks from running during the
  3291                      Helm rollback action.
  3292                    type: boolean
  3293                  disableWait:
  3294                    description: |-
  3295                      DisableWait disables waiting for all the resources to be deleted after
  3296                      a Helm uninstall is performed.
  3297                    type: boolean
  3298                  keepHistory:
  3299                    description: |-
  3300                      KeepHistory tells Helm to remove all associated resources and mark the
  3301                      release as deleted, but retain the release history.
  3302                    type: boolean
  3303                  timeout:
  3304                    description: |-
  3305                      Timeout is the time to wait for any individual Kubernetes operation (like
  3306                      Jobs for hooks) during the performance of a Helm uninstall action. Defaults
  3307                      to 'HelmReleaseSpec.Timeout'.
  3308                    pattern: ^([0-9]+(\.[0-9]+)?(ms|s|m|h))+$
  3309                    type: string
  3310                type: object
  3311              upgrade:
  3312                description: Upgrade holds the configuration for Helm upgrade actions
  3313                  for this HelmRelease.
  3314                properties:
  3315                  cleanupOnFail:
  3316                    description: |-
  3317                      CleanupOnFail allows deletion of new resources created during the Helm
  3318                      upgrade action when it fails.
  3319                    type: boolean
  3320                  crds:
  3321                    description: |-
  3322                      CRDs upgrade CRDs from the Helm Chart's crds directory according
  3323                      to the CRD upgrade policy provided here. Valid values are `Skip`,
  3324                      `Create` or `CreateReplace`. Default is `Skip` and if omitted
  3325                      CRDs are neither installed nor upgraded.
  3326
  3327
  3328                      Skip: do neither install nor replace (update) any CRDs.
  3329
  3330
  3331                      Create: new CRDs are created, existing CRDs are neither updated nor deleted.
  3332
  3333
  3334                      CreateReplace: new CRDs are created, existing CRDs are updated (replaced)
  3335                      but not deleted.
  3336
  3337
  3338                      By default, CRDs are not applied during Helm upgrade action. With this
  3339                      option users can opt-in to CRD upgrade, which is not (yet) natively supported by Helm.
  3340                      https://helm.sh/docs/chart_best_practices/custom_resource_definitions.
  3341                    enum:
  3342                    - Skip
  3343                    - Create
  3344                    - CreateReplace
  3345                    type: string
  3346                  disableHooks:
  3347                    description: DisableHooks prevents hooks from running during the
  3348                      Helm upgrade action.
  3349                    type: boolean
  3350                  disableOpenAPIValidation:
  3351                    description: |-
  3352                      DisableOpenAPIValidation prevents the Helm upgrade action from validating
  3353                      rendered templates against the Kubernetes OpenAPI Schema.
  3354                    type: boolean
  3355                  disableWait:
  3356                    description: |-
  3357                      DisableWait disables the waiting for resources to be ready after a Helm
  3358                      upgrade has been performed.
  3359                    type: boolean
  3360                  disableWaitForJobs:
  3361                    description: |-
  3362                      DisableWaitForJobs disables waiting for jobs to complete after a Helm
  3363                      upgrade has been performed.
  3364                    type: boolean
  3365                  force:
  3366                    description: Force forces resource updates through a replacement
  3367                      strategy.
  3368                    type: boolean
  3369                  preserveValues:
  3370                    description: |-
  3371                      PreserveValues will make Helm reuse the last release's values and merge in
  3372                      overrides from 'Values'. Setting this flag makes the HelmRelease
  3373                      non-declarative.
  3374                    type: boolean
  3375                  remediation:
  3376                    description: |-
  3377                      Remediation holds the remediation configuration for when the Helm upgrade
  3378                      action for the HelmRelease fails. The default is to not perform any action.
  3379                    properties:
  3380                      ignoreTestFailures:
  3381                        description: |-
  3382                          IgnoreTestFailures tells the controller to skip remediation when the Helm
  3383                          tests are run after an upgrade action but fail.
  3384                          Defaults to 'Test.IgnoreFailures'.
  3385                        type: boolean
  3386                      remediateLastFailure:
  3387                        description: |-
  3388                          RemediateLastFailure tells the controller to remediate the last failure, when
  3389                          no retries remain. Defaults to 'false' unless 'Retries' is greater than 0.
  3390                        type: boolean
  3391                      retries:
  3392                        description: |-
  3393                          Retries is the number of retries that should be attempted on failures before
  3394                          bailing. Remediation, using 'Strategy', is performed between each attempt.
  3395                          Defaults to '0', a negative integer equals to unlimited retries.
  3396                        type: integer
  3397                      strategy:
  3398                        description: Strategy to use for failure remediation. Defaults
  3399                          to 'rollback'.
  3400                        enum:
  3401                        - rollback
  3402                        - uninstall
  3403                        type: string
  3404                    type: object
  3405                  timeout:
  3406                    description: |-
  3407                      Timeout is the time to wait for any individual Kubernetes operation (like
  3408                      Jobs for hooks) during the performance of a Helm upgrade action. Defaults to
  3409                      'HelmReleaseSpec.Timeout'.
  3410                    pattern: ^([0-9]+(\.[0-9]+)?(ms|s|m|h))+$
  3411                    type: string
  3412                type: object
  3413              values:
  3414                description: Values holds the values for this Helm release.
  3415                x-kubernetes-preserve-unknown-fields: true
  3416              valuesFrom:
  3417                description: |-
  3418                  ValuesFrom holds references to resources containing Helm values for this HelmRelease,
  3419                  and information about how they should be merged.
  3420                items:
  3421                  description: |-
  3422                    ValuesReference contains a reference to a resource containing Helm values,
  3423                    and optionally the key they can be found at.
  3424                  properties:
  3425                    kind:
  3426                      description: Kind of the values referent, valid values are ('Secret',
  3427                        'ConfigMap').
  3428                      enum:
  3429                      - Secret
  3430                      - ConfigMap
  3431                      type: string
  3432                    name:
  3433                      description: |-
  3434                        Name of the values referent. Should reside in the same namespace as the
  3435                        referring resource.
  3436                      maxLength: 253
  3437                      minLength: 1
  3438                      type: string
  3439                    optional:
  3440                      description: |-
  3441                        Optional marks this ValuesReference as optional. When set, a not found error
  3442                        for the values reference is ignored, but any ValuesKey, TargetPath or
  3443                        transient error will still result in a reconciliation failure.
  3444                      type: boolean
  3445                    targetPath:
  3446                      description: |-
  3447                        TargetPath is the YAML dot notation path the value should be merged at. When
  3448                        set, the ValuesKey is expected to be a single flat value. Defaults to 'None',
  3449                        which results in the values getting merged at the root.
  3450                      maxLength: 250
  3451                      pattern: ^([a-zA-Z0-9_\-.\\\/]|\[[0-9]{1,5}\])+$
  3452                      type: string
  3453                    valuesKey:
  3454                      description: |-
  3455                        ValuesKey is the data key where the values.yaml or a specific value can be
  3456                        found at. Defaults to 'values.yaml'.
  3457                      maxLength: 253
  3458                      pattern: ^[\-._a-zA-Z0-9]+$
  3459                      type: string
  3460                  required:
  3461                  - kind
  3462                  - name
  3463                  type: object
  3464                type: array
  3465            required:
  3466            - interval
  3467            type: object
  3468            x-kubernetes-validations:
  3469            - message: either chart or chartRef must be set
  3470              rule: (has(self.chart) && !has(self.chartRef)) || (!has(self.chart)
  3471                && has(self.chartRef))
  3472          status:
  3473            default:
  3474              observedGeneration: -1
  3475            description: HelmReleaseStatus defines the observed state of a HelmRelease.
  3476            properties:
  3477              conditions:
  3478                description: Conditions holds the conditions for the HelmRelease.
  3479                items:
  3480                  description: "Condition contains details for one aspect of the current
  3481                    state of this API Resource.\n---\nThis struct is intended for
  3482                    direct use as an array at the field path .status.conditions.  For
  3483                    example,\n\n\n\ttype FooStatus struct{\n\t    // Represents the
  3484                    observations of a foo's current state.\n\t    // Known .status.conditions.type
  3485                    are: \"Available\", \"Progressing\", and \"Degraded\"\n\t    //
  3486                    +patchMergeKey=type\n\t    // +patchStrategy=merge\n\t    // +listType=map\n\t
  3487                    \   // +listMapKey=type\n\t    Conditions []metav1.Condition `json:\"conditions,omitempty\"
  3488                    patchStrategy:\"merge\" patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"`\n\n\n\t
  3489                    \   // other fields\n\t}"
  3490                  properties:
  3491                    lastTransitionTime:
  3492                      description: |-
  3493                        lastTransitionTime is the last time the condition transitioned from one status to another.
  3494                        This should be when the underlying condition changed.  If that is not known, then using the time when the API field changed is acceptable.
  3495                      format: date-time
  3496                      type: string
  3497                    message:
  3498                      description: |-
  3499                        message is a human readable message indicating details about the transition.
  3500                        This may be an empty string.
  3501                      maxLength: 32768
  3502                      type: string
  3503                    observedGeneration:
  3504                      description: |-
  3505                        observedGeneration represents the .metadata.generation that the condition was set based upon.
  3506                        For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date
  3507                        with respect to the current state of the instance.
  3508                      format: int64
  3509                      minimum: 0
  3510                      type: integer
  3511                    reason:
  3512                      description: |-
  3513                        reason contains a programmatic identifier indicating the reason for the condition's last transition.
  3514                        Producers of specific condition types may define expected values and meanings for this field,
  3515                        and whether the values are considered a guaranteed API.
  3516                        The value should be a CamelCase string.
  3517                        This field may not be empty.
  3518                      maxLength: 1024
  3519                      minLength: 1
  3520                      pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$
  3521                      type: string
  3522                    status:
  3523                      description: status of the condition, one of True, False, Unknown.
  3524                      enum:
  3525                      - "True"
  3526                      - "False"
  3527                      - Unknown
  3528                      type: string
  3529                    type:
  3530                      description: |-
  3531                        type of condition in CamelCase or in foo.example.com/CamelCase.
  3532                        ---
  3533                        Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be
  3534                        useful (see .node.status.conditions), the ability to deconflict is important.
  3535                        The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt)
  3536                      maxLength: 316
  3537                      pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$
  3538                      type: string
  3539                  required:
  3540                  - lastTransitionTime
  3541                  - message
  3542                  - reason
  3543                  - status
  3544                  - type
  3545                  type: object
  3546                type: array
  3547              failures:
  3548                description: |-
  3549                  Failures is the reconciliation failure count against the latest desired
  3550                  state. It is reset after a successful reconciliation.
  3551                format: int64
  3552                type: integer
  3553              helmChart:
  3554                description: |-
  3555                  HelmChart is the namespaced name of the HelmChart resource created by
  3556                  the controller for the HelmRelease.
  3557                type: string
  3558              history:
  3559                description: |-
  3560                  History holds the history of Helm releases performed for this HelmRelease
  3561                  up to the last successfully completed release.
  3562                items:
  3563                  description: |-
  3564                    Snapshot captures a point-in-time copy of the status information for a Helm release,
  3565                    as managed by the controller.
  3566                  properties:
  3567                    apiVersion:
  3568                      description: |-
  3569                        APIVersion is the API version of the Snapshot.
  3570                        Provisional: when the calculation method of the Digest field is changed,
  3571                        this field will be used to distinguish between the old and new methods.
  3572                      type: string
  3573                    appVersion:
  3574                      description: AppVersion is the chart app version of the release
  3575                        object in storage.
  3576                      type: string
  3577                    chartName:
  3578                      description: ChartName is the chart name of the release object
  3579                        in storage.
  3580                      type: string
  3581                    chartVersion:
  3582                      description: |-
  3583                        ChartVersion is the chart version of the release object in
  3584                        storage.
  3585                      type: string
  3586                    configDigest:
  3587                      description: |-
  3588                        ConfigDigest is the checksum of the config (better known as
  3589                        "values") of the release object in storage.
  3590                        It has the format of `<algo>:<checksum>`.
  3591                      type: string
  3592                    deleted:
  3593                      description: Deleted is when the release was deleted.
  3594                      format: date-time
  3595                      type: string
  3596                    digest:
  3597                      description: |-
  3598                        Digest is the checksum of the release object in storage.
  3599                        It has the format of `<algo>:<checksum>`.
  3600                      type: string
  3601                    firstDeployed:
  3602                      description: FirstDeployed is when the release was first deployed.
  3603                      format: date-time
  3604                      type: string
  3605                    lastDeployed:
  3606                      description: LastDeployed is when the release was last deployed.
  3607                      format: date-time
  3608                      type: string
  3609                    name:
  3610                      description: Name is the name of the release.
  3611                      type: string
  3612                    namespace:
  3613                      description: Namespace is the namespace the release is deployed
  3614                        to.
  3615                      type: string
  3616                    ociDigest:
  3617                      description: OCIDigest is the digest of the OCI artifact associated
  3618                        with the release.
  3619                      type: string
  3620                    status:
  3621                      description: Status is the current state of the release.
  3622                      type: string
  3623                    testHooks:
  3624                      additionalProperties:
  3625                        description: |-
  3626                          TestHookStatus holds the status information for a test hook as observed
  3627                          to be run by the controller.
  3628                        properties:
  3629                          lastCompleted:
  3630                            description: LastCompleted is the time the test hook last
  3631                              completed.
  3632                            format: date-time
  3633                            type: string
  3634                          lastStarted:
  3635                            description: LastStarted is the time the test hook was
  3636                              last started.
  3637                            format: date-time
  3638                            type: string
  3639                          phase:
  3640                            description: Phase the test hook was observed to be in.
  3641                            type: string
  3642                        type: object
  3643                      description: |-
  3644                        TestHooks is the list of test hooks for the release as observed to be
  3645                        run by the controller.
  3646                      type: object
  3647                    version:
  3648                      description: Version is the version of the release object in
  3649                        storage.
  3650                      type: integer
  3651                  required:
  3652                  - chartName
  3653                  - chartVersion
  3654                  - configDigest
  3655                  - digest
  3656                  - firstDeployed
  3657                  - lastDeployed
  3658                  - name
  3659                  - namespace
  3660                  - status
  3661                  - version
  3662                  type: object
  3663                type: array
  3664              installFailures:
  3665                description: |-
  3666                  InstallFailures is the install failure count against the latest desired
  3667                  state. It is reset after a successful reconciliation.
  3668                format: int64
  3669                type: integer
  3670              lastAppliedRevision:
  3671                description: |-
  3672                  LastAppliedRevision is the revision of the last successfully applied
  3673                  source.
  3674                  Deprecated: the revision can now be found in the History.
  3675                type: string
  3676              lastAttemptedConfigDigest:
  3677                description: |-
  3678                  LastAttemptedConfigDigest is the digest for the config (better known as
  3679                  "values") of the last reconciliation attempt.
  3680                type: string
  3681              lastAttemptedGeneration:
  3682                description: |-
  3683                  LastAttemptedGeneration is the last generation the controller attempted
  3684                  to reconcile.
  3685                format: int64
  3686                type: integer
  3687              lastAttemptedReleaseAction:
  3688                description: |-
  3689                  LastAttemptedReleaseAction is the last release action performed for this
  3690                  HelmRelease. It is used to determine the active remediation strategy.
  3691                enum:
  3692                - install
  3693                - upgrade
  3694                type: string
  3695              lastAttemptedRevision:
  3696                description: |-
  3697                  LastAttemptedRevision is the Source revision of the last reconciliation
  3698                  attempt. For OCIRepository  sources, the 12 first characters of the digest are
  3699                  appended to the chart version e.g. "1.2.3+1234567890ab".
  3700                type: string
  3701              lastAttemptedRevisionDigest:
  3702                description: |-
  3703                  LastAttemptedRevisionDigest is the digest of the last reconciliation attempt.
  3704                  This is only set for OCIRepository sources.
  3705                type: string
  3706              lastAttemptedValuesChecksum:
  3707                description: |-
  3708                  LastAttemptedValuesChecksum is the SHA1 checksum for the values of the last
  3709                  reconciliation attempt.
  3710                  Deprecated: Use LastAttemptedConfigDigest instead.
  3711                type: string
  3712              lastHandledForceAt:
  3713                description: |-
  3714                  LastHandledForceAt holds the value of the most recent force request
  3715                  value, so a change of the annotation value can be detected.
  3716                type: string
  3717              lastHandledReconcileAt:
  3718                description: |-
  3719                  LastHandledReconcileAt holds the value of the most recent
  3720                  reconcile request value, so a change of the annotation value
  3721                  can be detected.
  3722                type: string
  3723              lastHandledResetAt:
  3724                description: |-
  3725                  LastHandledResetAt holds the value of the most recent reset request
  3726                  value, so a change of the annotation value can be detected.
  3727                type: string
  3728              lastReleaseRevision:
  3729                description: |-
  3730                  LastReleaseRevision is the revision of the last successful Helm release.
  3731                  Deprecated: Use History instead.
  3732                type: integer
  3733              observedGeneration:
  3734                description: ObservedGeneration is the last observed generation.
  3735                format: int64
  3736                type: integer
  3737              observedPostRenderersDigest:
  3738                description: |-
  3739                  ObservedPostRenderersDigest is the digest for the post-renderers of
  3740                  the last successful reconciliation attempt.
  3741                type: string
  3742              storageNamespace:
  3743                description: |-
  3744                  StorageNamespace is the namespace of the Helm release storage for the
  3745                  current release.
  3746                maxLength: 63
  3747                minLength: 1
  3748                type: string
  3749              upgradeFailures:
  3750                description: |-
  3751                  UpgradeFailures is the upgrade failure count against the latest desired
  3752                  state. It is reset after a successful reconciliation.
  3753                format: int64
  3754                type: integer
  3755            type: object
  3756        type: object
  3757    served: true
  3758    storage: false
  3759    subresources:
  3760      status: {}

View as plain text