Charmcraft supports the development of operators using the Charmed Operator Framework . It enables developers to build, upload and release operators on Charmhub and collaboration through charm libraries.
New Release
Charmcraft 2.4.0 was just released to latest/beta
channel . The team would appreciate any tests on this, if you find a regression or any new issue you can report it on https://github.com/canonical/charmcraft/issues/new.
Changes
The major new features for this are:
- AlmaLinux base support
- Enable unstable builds with non-LTS Ubuntu releases
- Improved charm templates
We also have several bugfixes related to packing charms simultaneously.
Known Issues:
There are still some unfixed issues from the 2.3 series related to charmlibs and dependencies. We are tracking these on GitHub:
- Hashes in requirements.txt
- Packing failures with requirements.txt and pydeps
- Pinned dependencies not working as expected
These are targeted for a fix in 2.4.1, to be released soon.™
Using Charmcraft
- Initialise a new charm and directory structure
- Pack your Charmed Operator into a charm for distribution
- Register your charm name on Charmhub
- Upload your charms to Charmhub
- Release your charms into channels
- Publish and fetch charm libraries
We recommend the Charmed Operator Framework for charm development, but Charmcraft will help you publish charms written in any language. The Charmed Operator Framework enables the development of operators in a simple and straightforward way, using standard Python structures to allow for clean, maintainable, and reusable code.
Happy charming!