Charmcraft release 2.1.0 – Call for testing!

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.1.0 includes the following changes:

  • Created the profile option for the init command; templates provided so far:

    • simple: (the default if --profile not used) a basic kubernetes charm with lot of texts helping the developer to navigate their first charm, including unit and integration tests and tox configuration (related issue)
    • kubernetes: also a k8s charm but more sintetic, aimed for more experienced developers
    • machine: also a sintetic base charm but meant to be deployed in machine-based environments (related issues this and this)
  • Use incremental delays (with very small first ones) during the polling of upload status (related issue)

  • Instrumented the pack command so timings can be easily captured (related issue)

    • provided a --measure option to dump measurements to a file
    • and a tool to visualize those measurements (related issue)
  • Several reactive plugin improvements:

  • Support both image id and digest when uploading oci-image resources. (related issue)

  • Isolated charm_builder.py as a generic plugin script (related issue)

  • Better charm’s entry point validation (it’s a linter now, so it can be ignored or run explicitly)

  • Several internal help messages and web documentation improvements.

Use Charmcraft to:

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!