Charmhub groups support

Hi,

On the classic charm store, charms can be owned by users or by groups. I’m unclear on how this works on CharmHub.

As an example, there’s the advanced-routing charm (https://jaas.ai/advanced-routing), which is owned by the llama-charmers group on the charm store. I do see there’s a ported version of this charm (https://charmhub.io/advanced-routing), marked as owned by Llama (LMA) Charmers.

On the classic charm store, my membership in the llama-charmers group would allow me to manipulate that charm in the charm store. However, I am unsure how this works on CharmHub. For example, “charmcraft names” only shows charms which were migrated from my personal namespace; I don’t see anything from the llama-charmers group.

How does this work on CharmHub? I’d like to understand this so I can help my team with migration to using CharmHub in general.

1 Like

I believe there is a bit of ‘where we are now’ and ‘where we want to be’ that needs to be discussed. Ultimately @roadmr would be more authoritative here, but I can share my understanding.

There is an intent with snapstore and charmhub that there is ultimately a single person that is the owner/maintainer of a object. (Explicitly someone that you can go to.) However, both of them have the notion of collaborators who can also contribute to a project. Right now, maintaining that collaborator list in Charmhub is not self-service, though there is work being done to improve that.

There is also a goal to allow supplying a group as a collaborator. So that once you have a group that can be maintained across several different charms without needing to maintain the collaborator list independently on each of the charms. However, my understanding is that a group won’t be allowed as the primary author/owner of a charm, only as a collaborator.

It works the same - a charm can be owned by an individual (user) or a Launchpad team. Additionally, collaborators (which can themselves be users or teams) can be added to charms and have the same capabilities (push, release, edit metadata) as the owner.

Note that despite the above being technically possible, the preference and guidance for charms maintained by Canonical employees is for them to be owned by a user, as John mentioned - with teams attached as collaborators but not owning charms. This mainly applies to “new” charms, the ones that are registered directly on charmhub.

This is the same charm - we import charmstore data daily so that any charm available there is also available in charmhub.

A caveat here though, is that those imported charms are read-only on charmhub, meaning you can’t manage (push new revisions, release/publish, edit metadata) them with the charmcraft tool. The way to manage them is to do changes as needed in charmstore using the charm tool and wait for the data sync the next day.

We will plan and announce once we are in a position to flip the “imported charms are read-only” flag, at which point you will be able to manage these imported charms directly on charmhub.

This is correct. Down the line, charmcraft should be able to show charms you’re a collaborator of, but it’s not there yet.

Let me know if you or your team have any questions about charmhub :slight_smile:

  • Daniel