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.04
base 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
revisions
and other commands’ outputs to show detailed timestamps (related issue). -
The
pack
command now includes by default theactions
directory, if present (related issue). -
A keyring is not longer required in the system when using the
--export
option in thelogin
command (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
--shell
option for thepack
command (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!