canonical/charmhub.io

Need to be able to tell the workload version of a charm by looking at charmhub

Opened this issue · 1 comments

sed-i commented

Charms have the resource page, but it is opaque:

  • it doesn't say which resource revision a given charm revision is linked to
  • a resource revision doesn't say anything about the workload version

image

Right now, we have to rely on CI or charmcraft status to know which belongs where:

$ charmcraft status prometheus-k8s
Track    Base                  Channel    Version    Revision    Resources               
latest   ubuntu 20.04 (amd64)  stable     103        103         prometheus-image (r83)  
                               candidate  103        103         prometheus-image (r83)  
                               beta       103        103         prometheus-image (r83)  
                               edge       113        113         prometheus-image (r92)  
1.0      ubuntu 20.04 (amd64)  stable     103        103         prometheus-image (r83)  
                               candidate  103        103         prometheus-image (r83)  
                               beta       103        103         prometheus-image (r83)  
                               edge       103        103         prometheus-image (r83)

and, armed with that knowledge, go and look into the history of metadata.yaml, hoping that upstream-source is in fact utilized:

resources:
  prometheus-image:
    type: oci-image
    description: Container image for Prometheus
    upstream-source: ghcr.io/canonical/prometheus:latest

...only to find out that in this case it's latest.

Long story short: to know the workload version we currently have to deploy the charm first.

This is an easy fix simply by listing a digest/sha256 next to all revisions (if they're OCI images)