canonical / canonical/operator

Changes to consider for next major release (4.x)

Open
#2,350 2 comments 0 reactions 0 assignees View on GitHub
refactoring
Dominant language
Python
Stars
267
Forks
136
Avg merge
1d 22h
Merged PRs (30d)
28

Description

Please add to this list as we go:

- [ ] Remove the "compatibility imports" from `ops.testing`, `ops.model`, etc (for example see https://github.com/canonical/operator/pull/2339)
- [ ] Things that have a deprecation warning/docstring (see comment below)
- [ ] Drop Python 3.10
- [ ] Drop Juju 2.9 / Juju < 3.6
- [ ] https://github.com/canonical/operator/pull/2361
- [ ] `SCENARIO_BARE_CHARM_ERRORS` default
- [ ] Bump min TLS to 1.3 in tracing
- We'd want logs sinks to use Mozilla's generator
- Case in point: https://github.com/canonical/traefik-k8s-operator/pull/535
- [ ] Use TLS VERIFY_STRICT in tracing [matrix message](https://matrix.to/#/!yAkGlrYcBFYzYRvOlQ:ubuntu.com/$ibCVWod_F_dRl7afdHzfgDI5lGTbFhZI3jKtaQVbX50?via=ubuntu.com&via=matrix.org&via=laquadrature.net)
- [ ] Move Harness out to separate package? It could be a required dependency still for one or more versions. Pending deprecation warning for not being in extras if possible.
- [ ] Stop using pickle for storage serialisation? It's not good practice from a security point of view, theoretically you could shove something bad in the storage and get ops to execute it (quite theoretical, to be fair). Maybe a mid point where we can load existing pickled data but dump to something else (YAML? JSON? with some custom serialisers?) and drop pickle some time in the future?
- [x] #2333
- [ ] maybe we could change how Scenario handles the default keys in the databags, so the Juju 3 vs. Juju 4 awkwardness is handled better

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.