The Operator Framework team is proud to release version 1.5.0 of the Operator Framework! This is a modestly sized release with a few new, non breaking features.
Highlights
- Harness support for simulating storage mounts during testing - allowing disk IO to mounted filepaths and sharing data between shared mounts in charm and workload (via e.g. pebble operations) containers. This should “just work” - as long as you use the storage mount paths provided via e.g.
self.model.storages['storage-name'][0].location
which you should already be doing anyway (right?). - New
Container.push_path
andContainer.pull_path
methods for recursively pushing/pulling directories to/from workload containers. - We’ve begun to implement complete type annotations to improve auto-completion and robustness. Over the next release or so type annotation coverage will continue to improve.
Complete List of Changes
- Modify Harness.set_leader to be more robust, less finicky by @rwcarlsen in https://github.com/canonical/operator/pull/733
- Harness add_layer merge support. by @alesstimec in https://github.com/canonical/operator/pull/738
- Edited test charm to support metadata v2, drop untested v1 fields by @pengale in https://github.com/canonical/operator/pull/748
- Harness: support mocking storage mounts by @rwcarlsen in https://github.com/canonical/operator/pull/734
- More typing by @PietroPasotti in https://github.com/canonical/operator/pull/744
- Typing for storage.py by @PietroPasotti in https://github.com/canonical/operator/pull/749
- Fixes address info value getter by @PietroPasotti in https://github.com/canonical/operator/pull/757
- Typing utils by @PietroPasotti in https://github.com/canonical/operator/pull/755
- PR template. by @pengale in https://github.com/canonical/operator/pull/746
- Typing for model.py by @PietroPasotti in https://github.com/canonical/operator/pull/756
- Recursively push+pull files/dirs to containers by @rwcarlsen in https://github.com/canonical/operator/pull/754
New Contributors
- @alesstimec made their first contribution in https://github.com/canonical/operator/pull/738
Full Changelog: https://github.com/canonical/operator/compare/1.4.0...1.5.0