added multica agent hosts
This commit is contained in:
1 parent
5559cd425d
commit
01cd7b8d1e
32 files changed
+2636
-417
No files matched your search
@@ -0,0 +1,73 @@
|
||||
---
|
||||
# On Linux `multica daemon autostart enable` writes a systemd *user* unit.
|
||||
# A user unit does not start at boot unless the user lingers — without this the
|
||||
# daemon only comes back when someone logs in, which on a headless agent host
|
||||
# is never.
|
||||
- name: Daemon | Enable systemd lingering for the daemon user
|
||||
ansible.builtin.command:
|
||||
argv: ["loginctl", "enable-linger", "{{ multica_user }}"]
|
||||
creates: "/var/lib/systemd/linger/{{ multica_user }}"
|
||||
become: true
|
||||
when:
|
||||
- multica_enable_linger | bool
|
||||
- multica_autostart | bool
|
||||
|
||||
- name: Daemon | Wait for the user's runtime directory
|
||||
ansible.builtin.wait_for:
|
||||
path: "/run/user/{{ _multica_uid }}"
|
||||
state: present
|
||||
timeout: 30
|
||||
become: true
|
||||
when:
|
||||
- multica_enable_linger | bool
|
||||
- multica_autostart | bool
|
||||
|
||||
- name: Daemon | Read the current autostart registration
|
||||
ansible.builtin.command:
|
||||
argv: "{{ _multica_cmd + ['daemon', 'autostart', 'status'] }}"
|
||||
become: true
|
||||
become_user: "{{ multica_user }}"
|
||||
environment: "{{ _multica_user_env }}"
|
||||
register: _multica_autostart_status
|
||||
changed_when: false
|
||||
failed_when: false
|
||||
check_mode: false
|
||||
|
||||
- name: Daemon | Register boot autostart
|
||||
ansible.builtin.command:
|
||||
argv: "{{ _multica_cmd + ['daemon', 'autostart', 'enable'] }}"
|
||||
become: true
|
||||
become_user: "{{ multica_user }}"
|
||||
environment: "{{ _multica_user_env }}"
|
||||
when:
|
||||
- multica_autostart | bool
|
||||
- _multica_autostart_status.rc != 0
|
||||
or 'enabled' not in (_multica_autostart_status.stdout | default('') | lower)
|
||||
changed_when: true
|
||||
|
||||
- name: Daemon | Read daemon status
|
||||
ansible.builtin.command:
|
||||
argv: "{{ _multica_cmd + ['daemon', 'status', '--output', 'json'] }}"
|
||||
become: true
|
||||
become_user: "{{ multica_user }}"
|
||||
environment: "{{ _multica_user_env }}"
|
||||
register: _multica_daemon_status
|
||||
changed_when: false
|
||||
failed_when: false
|
||||
check_mode: false
|
||||
|
||||
- name: Daemon | Start it if it is not already running
|
||||
ansible.builtin.command:
|
||||
argv: "{{ _multica_cmd + ['daemon', 'start'] }}"
|
||||
become: true
|
||||
become_user: "{{ multica_user }}"
|
||||
environment: "{{ _multica_user_env }}"
|
||||
when: >-
|
||||
_multica_daemon_status.rc != 0
|
||||
or ((_multica_daemon_status.stdout | from_json).status | default('')) != 'running'
|
||||
changed_when: true
|
||||
|
||||
# Anything that changed the binary, the config or the credentials restarts the
|
||||
# daemon here, before verification reads its state back.
|
||||
- name: Daemon | Flush handlers
|
||||
ansible.builtin.meta: flush_handlers
|
||||
Reference in new issue
Block a user