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.5.0 is currently building for release to the
latest/candidate channel . The team would appreciate anyone who would like to test this. If you find a regression or any new issue, please report it at https://github.com/canonical/charmcraft/issues/new.
The major new features for this are:
charmcraft initnow uses the new unified
- Opt-in strict dependency management
- Shared wheel cache between build environments on the same host
- Add support for Ubuntu mantic based charms (not for production use )
Please view more about these changes in this earlier post.
charmcraft cleandoesn’t always remove the lxd instance
charmcraft pack --my-suitcasestill does not work as expected.
If you find any issues, please raise them on our bug tracker
Under the hood
We have several major changes that shouldn’t affect the user experience right now, but prepare for much bigger changes coming soon! These include:
- Early rockcraft-style extensions support
- The Charmcraft snap is now based on core22
- 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.