Summary
Add a shared framework for managing system services required by workstation modules without embedding direct systemctl commands throughout module implementations.
Service operations should be explicit, idempotent, dry-run aware, and integrated with execution planning and verification.
Scope
- Provide shared service-management utilities
- Detect whether the target system uses systemd before attempting systemd operations
- Support checking whether a service exists
- Support checking whether a service is enabled
- Support checking whether a service is active
- Support enabling and disabling services where explicitly requested
- Support starting, stopping, and restarting services where required
- Avoid restarting services when no relevant change occurred
- Route privileged service operations through the shared execution layer
- Integrate service actions with execution planning
- Support dry-run behaviour for all service operations
- Allow modules to declare required service state without calling
systemctl directly
- Provide post-action verification of required service state
- Report unavailable or failed services clearly
Acceptance Criteria
- Modules do not need to execute
systemctl directly
- Service existence and current state can be queried safely
- Already-satisfied service states are skipped
- Services are not restarted unnecessarily
- Privileged service operations use the shared execution layer
- Dry-run reports intended service changes without modifying the system
- Service actions appear in the execution plan
- Required service states can be verified after execution
- Missing required services fail with clear errors
- Systems without systemd fail or skip according to explicit module requirements
- Service-management behaviour can be tested without changing the developer workstation
Summary
Add a shared framework for managing system services required by workstation modules without embedding direct
systemctlcommands throughout module implementations.Service operations should be explicit, idempotent, dry-run aware, and integrated with execution planning and verification.
Scope
systemctldirectlyAcceptance Criteria
systemctldirectly