HelmRepository OCI: without any status
genofire opened this issue · 3 comments
For the following source:
apiVersion: source.toolkit.fluxcd.io/v1beta2
kind: HelmRepository
metadata:
name: a
spec:
interval: 60m0s
provider: generic
secretRef:
name: mirror-auth
timeout: 60s
type: oci
url: oci://docker-virtual.example.org/weaveworks/charts
I have the following problems:
- reconcile:
reconciliation not supported by the object
(maybe okay - no status:
status:{}
is in the manifest of the - metric is
gotk_resource_info{customresource_group="source.toolkit.fluxcd.io", customresource_kind="HelmRepository", customresource_version="v1beta2", exported_namespace="default", name="components-weavegitops", url="oci://docker-virtual.example.org/weaveworks/charts"} 1
and has no ready label like all other CRD sources following your docu https://github.com/fluxcd/flux2-monitoring-example
flux version
flux: v2.2.2
distribution: flux-v2.2.2
helm-controller: v0.37.2
kustomize-controller: v1.2.1
source-controller: v1.2.3
Related
found that, but there was another usage error:
how to get an status, if the oci access work?
how to get an status, if the oci access work?
The access call is made only when there is a chart defined, so by creating a HelmRelease you will find out then, if the auth was Ok or not.
Yes, the HelmRelease which use that HelmRepository (and the HelmChart) has an status flag with Ready=True.
But there is still nothing the HelmRepository.
An Error on HelmChart / HelmRelease in the Prometheus Alerts let somebody identicate if the HelmChart exists in the Repo or the HelmRelease has valid Values ... so it is not nice, that there is no status at HelmRepository level.
@genofire maybe #1249 would provide you with more details about why HelmRepository OCI has no status now and what it means for observability. Maybe it would be helpful to state that since these Ready status are read from the status of flux CRD objects, they are bound to the kubernetes API conventions and how they report ready status. Unless something is said to failing, we can assume that everything is okay. So, unless you see explicit Ready=False on any object, you can interpret it as the object is ready. Even if there's no status to show readiness. Objects like Secrets and ConfigMaps don't have the concept of readiness, so they don't have a status. Similarly, some of the flux objects are static and don't need to report status. Just their existence can be interpreted as they are ready.
Hope it helps.