Charm Tech pulses 2025#22 & 23

A reminder from the last report: the latest version of ops is a beta release with a new low-level API matching the Juju hook commands, refactoring ops to use the new API internally. Please help us by running your charms’ integration tests with ops==3.4.0b3! We’re very keen to minimise any chance of breaking your charms!

We’ve worked on a collection of small Jubilant and ops improvements, and we’ve continued the migration from the old charm-relation-interfaces repository to the new charmlibs one. We’ve got quite a bit of Pebble work lined up this cycle, and made a start on some of that.

Ops

  • Refactored the secrets code to avoid caching secret metadata (#2143).
  • Added the number of items in the queue when processing deferred notices (#2161).
  • Some small fixes to the hookcmds package added in 3.4.0b1 (#2170, #2174, #2175, #2179).
  • Dropped code that only existed to support Python 3.8 or 3.9 (#2173).
  • Storage events no longer call storage-get --help (!) to get the storage ID (#2172).

Charming

Jubilant

  • Fixed app/leader unit syntax for exec (#216).
  • Added show_model() method (#218).
  • Added version() method (#219).
  • Added add_credential() method (#221).
  • Changed the machine parameter in exec from int to int|str (#223).
  • Added add_ssh_key() and remove_ssh_key() methods (#228).
  • Started work on running tests against Juju 4.0.
  • Clarified that Jubilant is not only for charm integration tests (#215).

Charmlibs

Pebble

  • Started work on a FIPS-compliant Pebble.
  • Drafted a spec for concealing sensitive content in environment variables from non-admin users.

Documentation

2 Likes