grlx.ingredients.service.providers
grlx has a concept of service providers for different ways to interact with a sprout’s various services. This uses a provider interface to keep this extensible and provide a standard way to interact with different service managers. The Go interface for Service Providers looks like the following:
type ServiceProvider interface { Properties() (map[string]interface{}, error) Parse(id, method string, properties map[string]interface{}) (ServiceProvider, error)
Start(context.Context) error Stop(context.Context) error Status(context.Context) (string, error)
Enable(context.Context) error Disable(context.Context) error IsEnabled(context.Context) (bool, error)
IsRunning(context.Context) (bool, error) Restart(context.Context) error
Mask(context.Context) error Unmask(context.Context) error IsMasked(context.Context) (bool, error)
InitName() string IsInit() bool}By default, grlx only has a systemd provider.
systemd
Section titled “systemd”The systemd provider allows for control over a sprout’s systemd services.
Example
Section titled “Example”service.disabled: - name: cronie.service - userMode: false