Skip to content

runit Operations

Manage runit services.

Facts used in these operations: files.File, runit.RunitManaged, runit.RunitStatus.

runit.auto

Start service automatically by managing the service/down file.

runit.auto(service: 'str', auto: 'bool' = True, sourcedir: 'str' = '/etc/sv',
         **kwargs,
    )
  • service: name of the service to manage
  • auto: whether the service should start automatically
  • sourcedir: where to search for available services

Global arguments

This operation also inherits all global arguments.

runit.manage

Manage runit svdir links.

runit.manage(
         service: 'str',
         managed: 'bool' = True,
         svdir: 'str' = '/var/service',
         sourcedir: 'str' = '/etc/sv',
         **kwargs,
    )
  • service: name of the service to manage
  • managed: whether the link should exist
  • svdir: alternative SVDIR
  • sourcedir: where to search for available services

Global arguments

This operation also inherits all global arguments.

runit.service

Manage the state of runit services.

runit.service(
         service: 'str',
         running: 'bool' = True,
         restarted: 'bool' = False,
         reloaded: 'bool' = False,
         command: 'str | None' = None,
         enabled: 'bool | None' = None,
         managed: 'bool' = True,
         svdir: 'str' = '/var/service',
         sourcedir: 'str' = '/etc/sv',
         **kwargs,
    )
  • service: name of the service to manage
  • running: whether the service should be running
  • restarted: whether the service should be restarted
  • reloaded: whether the service should be reloaded
  • command: custom command to pass like: sv <command> <service>
  • enabled: whether this service should be enabled/disabled on boot
  • managed: whether runit should manage this service

For services to be controlled, they first need to be managed by runit by adding a symlink to the service in SVDIR. By setting managed=False the symlink will be removed. Other options won't have any effect after that. Although the <service>/down file can still be controlled with the enabled option.

  • svdir: alternative SVDIR

An alternative SVDIR can be specified. This can be used for user services.

  • sourcedir: where to search for available services

An alternative directory for available services can be specified. Example: sourcedir=/etc/sv.local for services managed by the administrator.

Global arguments

This operation also inherits all global arguments.

runit.wait_runsv

Stateless operation

This operation will always execute commands and is not idempotent.

Wait for runsv for service to be available.

runit.wait_runsv(service: 'str', svdir: 'str' = '/var/service', timeout: 'int' = 10,
         **kwargs,
    )
  • service: name of the service to manage
  • svdir: alternative SVDIR
  • timeout: time in seconds to wait

Global arguments

This operation also inherits all global arguments.