service

package
v0.1.0-dev.20260312170020 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 12, 2026 License: MIT Imports: 2 Imported by: 0

Documentation

Overview

Package service provides platform-agnostic service management actions.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Provider

type Provider struct {
	op.ProviderBase
}

Provider provides platform-agnostic service management. Platform-specific behavior is delegated to p.Context().Platform.ServiceManager.

+devlore:access=planned

func (*Provider) CompensateDisable

func (p *Provider) CompensateDisable(state Tombstone) error

CompensateDisable undoes a Disable by enabling the service if it was enabled before.

func (*Provider) CompensateEnable

func (p *Provider) CompensateEnable(state Tombstone) error

CompensateEnable undoes an Enable by disabling the service if it wasn't enabled before.

func (*Provider) CompensateRestart

func (p *Provider) CompensateRestart(_ Tombstone) error

CompensateRestart is a no-op. A restarted service was already running.

func (*Provider) CompensateStart

func (p *Provider) CompensateStart(state Tombstone) error

CompensateStart undoes a Start by stopping the service if it wasn't running before.

func (*Provider) CompensateStop

func (p *Provider) CompensateStop(state Tombstone) error

CompensateStop undoes a Stop by starting the service if it was running before.

func (*Provider) Disable

func (p *Provider) Disable(name Resource) (Resource, Tombstone, error)

Disable disables a service from starting at boot.

Parameters:

  • name: service resource identifying the service

func (*Provider) Enable

func (p *Provider) Enable(name Resource) (Resource, Tombstone, error)

Enable enables a service to start at boot.

Parameters:

  • name: service resource identifying the service

func (*Provider) Enabled

func (p *Provider) Enabled(name Resource) (bool, error)

Enabled returns true if the named service is enabled to start at boot.

Parameters:

  • name: service resource to check

func (*Provider) Exists

func (p *Provider) Exists(name Resource) (bool, error)

Exists returns true if the named service exists on the system.

Parameters:

  • name: service resource to check

func (*Provider) Restart

func (p *Provider) Restart(name Resource) (Resource, Tombstone, error)

Restart restarts a service. Compensation is a no-op — if the service was restarted, it was already running.

Parameters:

  • name: service resource identifying the service

func (*Provider) Running

func (p *Provider) Running(name Resource) (bool, error)

Running returns true if the named service is currently running.

Parameters:

  • name: service resource to check

func (*Provider) Start

func (p *Provider) Start(name Resource) (Resource, Tombstone, error)

Start starts a service.

Parameters:

  • name: service resource identifying the service

func (*Provider) Stop

func (p *Provider) Stop(name Resource) (Resource, Tombstone, error)

Stop stops a service.

Parameters:

  • name: service resource identifying the service

type Resource

type Resource struct {
	op.ResourceBase
	Name string
}

Resource represents a system service.

func ResourceFromValue

func ResourceFromValue(v any) (Resource, error)

ResourceFromValue constructs a service.Resource from a string service name.

Parameters:

  • v: expected to be a string service name

Returns:

  • Resource: initialized with the given name
  • error: if v is not a string

func (Resource) String

func (r Resource) String() string

String returns a compact JSON representation of the resource.

type Tombstone

type Tombstone struct {
	op.TombstoneBase
	Name       string
	WasRunning bool
	WasEnabled bool
}

Tombstone holds service-specific compensation state.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL