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 beta
channel, I’d appreciate any tests on this, please report here any issues you find. In a couple of days I will release it to candidate
, and once I find this is solid enough, I will release it to stable
.
Beware! As it may be expected by a major version release, some backwards compatibility is broken; I just posted details about this, including instructions to stay away from this change and remain in the safe(old) versions…
Version 2.0.0 includes the following changes:
-
Started to use the new Craft CLI, which brings to the project better verbosity levels and improved verbosity-related global options
-
Added programmatic outputs to several commands (related issue)
-
Several deprecations were enforced:
- (DN03) The
bases
key in the configuration is now required (related issue) - (DN04) Removed the
--entrypoint
option from thepack
command (usecharm-entrypoint
in the config) (related issue) - (DN05) Removed the
--requirements
option from thepack
command (usecharm-requirements
in the config) (related issue) - (DN06) Removed the long time deprecated
build
command (usepack
instead)
- (DN03) The
-
Now the
--force
option in thepack
command is also used when packing inside an instance -
Do not expose the logpath (from the instance) when running in managed mode (related issue)
-
Validate the entrypoint after build (not before, as it may be created during the build itself) (related issue)
-
Do not modify the charm’s project when packing using the reactive plugin (related issue)
Use Charmcraft to:
- 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!