ops
, the Operator Framework, provides a simple, lightweight, and powerful way of
writing Juju charms, the best way to encapsulate operational experience in code.
The framework will help you to:
- model the integration of your services
- manage the lifecycle of your application
- create reusable and scalable components
- keep your code simple and readable
You can read more about the project, including how to get involved, on github.
Release highlights:
-
Controller-side storage is now used automatically (i.e. without the
charm author needing to set theuse_juju_for_storage
flag on
main
) when we’re sure it’s needed. It can still be forced on or
off via that flag to main. -
A workaround for Juju’s lp:1880637 to address #293, so
pod.set_spec
'sk8s_resources
works as expected. But note #387,
as “as expected” might not be as you expect. -
If charm code is run in an environment that does not set
JUJU_VERSION, default to 0.0.0 instead of raising an exception. This
means all the feature checks will fail, but the charm can still
progress. Please let us know if this is not what you want; this
impacts #372. -
Charm authors can now use
harness.hooks_disabled()
as a context
manager to run a block of code without events being fired for them.
Without this you’d have to wrap that code indisable
/enable
pairs.
If you find you need to dive in to the changes of the release itself, you can.