[ansible] update roles
This commit is contained in:
6
ansible/roles/service/defaults/main.yml
Normal file
6
ansible/roles/service/defaults/main.yml
Normal file
@@ -0,0 +1,6 @@
|
||||
service_name: null
|
||||
service_description: "{{ service_name }} service"
|
||||
service_work_dir: null
|
||||
service_command: null
|
||||
service_user: null
|
||||
service_control_user: null
|
||||
21
ansible/roles/service/tasks/main.yml
Normal file
21
ansible/roles/service/tasks/main.yml
Normal file
@@ -0,0 +1,21 @@
|
||||
---
|
||||
- name: "Install {{ service_name }} systemd unit file"
|
||||
template:
|
||||
src: "template/service.j2"
|
||||
dest: "/etc/systemd/system/{{ service_name }}.service"
|
||||
|
||||
- name: "Start {{ service_name }} service"
|
||||
systemd:
|
||||
enabled: yes
|
||||
state: started
|
||||
name: "{{ service_name }}"
|
||||
daemon_reload: yes
|
||||
|
||||
- name: "Add sudoers record for {{ service_name }} service"
|
||||
lineinfile:
|
||||
path: /etc/sudoers.d/{{ service_name }}
|
||||
state: present
|
||||
create: yes
|
||||
regexp: "^{{ service_control_user }} ALL="
|
||||
line: "{{ service_control_user }} ALL= NOPASSWD: /bin/systemctl * {{ service_name }}"
|
||||
validate: "/usr/sbin/visudo -cf %s"
|
||||
11
ansible/roles/service/tasks/restart.yml
Normal file
11
ansible/roles/service/tasks/restart.yml
Normal file
@@ -0,0 +1,11 @@
|
||||
---
|
||||
# - name: "Restart {{ service_name }} service"
|
||||
# systemd:
|
||||
# enabled: yes
|
||||
# state: restarted
|
||||
# name: "{{ service_name }}"
|
||||
|
||||
- name: "Restart {{ service_name }} service"
|
||||
command: "sudo /bin/systemctl restart {{ service_name }}"
|
||||
args:
|
||||
warn: no
|
||||
15
ansible/roles/service/template/service.j2
Normal file
15
ansible/roles/service/template/service.j2
Normal file
@@ -0,0 +1,15 @@
|
||||
[Unit]
|
||||
Description={{ service_description }}
|
||||
|
||||
[Service]
|
||||
Type=simple
|
||||
PIDFile=/var/run/{{ service_name }}.pid
|
||||
WorkingDirectory={{ service_work_dir }}
|
||||
User={{ service_user }}
|
||||
Group={{ service_user }}
|
||||
ExecStart={{ service_command }}
|
||||
TimeoutSec=300
|
||||
Restart=always
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
Reference in New Issue
Block a user