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:
-
Everything ready to produce Charmcraft installers for Windows and OS X.
-
Added the
closecommand to close channels in Charmhub. -
Several improvements for packing charms:
-
the Python dependencies are now built locally (binaries from PyPI are not used anymore).
-
added a cache mechanism for the building just mentioned, as it tends to be slow (the
cleancommand can be used to force the nextpackto build everything again). -
introduced Multipass support.
-
added
--debug,--shell, and--shell-afteroptions to enable debugging of the process. -
extended the list of default files to include the LICENSE, README.md and icon files (all optional).
-
-
The
initcommand now creates the given directory if it does not exist (for that, also improved configuration management to support--project-dirpointing to a missing directory). -
Improved the
statuscommand to correctly show tracks without releases.
Use Charmcraft to:
- Initialise a new charm and directory structure
- Build 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!