runit – Manage runit services

New in version 2.3.

Synopsis

  • Controls runit services on remote hosts using the sv utility.

Parameters

Parameter Choices/Defaults Comments
enabled
boolean
    Choices:
  • no
  • yes
Whether the service is enabled or not, if disabled it also implies stopped.
name
string / required
Name of the service to manage.
service_dir
string
Default:
"/var/service"
directory runsv watches for services
service_src
string
Default:
"/etc/sv"
directory where services are defined, the source of symlinks to service_dir.
state
string
    Choices:
  • killed
  • once
  • reloaded
  • restarted
  • started
  • stopped
started/stopped are idempotent actions that will not run commands unless necessary. restarted will always bounce the service (sv restart) and killed will always bounce the service (sv force-stop). reloaded will send a HUP (sv reload). once will run a normally downed sv once (sv once), not really an idempotent operation.

Examples

- name: Start sv dnscache, if not running
  runit:
    name: dnscache
    state: started

- name: Stop sv dnscache, if running
  runit:
    name: dnscache
    state: stopped

- name: Kill sv dnscache, in all cases
  runit:
    name: dnscache
    state: killed

- name: Restart sv dnscache, in all cases
  runit:
    name: dnscache
    state: restarted

- name: Reload sv dnscache, in all cases
  runit:
    name: dnscache
    state: reloaded

- name: Use alternative sv directory location
  runit:
    name: dnscache
    state: reloaded
    service_dir: /run/service

Status

  • This module is guaranteed to have no backward incompatible interface changes going forward. [stableinterface]

  • This module is maintained by the Ansible Community. [community]

Authors

  • James Sumners (@jsumners)

Hint

If you notice any issues in this documentation you can edit this document to improve it.