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 3.1.0 was just released to latest/candidate and 3.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 Sign in to GitHub · GitHub.
New Features
To begin with, we have some new documentation. The primary documentation for using Charmcraft is still in the Charm SDK Documentation, but thinks like command references are in this charmcraft-specific documentation.
- Charmcraft has a new
fetch-libscommand, which, when combined with acharmlibkskey incharmcraft.yaml, allows the automatic fetching and updating of multiple charm libraries. - The new, experimental
testcommand is also included in Charmcraft 3.1. Please have a go with it. Documentation is fairly minimal right now, as the implementation is still in flux. - OCI image resource uploads now use skopeo to upload images. Most notably, this means you can enter any skopeo-supported containers-transports URL to upload an OCI container to Charmhub.
- New features to experimental extensions:
django-frameworkandflask-framework. These are designed to work with rocks, for example, rocks with the flask-framework extension. - New releases are automatically published to PyPI (thanks @bittner)!
Bugfixes:
- flask-framework charms now automatically include the
rustupsnap - Symlinked directories are correctly included in charms (previously only symlinked files worked).
- Fixed a crash when using the
frameworklinter with thereactiveplugin - … and several more!
Release Timeframe
The current plan is to release Charmcraft 3.1 to stable next Tuesday, 2024-07-30T00:00:00Z
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!