...

Text file src/edge-infra.dev/test/fixtures/crds/fluxcd/source.toolkit.fluxcd.io_helmrepositories.yaml

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

     1---
     2apiVersion: apiextensions.k8s.io/v1
     3kind: CustomResourceDefinition
     4metadata:
     5  annotations:
     6    controller-gen.kubebuilder.io/version: (unknown)
     7  name: helmrepositories.source.toolkit.fluxcd.io
     8spec:
     9  group: source.toolkit.fluxcd.io
    10  names:
    11    kind: HelmRepository
    12    listKind: HelmRepositoryList
    13    plural: helmrepositories
    14    shortNames:
    15    - helmrepo
    16    singular: helmrepository
    17  scope: Namespaced
    18  versions:
    19  - additionalPrinterColumns:
    20    - jsonPath: .spec.url
    21      name: URL
    22      type: string
    23    - jsonPath: .metadata.creationTimestamp
    24      name: Age
    25      type: date
    26    - jsonPath: .status.conditions[?(@.type=="Ready")].status
    27      name: Ready
    28      type: string
    29    - jsonPath: .status.conditions[?(@.type=="Ready")].message
    30      name: Status
    31      type: string
    32    name: v1
    33    schema:
    34      openAPIV3Schema:
    35        description: HelmRepository is the Schema for the helmrepositories API.
    36        properties:
    37          apiVersion:
    38            description: |-
    39              APIVersion defines the versioned schema of this representation of an object.
    40              Servers should convert recognized schemas to the latest internal value, and
    41              may reject unrecognized values.
    42              More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
    43            type: string
    44          kind:
    45            description: |-
    46              Kind is a string value representing the REST resource this object represents.
    47              Servers may infer this from the endpoint the client submits requests to.
    48              Cannot be updated.
    49              In CamelCase.
    50              More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
    51            type: string
    52          metadata:
    53            type: object
    54          spec:
    55            description: |-
    56              HelmRepositorySpec specifies the required configuration to produce an
    57              Artifact for a Helm repository index YAML.
    58            properties:
    59              accessFrom:
    60                description: |-
    61                  AccessFrom specifies an Access Control List for allowing cross-namespace
    62                  references to this object.
    63                  NOTE: Not implemented, provisional as of https://github.com/fluxcd/flux2/pull/2092
    64                properties:
    65                  namespaceSelectors:
    66                    description: |-
    67                      NamespaceSelectors is the list of namespace selectors to which this ACL applies.
    68                      Items in this list are evaluated using a logical OR operation.
    69                    items:
    70                      description: |-
    71                        NamespaceSelector selects the namespaces to which this ACL applies.
    72                        An empty map of MatchLabels matches all namespaces in a cluster.
    73                      properties:
    74                        matchLabels:
    75                          additionalProperties:
    76                            type: string
    77                          description: |-
    78                            MatchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
    79                            map is equivalent to an element of matchExpressions, whose key field is "key", the
    80                            operator is "In", and the values array contains only "value". The requirements are ANDed.
    81                          type: object
    82                      type: object
    83                    type: array
    84                required:
    85                - namespaceSelectors
    86                type: object
    87              certSecretRef:
    88                description: |-
    89                  CertSecretRef can be given the name of a Secret containing
    90                  either or both of
    91
    92
    93                  - a PEM-encoded client certificate (`tls.crt`) and private
    94                  key (`tls.key`);
    95                  - a PEM-encoded CA certificate (`ca.crt`)
    96
    97
    98                  and whichever are supplied, will be used for connecting to the
    99                  registry. The client cert and key are useful if you are
   100                  authenticating with a certificate; the CA cert is useful if
   101                  you are using a self-signed server certificate. The Secret must
   102                  be of type `Opaque` or `kubernetes.io/tls`.
   103
   104
   105                  It takes precedence over the values specified in the Secret referred
   106                  to by `.spec.secretRef`.
   107                properties:
   108                  name:
   109                    description: Name of the referent.
   110                    type: string
   111                required:
   112                - name
   113                type: object
   114              insecure:
   115                description: |-
   116                  Insecure allows connecting to a non-TLS HTTP container registry.
   117                  This field is only taken into account if the .spec.type field is set to 'oci'.
   118                type: boolean
   119              interval:
   120                description: |-
   121                  Interval at which the HelmRepository URL is checked for updates.
   122                  This interval is approximate and may be subject to jitter to ensure
   123                  efficient use of resources.
   124                pattern: ^([0-9]+(\.[0-9]+)?(ms|s|m|h))+$
   125                type: string
   126              passCredentials:
   127                description: |-
   128                  PassCredentials allows the credentials from the SecretRef to be passed
   129                  on to a host that does not match the host as defined in URL.
   130                  This may be required if the host of the advertised chart URLs in the
   131                  index differ from the defined URL.
   132                  Enabling this should be done with caution, as it can potentially result
   133                  in credentials getting stolen in a MITM-attack.
   134                type: boolean
   135              provider:
   136                default: generic
   137                description: |-
   138                  Provider used for authentication, can be 'aws', 'azure', 'gcp' or 'generic'.
   139                  This field is optional, and only taken into account if the .spec.type field is set to 'oci'.
   140                  When not specified, defaults to 'generic'.
   141                enum:
   142                - generic
   143                - aws
   144                - azure
   145                - gcp
   146                type: string
   147              secretRef:
   148                description: |-
   149                  SecretRef specifies the Secret containing authentication credentials
   150                  for the HelmRepository.
   151                  For HTTP/S basic auth the secret must contain 'username' and 'password'
   152                  fields.
   153                  Support for TLS auth using the 'certFile' and 'keyFile', and/or 'caFile'
   154                  keys is deprecated. Please use `.spec.certSecretRef` instead.
   155                properties:
   156                  name:
   157                    description: Name of the referent.
   158                    type: string
   159                required:
   160                - name
   161                type: object
   162              suspend:
   163                description: |-
   164                  Suspend tells the controller to suspend the reconciliation of this
   165                  HelmRepository.
   166                type: boolean
   167              timeout:
   168                description: |-
   169                  Timeout is used for the index fetch operation for an HTTPS helm repository,
   170                  and for remote OCI Repository operations like pulling for an OCI helm
   171                  chart by the associated HelmChart.
   172                  Its default value is 60s.
   173                pattern: ^([0-9]+(\.[0-9]+)?(ms|s|m))+$
   174                type: string
   175              type:
   176                description: |-
   177                  Type of the HelmRepository.
   178                  When this field is set to  "oci", the URL field value must be prefixed with "oci://".
   179                enum:
   180                - default
   181                - oci
   182                type: string
   183              url:
   184                description: |-
   185                  URL of the Helm repository, a valid URL contains at least a protocol and
   186                  host.
   187                pattern: ^(http|https|oci)://.*$
   188                type: string
   189            required:
   190            - url
   191            type: object
   192          status:
   193            default:
   194              observedGeneration: -1
   195            description: HelmRepositoryStatus records the observed state of the HelmRepository.
   196            properties:
   197              artifact:
   198                description: Artifact represents the last successful HelmRepository
   199                  reconciliation.
   200                properties:
   201                  digest:
   202                    description: Digest is the digest of the file in the form of '<algorithm>:<checksum>'.
   203                    pattern: ^[a-z0-9]+(?:[.+_-][a-z0-9]+)*:[a-zA-Z0-9=_-]+$
   204                    type: string
   205                  lastUpdateTime:
   206                    description: |-
   207                      LastUpdateTime is the timestamp corresponding to the last update of the
   208                      Artifact.
   209                    format: date-time
   210                    type: string
   211                  metadata:
   212                    additionalProperties:
   213                      type: string
   214                    description: Metadata holds upstream information such as OCI annotations.
   215                    type: object
   216                  path:
   217                    description: |-
   218                      Path is the relative file path of the Artifact. It can be used to locate
   219                      the file in the root of the Artifact storage on the local file system of
   220                      the controller managing the Source.
   221                    type: string
   222                  revision:
   223                    description: |-
   224                      Revision is a human-readable identifier traceable in the origin source
   225                      system. It can be a Git commit SHA, Git tag, a Helm chart version, etc.
   226                    type: string
   227                  size:
   228                    description: Size is the number of bytes in the file.
   229                    format: int64
   230                    type: integer
   231                  url:
   232                    description: |-
   233                      URL is the HTTP address of the Artifact as exposed by the controller
   234                      managing the Source. It can be used to retrieve the Artifact for
   235                      consumption, e.g. by another controller applying the Artifact contents.
   236                    type: string
   237                required:
   238                - lastUpdateTime
   239                - path
   240                - revision
   241                - url
   242                type: object
   243              conditions:
   244                description: Conditions holds the conditions for the HelmRepository.
   245                items:
   246                  description: "Condition contains details for one aspect of the current
   247                    state of this API Resource.\n---\nThis struct is intended for
   248                    direct use as an array at the field path .status.conditions.  For
   249                    example,\n\n\n\ttype FooStatus struct{\n\t    // Represents the
   250                    observations of a foo's current state.\n\t    // Known .status.conditions.type
   251                    are: \"Available\", \"Progressing\", and \"Degraded\"\n\t    //
   252                    +patchMergeKey=type\n\t    // +patchStrategy=merge\n\t    // +listType=map\n\t
   253                    \   // +listMapKey=type\n\t    Conditions []metav1.Condition `json:\"conditions,omitempty\"
   254                    patchStrategy:\"merge\" patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"`\n\n\n\t
   255                    \   // other fields\n\t}"
   256                  properties:
   257                    lastTransitionTime:
   258                      description: |-
   259                        lastTransitionTime is the last time the condition transitioned from one status to another.
   260                        This should be when the underlying condition changed.  If that is not known, then using the time when the API field changed is acceptable.
   261                      format: date-time
   262                      type: string
   263                    message:
   264                      description: |-
   265                        message is a human readable message indicating details about the transition.
   266                        This may be an empty string.
   267                      maxLength: 32768
   268                      type: string
   269                    observedGeneration:
   270                      description: |-
   271                        observedGeneration represents the .metadata.generation that the condition was set based upon.
   272                        For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date
   273                        with respect to the current state of the instance.
   274                      format: int64
   275                      minimum: 0
   276                      type: integer
   277                    reason:
   278                      description: |-
   279                        reason contains a programmatic identifier indicating the reason for the condition's last transition.
   280                        Producers of specific condition types may define expected values and meanings for this field,
   281                        and whether the values are considered a guaranteed API.
   282                        The value should be a CamelCase string.
   283                        This field may not be empty.
   284                      maxLength: 1024
   285                      minLength: 1
   286                      pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$
   287                      type: string
   288                    status:
   289                      description: status of the condition, one of True, False, Unknown.
   290                      enum:
   291                      - "True"
   292                      - "False"
   293                      - Unknown
   294                      type: string
   295                    type:
   296                      description: |-
   297                        type of condition in CamelCase or in foo.example.com/CamelCase.
   298                        ---
   299                        Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be
   300                        useful (see .node.status.conditions), the ability to deconflict is important.
   301                        The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt)
   302                      maxLength: 316
   303                      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])$
   304                      type: string
   305                  required:
   306                  - lastTransitionTime
   307                  - message
   308                  - reason
   309                  - status
   310                  - type
   311                  type: object
   312                type: array
   313              lastHandledReconcileAt:
   314                description: |-
   315                  LastHandledReconcileAt holds the value of the most recent
   316                  reconcile request value, so a change of the annotation value
   317                  can be detected.
   318                type: string
   319              observedGeneration:
   320                description: |-
   321                  ObservedGeneration is the last observed generation of the HelmRepository
   322                  object.
   323                format: int64
   324                type: integer
   325              url:
   326                description: |-
   327                  URL is the dynamic fetch link for the latest Artifact.
   328                  It is provided on a "best effort" basis, and using the precise
   329                  HelmRepositoryStatus.Artifact data is recommended.
   330                type: string
   331            type: object
   332        type: object
   333    served: true
   334    storage: true
   335    subresources:
   336      status: {}
   337  - additionalPrinterColumns:
   338    - jsonPath: .spec.url
   339      name: URL
   340      type: string
   341    - jsonPath: .status.conditions[?(@.type=="Ready")].status
   342      name: Ready
   343      type: string
   344    - jsonPath: .status.conditions[?(@.type=="Ready")].message
   345      name: Status
   346      type: string
   347    - jsonPath: .metadata.creationTimestamp
   348      name: Age
   349      type: date
   350    deprecated: true
   351    deprecationWarning: v1beta1 HelmRepository is deprecated, upgrade to v1
   352    name: v1beta1
   353    schema:
   354      openAPIV3Schema:
   355        description: HelmRepository is the Schema for the helmrepositories API
   356        properties:
   357          apiVersion:
   358            description: |-
   359              APIVersion defines the versioned schema of this representation of an object.
   360              Servers should convert recognized schemas to the latest internal value, and
   361              may reject unrecognized values.
   362              More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
   363            type: string
   364          kind:
   365            description: |-
   366              Kind is a string value representing the REST resource this object represents.
   367              Servers may infer this from the endpoint the client submits requests to.
   368              Cannot be updated.
   369              In CamelCase.
   370              More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
   371            type: string
   372          metadata:
   373            type: object
   374          spec:
   375            description: HelmRepositorySpec defines the reference to a Helm repository.
   376            properties:
   377              accessFrom:
   378                description: AccessFrom defines an Access Control List for allowing
   379                  cross-namespace references to this object.
   380                properties:
   381                  namespaceSelectors:
   382                    description: |-
   383                      NamespaceSelectors is the list of namespace selectors to which this ACL applies.
   384                      Items in this list are evaluated using a logical OR operation.
   385                    items:
   386                      description: |-
   387                        NamespaceSelector selects the namespaces to which this ACL applies.
   388                        An empty map of MatchLabels matches all namespaces in a cluster.
   389                      properties:
   390                        matchLabels:
   391                          additionalProperties:
   392                            type: string
   393                          description: |-
   394                            MatchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
   395                            map is equivalent to an element of matchExpressions, whose key field is "key", the
   396                            operator is "In", and the values array contains only "value". The requirements are ANDed.
   397                          type: object
   398                      type: object
   399                    type: array
   400                required:
   401                - namespaceSelectors
   402                type: object
   403              interval:
   404                description: The interval at which to check the upstream for updates.
   405                type: string
   406              passCredentials:
   407                description: |-
   408                  PassCredentials allows the credentials from the SecretRef to be passed on to
   409                  a host that does not match the host as defined in URL.
   410                  This may be required if the host of the advertised chart URLs in the index
   411                  differ from the defined URL.
   412                  Enabling this should be done with caution, as it can potentially result in
   413                  credentials getting stolen in a MITM-attack.
   414                type: boolean
   415              secretRef:
   416                description: |-
   417                  The name of the secret containing authentication credentials for the Helm
   418                  repository.
   419                  For HTTP/S basic auth the secret must contain username and
   420                  password fields.
   421                  For TLS the secret must contain a certFile and keyFile, and/or
   422                  caFile fields.
   423                properties:
   424                  name:
   425                    description: Name of the referent.
   426                    type: string
   427                required:
   428                - name
   429                type: object
   430              suspend:
   431                description: This flag tells the controller to suspend the reconciliation
   432                  of this source.
   433                type: boolean
   434              timeout:
   435                default: 60s
   436                description: The timeout of index downloading, defaults to 60s.
   437                type: string
   438              url:
   439                description: The Helm repository URL, a valid URL contains at least
   440                  a protocol and host.
   441                type: string
   442            required:
   443            - interval
   444            - url
   445            type: object
   446          status:
   447            default:
   448              observedGeneration: -1
   449            description: HelmRepositoryStatus defines the observed state of the HelmRepository.
   450            properties:
   451              artifact:
   452                description: Artifact represents the output of the last successful
   453                  repository sync.
   454                properties:
   455                  checksum:
   456                    description: Checksum is the SHA256 checksum of the artifact.
   457                    type: string
   458                  lastUpdateTime:
   459                    description: |-
   460                      LastUpdateTime is the timestamp corresponding to the last update of this
   461                      artifact.
   462                    format: date-time
   463                    type: string
   464                  path:
   465                    description: Path is the relative file path of this artifact.
   466                    type: string
   467                  revision:
   468                    description: |-
   469                      Revision is a human readable identifier traceable in the origin source
   470                      system. It can be a Git commit SHA, Git tag, a Helm index timestamp, a Helm
   471                      chart version, etc.
   472                    type: string
   473                  url:
   474                    description: URL is the HTTP address of this artifact.
   475                    type: string
   476                required:
   477                - path
   478                - url
   479                type: object
   480              conditions:
   481                description: Conditions holds the conditions for the HelmRepository.
   482                items:
   483                  description: "Condition contains details for one aspect of the current
   484                    state of this API Resource.\n---\nThis struct is intended for
   485                    direct use as an array at the field path .status.conditions.  For
   486                    example,\n\n\n\ttype FooStatus struct{\n\t    // Represents the
   487                    observations of a foo's current state.\n\t    // Known .status.conditions.type
   488                    are: \"Available\", \"Progressing\", and \"Degraded\"\n\t    //
   489                    +patchMergeKey=type\n\t    // +patchStrategy=merge\n\t    // +listType=map\n\t
   490                    \   // +listMapKey=type\n\t    Conditions []metav1.Condition `json:\"conditions,omitempty\"
   491                    patchStrategy:\"merge\" patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"`\n\n\n\t
   492                    \   // other fields\n\t}"
   493                  properties:
   494                    lastTransitionTime:
   495                      description: |-
   496                        lastTransitionTime is the last time the condition transitioned from one status to another.
   497                        This should be when the underlying condition changed.  If that is not known, then using the time when the API field changed is acceptable.
   498                      format: date-time
   499                      type: string
   500                    message:
   501                      description: |-
   502                        message is a human readable message indicating details about the transition.
   503                        This may be an empty string.
   504                      maxLength: 32768
   505                      type: string
   506                    observedGeneration:
   507                      description: |-
   508                        observedGeneration represents the .metadata.generation that the condition was set based upon.
   509                        For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date
   510                        with respect to the current state of the instance.
   511                      format: int64
   512                      minimum: 0
   513                      type: integer
   514                    reason:
   515                      description: |-
   516                        reason contains a programmatic identifier indicating the reason for the condition's last transition.
   517                        Producers of specific condition types may define expected values and meanings for this field,
   518                        and whether the values are considered a guaranteed API.
   519                        The value should be a CamelCase string.
   520                        This field may not be empty.
   521                      maxLength: 1024
   522                      minLength: 1
   523                      pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$
   524                      type: string
   525                    status:
   526                      description: status of the condition, one of True, False, Unknown.
   527                      enum:
   528                      - "True"
   529                      - "False"
   530                      - Unknown
   531                      type: string
   532                    type:
   533                      description: |-
   534                        type of condition in CamelCase or in foo.example.com/CamelCase.
   535                        ---
   536                        Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be
   537                        useful (see .node.status.conditions), the ability to deconflict is important.
   538                        The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt)
   539                      maxLength: 316
   540                      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])$
   541                      type: string
   542                  required:
   543                  - lastTransitionTime
   544                  - message
   545                  - reason
   546                  - status
   547                  - type
   548                  type: object
   549                type: array
   550              lastHandledReconcileAt:
   551                description: |-
   552                  LastHandledReconcileAt holds the value of the most recent
   553                  reconcile request value, so a change of the annotation value
   554                  can be detected.
   555                type: string
   556              observedGeneration:
   557                description: ObservedGeneration is the last observed generation.
   558                format: int64
   559                type: integer
   560              url:
   561                description: URL is the download link for the last index fetched.
   562                type: string
   563            type: object
   564        type: object
   565    served: true
   566    storage: false
   567    subresources:
   568      status: {}
   569  - additionalPrinterColumns:
   570    - jsonPath: .spec.url
   571      name: URL
   572      type: string
   573    - jsonPath: .metadata.creationTimestamp
   574      name: Age
   575      type: date
   576    - jsonPath: .status.conditions[?(@.type=="Ready")].status
   577      name: Ready
   578      type: string
   579    - jsonPath: .status.conditions[?(@.type=="Ready")].message
   580      name: Status
   581      type: string
   582    deprecated: true
   583    deprecationWarning: v1beta2 HelmRepository is deprecated, upgrade to v1
   584    name: v1beta2
   585    schema:
   586      openAPIV3Schema:
   587        description: HelmRepository is the Schema for the helmrepositories API.
   588        properties:
   589          apiVersion:
   590            description: |-
   591              APIVersion defines the versioned schema of this representation of an object.
   592              Servers should convert recognized schemas to the latest internal value, and
   593              may reject unrecognized values.
   594              More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
   595            type: string
   596          kind:
   597            description: |-
   598              Kind is a string value representing the REST resource this object represents.
   599              Servers may infer this from the endpoint the client submits requests to.
   600              Cannot be updated.
   601              In CamelCase.
   602              More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
   603            type: string
   604          metadata:
   605            type: object
   606          spec:
   607            description: |-
   608              HelmRepositorySpec specifies the required configuration to produce an
   609              Artifact for a Helm repository index YAML.
   610            properties:
   611              accessFrom:
   612                description: |-
   613                  AccessFrom specifies an Access Control List for allowing cross-namespace
   614                  references to this object.
   615                  NOTE: Not implemented, provisional as of https://github.com/fluxcd/flux2/pull/2092
   616                properties:
   617                  namespaceSelectors:
   618                    description: |-
   619                      NamespaceSelectors is the list of namespace selectors to which this ACL applies.
   620                      Items in this list are evaluated using a logical OR operation.
   621                    items:
   622                      description: |-
   623                        NamespaceSelector selects the namespaces to which this ACL applies.
   624                        An empty map of MatchLabels matches all namespaces in a cluster.
   625                      properties:
   626                        matchLabels:
   627                          additionalProperties:
   628                            type: string
   629                          description: |-
   630                            MatchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
   631                            map is equivalent to an element of matchExpressions, whose key field is "key", the
   632                            operator is "In", and the values array contains only "value". The requirements are ANDed.
   633                          type: object
   634                      type: object
   635                    type: array
   636                required:
   637                - namespaceSelectors
   638                type: object
   639              certSecretRef:
   640                description: |-
   641                  CertSecretRef can be given the name of a Secret containing
   642                  either or both of
   643
   644
   645                  - a PEM-encoded client certificate (`tls.crt`) and private
   646                  key (`tls.key`);
   647                  - a PEM-encoded CA certificate (`ca.crt`)
   648
   649
   650                  and whichever are supplied, will be used for connecting to the
   651                  registry. The client cert and key are useful if you are
   652                  authenticating with a certificate; the CA cert is useful if
   653                  you are using a self-signed server certificate. The Secret must
   654                  be of type `Opaque` or `kubernetes.io/tls`.
   655
   656
   657                  It takes precedence over the values specified in the Secret referred
   658                  to by `.spec.secretRef`.
   659                properties:
   660                  name:
   661                    description: Name of the referent.
   662                    type: string
   663                required:
   664                - name
   665                type: object
   666              insecure:
   667                description: |-
   668                  Insecure allows connecting to a non-TLS HTTP container registry.
   669                  This field is only taken into account if the .spec.type field is set to 'oci'.
   670                type: boolean
   671              interval:
   672                description: |-
   673                  Interval at which the HelmRepository URL is checked for updates.
   674                  This interval is approximate and may be subject to jitter to ensure
   675                  efficient use of resources.
   676                pattern: ^([0-9]+(\.[0-9]+)?(ms|s|m|h))+$
   677                type: string
   678              passCredentials:
   679                description: |-
   680                  PassCredentials allows the credentials from the SecretRef to be passed
   681                  on to a host that does not match the host as defined in URL.
   682                  This may be required if the host of the advertised chart URLs in the
   683                  index differ from the defined URL.
   684                  Enabling this should be done with caution, as it can potentially result
   685                  in credentials getting stolen in a MITM-attack.
   686                type: boolean
   687              provider:
   688                default: generic
   689                description: |-
   690                  Provider used for authentication, can be 'aws', 'azure', 'gcp' or 'generic'.
   691                  This field is optional, and only taken into account if the .spec.type field is set to 'oci'.
   692                  When not specified, defaults to 'generic'.
   693                enum:
   694                - generic
   695                - aws
   696                - azure
   697                - gcp
   698                type: string
   699              secretRef:
   700                description: |-
   701                  SecretRef specifies the Secret containing authentication credentials
   702                  for the HelmRepository.
   703                  For HTTP/S basic auth the secret must contain 'username' and 'password'
   704                  fields.
   705                  Support for TLS auth using the 'certFile' and 'keyFile', and/or 'caFile'
   706                  keys is deprecated. Please use `.spec.certSecretRef` instead.
   707                properties:
   708                  name:
   709                    description: Name of the referent.
   710                    type: string
   711                required:
   712                - name
   713                type: object
   714              suspend:
   715                description: |-
   716                  Suspend tells the controller to suspend the reconciliation of this
   717                  HelmRepository.
   718                type: boolean
   719              timeout:
   720                description: |-
   721                  Timeout is used for the index fetch operation for an HTTPS helm repository,
   722                  and for remote OCI Repository operations like pulling for an OCI helm
   723                  chart by the associated HelmChart.
   724                  Its default value is 60s.
   725                pattern: ^([0-9]+(\.[0-9]+)?(ms|s|m))+$
   726                type: string
   727              type:
   728                description: |-
   729                  Type of the HelmRepository.
   730                  When this field is set to  "oci", the URL field value must be prefixed with "oci://".
   731                enum:
   732                - default
   733                - oci
   734                type: string
   735              url:
   736                description: |-
   737                  URL of the Helm repository, a valid URL contains at least a protocol and
   738                  host.
   739                pattern: ^(http|https|oci)://.*$
   740                type: string
   741            required:
   742            - url
   743            type: object
   744          status:
   745            default:
   746              observedGeneration: -1
   747            description: HelmRepositoryStatus records the observed state of the HelmRepository.
   748            properties:
   749              artifact:
   750                description: Artifact represents the last successful HelmRepository
   751                  reconciliation.
   752                properties:
   753                  digest:
   754                    description: Digest is the digest of the file in the form of '<algorithm>:<checksum>'.
   755                    pattern: ^[a-z0-9]+(?:[.+_-][a-z0-9]+)*:[a-zA-Z0-9=_-]+$
   756                    type: string
   757                  lastUpdateTime:
   758                    description: |-
   759                      LastUpdateTime is the timestamp corresponding to the last update of the
   760                      Artifact.
   761                    format: date-time
   762                    type: string
   763                  metadata:
   764                    additionalProperties:
   765                      type: string
   766                    description: Metadata holds upstream information such as OCI annotations.
   767                    type: object
   768                  path:
   769                    description: |-
   770                      Path is the relative file path of the Artifact. It can be used to locate
   771                      the file in the root of the Artifact storage on the local file system of
   772                      the controller managing the Source.
   773                    type: string
   774                  revision:
   775                    description: |-
   776                      Revision is a human-readable identifier traceable in the origin source
   777                      system. It can be a Git commit SHA, Git tag, a Helm chart version, etc.
   778                    type: string
   779                  size:
   780                    description: Size is the number of bytes in the file.
   781                    format: int64
   782                    type: integer
   783                  url:
   784                    description: |-
   785                      URL is the HTTP address of the Artifact as exposed by the controller
   786                      managing the Source. It can be used to retrieve the Artifact for
   787                      consumption, e.g. by another controller applying the Artifact contents.
   788                    type: string
   789                required:
   790                - lastUpdateTime
   791                - path
   792                - revision
   793                - url
   794                type: object
   795              conditions:
   796                description: Conditions holds the conditions for the HelmRepository.
   797                items:
   798                  description: "Condition contains details for one aspect of the current
   799                    state of this API Resource.\n---\nThis struct is intended for
   800                    direct use as an array at the field path .status.conditions.  For
   801                    example,\n\n\n\ttype FooStatus struct{\n\t    // Represents the
   802                    observations of a foo's current state.\n\t    // Known .status.conditions.type
   803                    are: \"Available\", \"Progressing\", and \"Degraded\"\n\t    //
   804                    +patchMergeKey=type\n\t    // +patchStrategy=merge\n\t    // +listType=map\n\t
   805                    \   // +listMapKey=type\n\t    Conditions []metav1.Condition `json:\"conditions,omitempty\"
   806                    patchStrategy:\"merge\" patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"`\n\n\n\t
   807                    \   // other fields\n\t}"
   808                  properties:
   809                    lastTransitionTime:
   810                      description: |-
   811                        lastTransitionTime is the last time the condition transitioned from one status to another.
   812                        This should be when the underlying condition changed.  If that is not known, then using the time when the API field changed is acceptable.
   813                      format: date-time
   814                      type: string
   815                    message:
   816                      description: |-
   817                        message is a human readable message indicating details about the transition.
   818                        This may be an empty string.
   819                      maxLength: 32768
   820                      type: string
   821                    observedGeneration:
   822                      description: |-
   823                        observedGeneration represents the .metadata.generation that the condition was set based upon.
   824                        For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date
   825                        with respect to the current state of the instance.
   826                      format: int64
   827                      minimum: 0
   828                      type: integer
   829                    reason:
   830                      description: |-
   831                        reason contains a programmatic identifier indicating the reason for the condition's last transition.
   832                        Producers of specific condition types may define expected values and meanings for this field,
   833                        and whether the values are considered a guaranteed API.
   834                        The value should be a CamelCase string.
   835                        This field may not be empty.
   836                      maxLength: 1024
   837                      minLength: 1
   838                      pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$
   839                      type: string
   840                    status:
   841                      description: status of the condition, one of True, False, Unknown.
   842                      enum:
   843                      - "True"
   844                      - "False"
   845                      - Unknown
   846                      type: string
   847                    type:
   848                      description: |-
   849                        type of condition in CamelCase or in foo.example.com/CamelCase.
   850                        ---
   851                        Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be
   852                        useful (see .node.status.conditions), the ability to deconflict is important.
   853                        The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt)
   854                      maxLength: 316
   855                      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])$
   856                      type: string
   857                  required:
   858                  - lastTransitionTime
   859                  - message
   860                  - reason
   861                  - status
   862                  - type
   863                  type: object
   864                type: array
   865              lastHandledReconcileAt:
   866                description: |-
   867                  LastHandledReconcileAt holds the value of the most recent
   868                  reconcile request value, so a change of the annotation value
   869                  can be detected.
   870                type: string
   871              observedGeneration:
   872                description: |-
   873                  ObservedGeneration is the last observed generation of the HelmRepository
   874                  object.
   875                format: int64
   876                type: integer
   877              url:
   878                description: |-
   879                  URL is the dynamic fetch link for the latest Artifact.
   880                  It is provided on a "best effort" basis, and using the precise
   881                  HelmRepositoryStatus.Artifact data is recommended.
   882                type: string
   883            type: object
   884        type: object
   885    served: true
   886    storage: false
   887    subresources:
   888      status: {}

View as plain text