How to publish your charm on Charmhub
See also:
You’ve packed your charm. You’ve also prepared a nice README file for your charm. You are now ready to share it with the world! You can of course share it privately, but it’s more effective to share it publicly. And you can share it on your own website, but you can probably reach more people faster if you share it in a more public forum. This document demonstrates how to publish your charm to the official repository of charms, Charmhub.
Just like initialising and building your charm, publishing your charm can also be easily done using Charmcraft.
Contents:
Log in to Charmhub
See also:
charmcraft login
To log into Charmhub, use the login
command:
$ charmcraft login
Opening an authorization web page in your browser.
If it does not open, please open this URL:
...
Your charmcraft
session will expire automatically, but you’ll be prompted to re-authenticate automatically next time you try to access a feature that requires interaction with Charmhub.
Register your charm’s name
See also:
charmcraft register
, Charm naming guidelines,charmcraft names
To register your charm’s name to your account, use the register
command follow by your desired charm name:
$ charmcraft register my-awesome-charm
Congrats! You are now the publisher of 'my-awesome-charm'
You only need to register the name if you haven’t already registered it before. You can check which names you have already registered by running charmcraft names
.
Upload the charm
See also:
charmcraft upload
To upload the charm, use the upload
command followed by the your charm’s filepath.
charmcraft upload my-awesome-charm.charm
Revision 1 of my-awesome-charm created
Every time a new binary is uploaded for a charm, a new revision is created on Charmhub. We can verify its current status easily by running charmcraft revisions <charm-name>
.
Release the charm
See also:
charmcraft release
,charmcraft status
Finally, release your charm into a channel so it can become available for downloading:
$ charmcraft release my-awesome-charm --revision=1 --channel=beta
Revision 1 of charm 'my-awesome-charm' released to beta
Only once the charm is released (to any channel) will Charmhub display the charm’s information at charmhub.io/charm-name
. The default information displayed is obtained from the most stable channel.
Just in case, also check your charm’s status:
$ charmcraft status my-awesome-charm
Track Channel Version Revision
latest stable - -
candidate - -
beta 0.1 1
edge ↑ ↑
If your charm is designed to work on Kubernetes, or otherwise requires the use of additional resources, there are additional steps required to upload the resources and attach them to a release. To find out more, see How to publish your charm’s resources.
Last updated 5 months ago.