fluxcd/source-controller

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.