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.
Charmcraft 2.3.0 was just released to
2.x/candidate channels . 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.
The full list of changes can be found on https://github.com/canonical/charmcraft/releases/tag/2.3.0. What follows are the interesting features in this release.
You can now unregister charms if no revision has been published to it using
charmcraft unregister <charm-name>
Libraries can now have dependencies declared
Charmcraft Promote Bundle
This feature was imported from the juju-bundle project and now part of Charmcraft
Charmcraft Recursive Pack
This feature was also imported from the juju-bundle project and now part of Charmcraft
Charmcraft support Centos
There’s preliminary support for Centos; it can now be used a
build-on target, there’s a constraint in that Charmcraft would need to be run from a kernel with CGroups v1.
- 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.