5
5
There are 2 [ Helm repository types] ( #type ) defined by the ` HelmRepository ` API:
6
6
- Helm HTTP/S repository, which defines a Source to produce an Artifact for a Helm
7
7
repository 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 .
11
11
12
12
## Examples
13
13
@@ -113,9 +113,11 @@ In the above example:
113
113
114
114
- A HelmRepository named `podinfo` is created, indicated by the
115
115
` .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.
119
121
120
122
You can run this example by saving the manifest into `helmrepository.yaml`.
121
123
@@ -129,25 +131,12 @@ You can run this example by saving the manifest into `helmrepository.yaml`.
129
131
130
132
` ` ` console
131
133
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
133
135
` ` `
134
136
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.
151
140
152
141
# # Writing a HelmRepository spec
153
142
@@ -360,8 +349,12 @@ for more information about setting up GKE Workload Identity.
360
349
361
350
# ## Interval
362
351
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` .
365
358
366
359
After successfully reconciling a HelmRepository object, the source-controller
367
360
requeues the object for inspection after the specified interval. The value
@@ -387,11 +380,14 @@ For Helm repositories which require authentication, see [Secret reference](#secr
387
380
388
381
# ## Timeout
389
382
383
+ **Note:** This field is not applicable to [OCI Helm
384
+ Repositories](#helm-oci-repository).
385
+
390
386
` .spec.timeout` is an optional field to specify a timeout for the fetch
391
387
operation. The value must be in a
392
388
[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 `.
395
391
396
392
# ## Secret reference
397
393
@@ -537,6 +533,9 @@ to HTTP/S Helm repositories.
537
533
538
534
# ## Suspend
539
535
536
+ **Note:** This field is not applicable to [OCI Helm
537
+ Repositories](#helm-oci-repository).
538
+
540
539
` .spec.suspend` is an optional field to suspend the reconciliation of a
541
540
HelmRepository. When set to `true`, the controller will stop reconciling the
542
541
HelmRepository, and changes to the resource or the Helm repository index will
@@ -547,6 +546,10 @@ For practical information, see
547
546
[suspending and resuming](#suspending-and-resuming).
548
547
549
548
# # 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).
550
553
551
554
# ## Triggering a reconcile
552
555
@@ -648,6 +651,10 @@ flux resume source helm <repository-name>
648
651
649
652
# ## Debugging a HelmRepository
650
653
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
+
651
658
There are several ways to gather information about a HelmRepository for debugging
652
659
purposes.
653
660
@@ -713,9 +720,11 @@ specific HelmRepository, e.g. `flux logs --level=error --kind=HelmRepository --n
713
720
714
721
# # HelmRepository Status
715
722
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.
717
726
718
- **Note:** This section does not apply to [OCI Helm Repositories](#helm-oci-repository), they do not emit artifacts.
727
+ # ## Artifact
719
728
720
729
The HelmRepository reports the last fetched repository index as an Artifact
721
730
object in the `.status.artifact` of the resource.
@@ -757,9 +766,6 @@ and reports `Reconciling` and `Stalled` conditions where applicable to
757
766
provide better (timeout) support to solutions polling the HelmRepository to become
758
767
` Ready` .
759
768
760
- OCI Helm repositories use only `Reconciling`, `Ready`, `FetchFailed`, and `Stalled`
761
- condition types.
762
-
763
769
# ### Reconciling HelmRepository
764
770
765
771
The source-controller marks a HelmRepository as _reconciling_ when one of the following
0 commit comments