55There are 2 [ Helm repository types] ( #type ) defined by the ` HelmRepository ` API:
66- Helm HTTP/S repository, which defines a Source to produce an Artifact for a Helm
77repository index YAML (` index.yaml ` ).
8- - OCI Helm repository, which defines a source that does not produce an Artifact.
9- Instead a validation of the Helm repository is performed and the outcome is reported in the
10- ` .status.conditions ` field .
8+ - OCI Helm repository, which defines a source that does not produce an Artifact.
9+ It's a data container to store the information about the OCI repository that
10+ can be used by [ HelmChart ] ( helmcharts.md ) to access OCI Helm charts .
1111
1212## Examples
1313
@@ -113,9 +113,11 @@ In the above example:
113113
114114- A HelmRepository named `podinfo` is created, indicated by the
115115 ` .metadata.name` field.
116- - The source-controller performs the Helm repository url validation i.e. the url
117- is a valid OCI registry url, every five minutes with the information indicated by the
118- ` .spec.interval` and `.spec.url` fields.
116+ - A HelmChart that refers to this HelmRepository uses the URL in the `.spec.url`
117+ field to access the OCI Helm chart.
118+
119+ **NOTE:** The `.spec.interval` field is only used by the `default` Helm
120+ repository and is ignored for any value in `oci` Helm repository.
119121
120122You can run this example by saving the manifest into `helmrepository.yaml`.
121123
@@ -129,25 +131,12 @@ You can run this example by saving the manifest into `helmrepository.yaml`.
129131
130132 ` ` ` console
131133 NAME URL AGE READY STATUS
132- podinfo oci://ghcr.io/stefanprodan/charts 3m22s True Helm repository "podinfo" is ready
134+ podinfo oci://ghcr.io/stefanprodan/charts 3m22s
133135 ` ` `
134136
135- 3. Run `kubectl describe helmrepository podinfo` to see the [Conditions](#conditions)
136- in the HelmRepository's Status :
137-
138- ` ` ` console
139- ...
140- Status:
141- Conditions:
142- Last Transition Time: 2022-05-12T14:02:12Z
143- Message: Helm repository "podinfo" is ready
144- Observed Generation: 1
145- Reason: Succeeded
146- Status: True
147- Type: Ready
148- Observed Generation: 1
149- Events: <none>
150- ` ` `
137+ Because the OCI Helm repository is a data container, there's nothing to report
138+ for `READY` and `STATUS` columns above. The existence of the object can be
139+ considered to be ready for use.
151140
152141# # Writing a HelmRepository spec
153142
@@ -360,8 +349,12 @@ for more information about setting up GKE Workload Identity.
360349
361350# ## Interval
362351
363- ` .spec.interval` is a required field that specifies the interval which the
364- Helm repository index must be consulted at.
352+ **Note:** This field is ineffectual for [OCI Helm
353+ Repositories](#helm-oci-repository).
354+
355+ ` .spec.interval` is a an optional field that specifies the interval which the
356+ Helm repository index must be consulted at. When not set, the default value is
357+ ` 1m` .
365358
366359After successfully reconciling a HelmRepository object, the source-controller
367360requeues the object for inspection after the specified interval. The value
@@ -387,11 +380,14 @@ For Helm repositories which require authentication, see [Secret reference](#secr
387380
388381# ## Timeout
389382
383+ **Note:** This field is not applicable to [OCI Helm
384+ Repositories](#helm-oci-repository).
385+
390386` .spec.timeout` is an optional field to specify a timeout for the fetch
391387operation. The value must be in a
392388[Go recognized duration string format](https://pkg.go.dev/time#ParseDuration),
393- e.g. `1m30s` for a timeout of one minute and thirty seconds. The default value
394- is `60s `.
389+ e.g. `1m30s` for a timeout of one minute and thirty seconds. When not set, the
390+ default value is `1m `.
395391
396392# ## Secret reference
397393
@@ -537,6 +533,9 @@ to HTTP/S Helm repositories.
537533
538534# ## Suspend
539535
536+ **Note:** This field is not applicable to [OCI Helm
537+ Repositories](#helm-oci-repository).
538+
540539` .spec.suspend` is an optional field to suspend the reconciliation of a
541540HelmRepository. When set to `true`, the controller will stop reconciling the
542541HelmRepository, and changes to the resource or the Helm repository index will
@@ -547,6 +546,10 @@ For practical information, see
547546[suspending and resuming](#suspending-and-resuming).
548547
549548# # Working with HelmRepositories
549+
550+ **Note:** This section does not apply to [OCI Helm
551+ Repositories](#helm-oci-repository), being a data container, once created, they
552+ are ready to used by [HelmCharts](helmcharts.md).
550553
551554# ## Triggering a reconcile
552555
@@ -648,6 +651,10 @@ flux resume source helm <repository-name>
648651
649652# ## Debugging a HelmRepository
650653
654+ **Note:** This section does not apply to [OCI Helm
655+ Repositories](#helm-oci-repository), being a data container, they are static
656+ objects that don't require debugging if valid.
657+
651658There are several ways to gather information about a HelmRepository for debugging
652659purposes.
653660
@@ -713,9 +720,11 @@ specific HelmRepository, e.g. `flux logs --level=error --kind=HelmRepository --n
713720
714721# # HelmRepository Status
715722
716- # ## Artifact
723+ **Note:** This section does not apply to [OCI Helm
724+ Repositories](#helm-oci-repository), they do not contain any information in the
725+ status.
717726
718- **Note:** This section does not apply to [OCI Helm Repositories](#helm-oci-repository), they do not emit artifacts.
727+ # ## Artifact
719728
720729The HelmRepository reports the last fetched repository index as an Artifact
721730object in the `.status.artifact` of the resource.
@@ -757,9 +766,6 @@ and reports `Reconciling` and `Stalled` conditions where applicable to
757766provide better (timeout) support to solutions polling the HelmRepository to become
758767` Ready` .
759768
760- OCI Helm repositories use only `Reconciling`, `Ready`, `FetchFailed`, and `Stalled`
761- condition types.
762-
763769# ### Reconciling HelmRepository
764770
765771The source-controller marks a HelmRepository as _reconciling_ when one of the following
0 commit comments