...

Text file src/edge-infra.dev/third_party/k8s/fluxcd/manifests/helm-controller.yaml

Documentation: edge-infra.dev/third_party/k8s/fluxcd/manifests

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

View as plain text