Charm Tech has been busy with specs, discussions, and reviewing this pulse. There’s a lot of work going into defining how charm libraries (both for interfaces and more general) will be published, distributed, and discovered, as well as improving the process for having charms publicly discoverable on Charmhub. We also received a report from an external evaluation of Pebble performance, and have started work on improvements based on that.
Ops
- Enabled doctests across the operator repository (#1991).
- Worked on a PR to add a new ops-tools package, which will have one initial tool to generate charmcraft.yaml config and action sections based on Python classes (#1975).
- In celebration of the latest beta release, we added Juju 4 to our smoke testing (#1963).
Charming
- Finalised the decision that charm libraries will be released as namespace packages on PyPI in future, like charmlibs.pathops, with development centralised in the charmlibs monorepo. We’re currently working on preparing the monorepo for contributions from outside Charm Tech – expect that to be announced after next pulse, alongside official guidance for contributing libraries and porting libraries from Charmhub.
- Adding support for the bootstrap command to Jubilant (#180)).
- Posted an overview of code sharing in charm monorepos. There are some unique challenges with charm monorepos that still need to be resolved – expect more from us over the next pulse or two.
- Continued work on the spec for the new charmhub public listing process, and its implementation.
- Finished the initial version of threat modelling for ops[…], Jubilant, and Concierge.
Pebble
- Added a new log target type opentelemetry, allowing Pebble to send logs in OpenTelemetry format to an OpenTelemetry collector (#663).
- Updated Pebble SSDLC information, including adding cryptographic documentation.
- Opened items to track smaller performance improvements based on Polar Signals’ analysis.
- Tested and merged the PR from Polar Signals to improve performance of serializing log timestamps.
Documentation
- Refreshed the homepage of the Ops docs, including suggestions for where to start reading and useful resources outside of Ops (#1964).
- Added a new best practice (at the suggestion of Adam Dyess) on not duplicating model-config functionality (#1990)
- Worked on migrating our documentation to use Jubilant for integration tests (#1987, #1988)