This pulse saw releases of Ops, Jubilant, and Pebble. Many thanks to those of you that helped out by running your charm integration tests against the Ops beta releases.
We’ve also migrated the charm-relation-interfaces repository to the new charmlibs monorepo. From now on, all interface definitions & documentation live in the charmlibs monorepo, and are automatically published on the Charmlibs site. Please continue to contribute new interfaces and updates to existing interfaces.
Ops
-
Released Ops 3.4.0, which provides an API to the Juju hook commands.
-
Added an environment variable to disable
ops.testingwrapping charm errors inUncaughtCharmError(#2142). The default behaviour won’t change until a future majoropsrelease, when we’ll stop wrapping charm errors by default. -
Removed the linting excludes from
ops[testing]tests (#2200). -
Added the ability to set the principal unit and availability zone in the
testing.Context(#2187). -
Ops is now tested against Juju 4.0, 3.6 and 2.9; however we are not removing support for Juju 3.1 ~ 3.5 just yet.
Charming
-
Released Jubilant v1.6.1, which includes new methods for
version,show_model,add_credential, and*_ssh_key. It also automatically copies files for the snap version of Juju, and adds various smaller improvements. -
Avoided unnecessary LXD restarts in Concierge, to speed-up re-runs (#124).
-
We will be restarting the AMA sessions, please indicate your interest!
Charmlibs
-
The charm-relation-interfaces repository has been archived. Interface definitions and documentation live on in the charmlibs monorepo, alongside interface libraries, and the low-level interface docs are now hosted in the Charmlibs documentation. Please continue to contribute new interfaces and updates to existing interfaces. We’ll be assigning CODEOWNERS to the existing interfaces over the coming pulse, but you’re more than welcome to submit PRs claiming ownership of the interfaces your team maintains.
-
charmlibs-systemd version 1.0 is now available on PyPI! This is a feature complete migration of operator-libs-linux’s systemd v1 (patch version 4). Big thanks to @nuccitheboss for taking the initiative on this migration and doing all the legwork, including updating the unit tests to use pytest! We’ll be migrating the rest of the
operator-libs-linuxlibraries this cycle.
Pebble
-
Released Pebble v1.26.0, which includes mTLS support for projects that build on Pebble, as well as two minor bug fixes. Updated Juju 3.6 and 4.0 to use this latest version of Pebble.
-
Added a log target type of “syslog” to forward logs in syslog format (RFC 5424). This was contributed by Yan Jiang on the networking team. This PR only supports TCP, but he’s working on a follow-up PR to support UDP as well.
-
Finished drafting a spec for concealing sensitive content in environment variables from non-admin users.
-
Started looking into adding the ability to run custom scripts when a service exits.
-
Automated security scanning and SBOM generation for Pebble releases (#731).
-
Working on the first release of FIPS-compliant Pebble (#734). That’s the minimalist approach where all cryptography is disabled: essentially, an HTTP-only, no basic auth build.
Documentation
- Charmcraft 4 updated the
kubernetes&machineprofiles ofcharmcraft initto use uv for managing dependencies and the uv plugin for packing. We’re updating the Ops docs to recommend using the same setup (#2213, #2217, and upcoming PRs).