service

package
v0.1.0-dev.20260222182334 Latest Latest
Warning

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

Go to latest
Published: Feb 22, 2026 License: MIT Imports: 6 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Register

func Register(reg *execution.ActionRegistry)

Register registers all service actions with the given registry.

Types

type Disable

type Disable struct{ Impl *Provider }

Disable — Disable disables a service from starting at boot. Returns compensation state with pre-action enabled status.

func (*Disable) Do

func (*Disable) Name

func (o *Disable) Name() string

func (*Disable) Undo

func (o *Disable) Undo(state execution.UndoState) error

type Enable

type Enable struct{ Impl *Provider }

Enable — Enable enables a service to start at boot. Returns compensation state with pre-action enabled status.

func (*Enable) Do

func (*Enable) Name

func (o *Enable) Name() string

func (*Enable) Undo

func (o *Enable) Undo(state execution.UndoState) error

type Enabled

type Enabled struct{ Impl *Provider }

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

func (*Enabled) Do

func (*Enabled) Name

func (o *Enabled) Name() string

type Exists

type Exists struct{ Impl *Provider }

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

func (*Exists) Do

func (*Exists) Name

func (o *Exists) Name() string

type Provider

type Provider struct {
	// contains filtered or unexported fields
}

Provider provides platform-agnostic service management. Platform detection happens at runtime — callers don't need to know whether launchd, systemd, or Windows services are being used.

Compensable Forward methods return (string, map[string]any, error): the service name, the compensation receipt, and an error. The map is opaque to the executor, meaningful only to the corresponding Compensate* Backward method.

func (*Provider) CompensateDisable

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

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

func (*Provider) CompensateEnable

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

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

func (*Provider) CompensateRestart

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

CompensateRestart is a no-op. A restarted service was already running; the service is still running after restart — nothing to undo.

func (*Provider) CompensateStart

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

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

func (*Provider) CompensateStop

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

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

func (*Provider) Disable

func (p *Provider) Disable(name string, output io.Writer) (string, map[string]any, error)

Disable disables a service from starting at boot. Returns compensation state with pre-action enabled status.

Parameters:

  • name: Service name (e.g., launchd label, systemd unit, Windows service)

func (*Provider) Enable

func (p *Provider) Enable(name string, output io.Writer) (string, map[string]any, error)

Enable enables a service to start at boot. Returns compensation state with pre-action enabled status.

Parameters:

  • name: Service name (e.g., launchd label, systemd unit, Windows service)

func (*Provider) Enabled

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

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

Parameters:

  • name: Service name to check

func (*Provider) Exists

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

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

Parameters:

  • name: Service name to check

func (*Provider) Restart

func (p *Provider) Restart(name string, output io.Writer) (string, map[string]any, error)

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

Parameters:

  • name: Service name (e.g., launchd label, systemd unit, Windows service)

func (*Provider) Running

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

Running returns true if the named service is currently running.

Parameters:

  • name: Service name to check

func (*Provider) Start

func (p *Provider) Start(name string, output io.Writer) (string, map[string]any, error)

Start starts a service. Returns compensation state with pre-action running status.

Parameters:

  • name: Service name (e.g., launchd label, systemd unit, Windows service)

func (*Provider) Stop

func (p *Provider) Stop(name string, output io.Writer) (string, map[string]any, error)

Stop stops a service. Returns compensation state with pre-action running status.

Parameters:

  • name: Service name (e.g., launchd label, systemd unit, Windows service)

type Restart

type Restart struct{ Impl *Provider }

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

func (*Restart) Do

func (*Restart) Name

func (o *Restart) Name() string

func (*Restart) Undo

func (o *Restart) Undo(state execution.UndoState) error

type Running

type Running struct{ Impl *Provider }

Running — Running returns true if the named service is currently running.

func (*Running) Do

func (*Running) Name

func (o *Running) Name() string

type Start

type Start struct{ Impl *Provider }

Start — Start starts a service. Returns compensation state with pre-action running status.

func (*Start) Do

func (*Start) Name

func (o *Start) Name() string

func (*Start) Undo

func (o *Start) Undo(state execution.UndoState) error

type Stop

type Stop struct{ Impl *Provider }

Stop — Stop stops a service. Returns compensation state with pre-action running status.

func (*Stop) Do

func (o *Stop) Do(ctx *execution.Context, slots map[string]any) (execution.Result, execution.UndoState, error)

func (*Stop) Name

func (o *Stop) Name() string

func (*Stop) Undo

func (o *Stop) Undo(state execution.UndoState) error

Jump to

Keyboard shortcuts

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