add support of runit service manager
This commit is contained in:
@@ -7,21 +7,10 @@
|
||||
package: name="{{item.name}}" state="{{item.state}}"
|
||||
become: yes
|
||||
|
||||
- name: packages - add docker GPG key
|
||||
- import_tasks: packages_debian.yml
|
||||
when: ansible_os_family|lower == "debian"
|
||||
apt_key: url=https://download.docker.com/linux/debian/gpg
|
||||
ignore_errors: true
|
||||
become: yes
|
||||
|
||||
- name: packages - define arch
|
||||
set_fact:
|
||||
docker_apt_arch: "{% if ansible_machine == 'aarch64' %}arm64{% endif %}{% if ansible_machine == 'x86_64' %}amd64{% endif %}"
|
||||
|
||||
- name: packages - add docker APT repository
|
||||
when: ansible_os_family|lower == "debian"
|
||||
apt_repository:
|
||||
repo: deb [arch={{docker_apt_arch}}] https://download.docker.com/linux/{{ansible_distribution|lower}} {{ansible_distribution_release}} stable
|
||||
become: yes
|
||||
tags:
|
||||
- debian
|
||||
|
||||
- name: packages - add docker package
|
||||
when: docker_package|length > 0
|
||||
|
||||
@@ -0,0 +1,53 @@
|
||||
---
|
||||
# file: tasks/packages_debian.yml
|
||||
|
||||
- name: packages - add docker GPG key
|
||||
apt_key: url=https://download.docker.com/linux/debian/gpg
|
||||
ignore_errors: true
|
||||
become: yes
|
||||
|
||||
- name: packages - define docker_machine
|
||||
set_fact:
|
||||
docker_machine: "{% if ansible_machine == 'aarch64' %}arm64{% endif %}{% if ansible_machine == 'x86_64' %}amd64{% endif %}"
|
||||
when: docker_machine is undefined
|
||||
|
||||
- name: packages - define docker_distribution
|
||||
set_fact:
|
||||
docker_distribution: "{% if ansible_distribution|lower == 'devuan' %}debian{% else %}{{ansible_distribution|lower}}{% endif %}"
|
||||
when: docker_distribution is undefined
|
||||
|
||||
- name: packages - define docker_distribution_release - debian bookworm (not yet available)
|
||||
set_fact:
|
||||
docker_distribution_release: "bullseye"
|
||||
when: docker_distribution_release is undefined and ansible_distribution_release|lower == 'bookworm'
|
||||
|
||||
- name: packages - define docker_distribution_release - devuan daealus
|
||||
set_fact:
|
||||
docker_distribution_release: "bullseye"
|
||||
when: docker_distribution_release is undefined and ansible_distribution_release|lower == 'daedalus/ceres'
|
||||
|
||||
- name: packages - define docker_distribution_release - devuan chimaera
|
||||
set_fact:
|
||||
docker_distribution_release: "bullseye"
|
||||
when: docker_distribution_release is undefined and ansible_distribution_release|lower == 'chimaera'
|
||||
|
||||
- name: packages - define docker_distribution_release - devuan beowulf
|
||||
set_fact:
|
||||
docker_distribution_release: "buster"
|
||||
when: docker_distribution_release is undefined and ansible_distribution_release|lower == 'beowulf'
|
||||
|
||||
- name: packages - define docker_distribution_release - devuan ascii
|
||||
set_fact:
|
||||
docker_distribution_release: "stretch"
|
||||
when: docker_distribution_release is undefined and ansible_distribution_release|lower == 'ascii'
|
||||
|
||||
- name: packages - define docker_distribution_release
|
||||
set_fact:
|
||||
docker_distribution_release: "{{ansible_distribution_release|lower}}"
|
||||
when: docker_distribution_release is undefined
|
||||
|
||||
- name: packages - add docker APT repository
|
||||
apt_repository:
|
||||
repo: deb [arch={{docker_machine}}] https://download.docker.com/linux/{{docker_distribution}} {{docker_distribution_release}} stable
|
||||
become: yes
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
# file: tasks/services.yml
|
||||
|
||||
- name: services - enable/disable docker services
|
||||
when: docker_services is defined and ansible_service_mgr|lower != "openrc"
|
||||
when: docker_services is defined and ansible_service_mgr|lower != "openrc" and ansible_service_mgr|lower != "runit"
|
||||
with_items: "{{ docker_services|default([]) }}"
|
||||
service:
|
||||
name: "{{item.name}}"
|
||||
@@ -10,13 +10,13 @@
|
||||
enabled: "{{item.enabled}}"
|
||||
become: yes
|
||||
|
||||
- name: services - openrc - force service status
|
||||
- name: services - force service status - openrc
|
||||
when: docker_services is defined and ansible_service_mgr|lower == "openrc"
|
||||
shell: "kill -0 $(cat /run/{{item.name}}.pid) && [ ! -h /run/openrc/started/{{item.name}} ] && ln -s /etc/init.d/{{item.name}} /run/openrc/started/{{item.name}} && service {{item.name}} restart ||:"
|
||||
with_items: "{{ docker_services|default([]) }}"
|
||||
become: yes
|
||||
|
||||
- name: services - openrc - enable/disable docker services
|
||||
- name: services - enable/disable docker services - openrc
|
||||
when: docker_services is defined and ansible_service_mgr|lower == "openrc"
|
||||
with_items: "{{ docker_services|default([]) }}"
|
||||
service:
|
||||
@@ -26,7 +26,16 @@
|
||||
runlevel: boot
|
||||
become: yes
|
||||
|
||||
- name: services - openrc - force service restart
|
||||
- name: services - enable/disable docker services - runit
|
||||
when: docker_services is defined and ansible_service_mgr|lower == "runit"
|
||||
with_items: "{{ docker_services|default([]) }}"
|
||||
sysvinit:
|
||||
name: "{{item.name}}"
|
||||
state: "{{item.state}}"
|
||||
enabled: "{{item.enabled}}"
|
||||
become: yes
|
||||
|
||||
- name: services - force service restart - openrc
|
||||
when: ansible_service_mgr|lower == "openrc"
|
||||
shell: "[ ! -d /var/lib/docker/tmp ] && service docker restart ||:"
|
||||
become: yes
|
||||
|
||||
Reference in New Issue
Block a user