canonical / pebble

Pebble is a lightweight Linux service manager with layered configuration and an HTTP API.
https://canonical-pebble.readthedocs-hosted.com/
GNU General Public License v3.0
146 stars 54 forks source link

feat: add StateStarterUp to move expensive init ops to dedicated methods #330

Closed dmitry-lyfar closed 10 months ago

dmitry-lyfar commented 11 months ago

This PR introduces the StateStarterUp interface alongside its implementations for Overlord and StateEngine.

These changes were ported and adopted for pebble from the original snapd PR: https://github.com/snapcore/snapd/pull/7132

See also: https://github.com/canonical/pebble/pull/327

dmitry-lyfar commented 11 months ago

@benhoyt @anpep based on our previous discussion in https://github.com/canonical/pebble/pull/327, I started the state package updates merge from the StateStarterUp interface as it seems is required by others already.

The other changes as per the plan discussed here will follow in separate PRs.