Charm Tech pulse 2026#2

This pulse saw substantial updates to our Kubernetes Charm Tutorial, which now uses uv and charmcraft init. We’ve also committed to maintaining the Charm Engineering onboarding module going forward. We also hosted our first AMA with the Platform Engineering team this pulse, and will continue with our AMA sessions for charming teams this cycle. This pulse also saw releases of our various projects, as well as continued work on specifications, and improvements to the Charmhub public listing review system.

Ops

  • Released Ops 3.5.1 with a number of bug fixes.

Charming

  • Released Concierge 1.3, which handles CI environments having existing containerd setups.

  • Worked on adding a --dry-run feature to Concierge.

  • Worked on adding support for custom image registries to Concierge.

  • Released Jubilant 1.7.0, which adds support for the model-constraints command, and adds the remaining arguments for the destroy_model method.

  • Updated Jubilant to match the Juju 4.0.1 behaviour when attempting to run an invalid action - all the Jubilant integration tests now pass with Juju 4 (#245).

  • A few small improvements to the Charmhub public listing review system, particularly improving the links to documentation in the generated checklist, and filling the list of managers (#41, #42, #43, #45).

  • Updated the Charm Engineering onboarding quiz for the latest Charmcraft versions.

  • Further work on a new spec to guide interface design, particularly in light of interface upgrades.

Charmlibs

  • Added docs to explain that charmlibs is for the public libraries and interfaces that are part of the broader charming ecosystem, while Python packages for team-internal code sharing and managing private interfaces should be distributed by other means – more to come on this (#304).

  • Big thanks to Rene from Certification for taking the initiative and migrating the passwd library to charmlibs (#305)! It’s now available on PyPI.

  • Added teams as CODEOWNERS for the interfaces that they maintain, and updated metadata for these interfaces. If you’re familiar with your team’s interfaces, feel free to jump in with suggestions or confirmation that things look right – your feedback is greatly appreciated here: Identity (#312), IS (#315), Data Platform (#317), Kubeflow (#319). And thank you to the teams whose PRs we’ve merged so far: Observability (#274), TLS (#318), HPC (#320).

  • Continued work on a spec for how charmlibs should distribute sample relation data and test doubles for testing.

Pebble

  • Released Pebble 1.28.0, which requires admin access for GET /v1/plan.

  • Decided against changing the way that Pebble manages services in order to have more flexibility on handling service exits. Our proof-of-concepts and research indicated that it was too invasive to be justified for the one known potential use-case.

Documentation

Substantially updated Write your first Kubernetes charm. The tutorial now uses the new uv-based Charmcraft profile that comes with Charmcraft 4 (#2285).

1 Like