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.
This new version was just released to candidate channel, we’d appreciate any tests on this, please report here any issues you find. Once we find this is solid enough, we will release it to stable.
It includes the following changes:
-
The
22.04base is now supported (related issue). -
Improved error messages for the JujuMetadata and other linters (related issue).
-
Better support for packing charms using Multipass provider in environments without
snapd. -
Enhanced the
revisionsand other commands’ outputs to show detailed timestamps (related issue). -
The
packcommand now includes by default theactionsdirectory, if present (related issue). -
A keyring is not longer required in the system when using the
--exportoption in thelogincommand (related issue). -
The entrypoint is now always validated to be correct, even if it’s the default
src/charm.py(related issue). -
Produced a specification for Charmcraft Programmatic Outputs.
-
Fixed the user interaction in the
--shelloption for thepackcommand (related issue).
Use Charmcraft to:
- 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!