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.3.0 was just released to latest/candidate
and 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.
Changes
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.
Unregistering charms
You can now unregister charms if no revision has been published to it using charmcraft unregister <charm-name>
Charmcraft PYDEPS
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.
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!