Skip to content

Commit b518499

Browse files
committed
Update HelmRepository OCI spec doc
Signed-off-by: Sunny <[email protected]>
1 parent cf3735e commit b518499

File tree

1 file changed

+33
-28
lines changed

1 file changed

+33
-28
lines changed

docs/spec/v1beta2/helmrepositories.md

+33-28
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,9 @@
55
There 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
77
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.
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

120122
You 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,6 +349,9 @@ for more information about setting up GKE Workload Identity.
360349

361350
### Interval
362351

352+
**Note:** This field is ineffectual for [OCI Helm
353+
Repositories](#helm-oci-repository).
354+
363355
`.spec.interval` is a required field that specifies the interval which the
364356
Helm repository index must be consulted at.
365357

@@ -387,6 +379,9 @@ For Helm repositories which require authentication, see [Secret reference](#secr
387379

388380
### Timeout
389381

382+
**Note:** This field is not applicable to [OCI Helm
383+
Repositories](#helm-oci-repository).
384+
390385
`.spec.timeout` is an optional field to specify a timeout for the fetch
391386
operation. The value must be in a
392387
[Go recognized duration string format](https://pkg.go.dev/time#ParseDuration),
@@ -537,6 +532,9 @@ to HTTP/S Helm repositories.
537532

538533
### Suspend
539534

535+
**Note:** This field is not applicable to [OCI Helm
536+
Repositories](#helm-oci-repository).
537+
540538
`.spec.suspend` is an optional field to suspend the reconciliation of a
541539
HelmRepository. When set to `true`, the controller will stop reconciling the
542540
HelmRepository, and changes to the resource or the Helm repository index will
@@ -547,6 +545,10 @@ For practical information, see
547545
[suspending and resuming](#suspending-and-resuming).
548546

549547
## Working with HelmRepositories
548+
549+
**Note:** This section does not apply to [OCI Helm
550+
Repositories](#helm-oci-repository), being a data container, once created, they
551+
are ready to used by [HelmCharts](helmcharts.md).
550552

551553
### Triggering a reconcile
552554

@@ -648,6 +650,10 @@ flux resume source helm <repository-name>
648650

649651
### Debugging a HelmRepository
650652

653+
**Note:** This section does not apply to [OCI Helm
654+
Repositories](#helm-oci-repository), being a data container, they are static
655+
objects that don't require debugging if valid.
656+
651657
There are several ways to gather information about a HelmRepository for debugging
652658
purposes.
653659

@@ -713,9 +719,11 @@ specific HelmRepository, e.g. `flux logs --level=error --kind=HelmRepository --n
713719

714720
## HelmRepository Status
715721

716-
### Artifact
722+
**Note:** This section does not apply to [OCI Helm
723+
Repositories](#helm-oci-repository), they do not contain any information in the
724+
status.
717725

718-
**Note:** This section does not apply to [OCI Helm Repositories](#helm-oci-repository), they do not emit artifacts.
726+
### Artifact
719727

720728
The HelmRepository reports the last fetched repository index as an Artifact
721729
object in the `.status.artifact` of the resource.
@@ -757,9 +765,6 @@ and reports `Reconciling` and `Stalled` conditions where applicable to
757765
provide better (timeout) support to solutions polling the HelmRepository to become
758766
`Ready`.
759767

760-
OCI Helm repositories use only `Reconciling`, `Ready`, `FetchFailed`, and `Stalled`
761-
condition types.
762-
763768
#### Reconciling HelmRepository
764769

765770
The source-controller marks a HelmRepository as _reconciling_ when one of the following

0 commit comments

Comments
 (0)