49 lines
1.5 KiB
YAML
49 lines
1.5 KiB
YAML
- name: "Create application service group"
|
|
ansible.builtin.group:
|
|
name: "{{ service_group_name }}"
|
|
state: present
|
|
gid: "{{ service_group_id }}"
|
|
|
|
- name: "Create service user"
|
|
user:
|
|
name: "{{ service_user_name }}"
|
|
password: "{{ lookup('password', '/dev/null chars=ascii_lowercase,digits length=16') | string | password_hash('sha512') }}"
|
|
uid: "{{ service_user_id }}"
|
|
update_password: on_create
|
|
shell: /bin/zsh
|
|
comment: Service Account
|
|
group: "{{ service_group_name }}"
|
|
groups: docker
|
|
|
|
- name: "Create service directory"
|
|
ansible.builtin.file:
|
|
path: "{{ service_directory }}"
|
|
state: directory
|
|
mode: '0770'
|
|
owner: "{{ service_user_name }}"
|
|
group: "{{ service_group_name }}"
|
|
|
|
- block:
|
|
- name: "Create volume directories"
|
|
ansible.builtin.file:
|
|
path: "{{ service_directory }}/data/{{ item }}"
|
|
state: directory
|
|
mode: '0770'
|
|
owner: "{{ service_user_name }}"
|
|
group: "{{ service_group_name }}"
|
|
loop: '{{ service_volume_dirs }}'
|
|
|
|
- name: Copy docker compose config to target
|
|
template:
|
|
src: "../templates/{{ service_name }}/docker-compose.yml.j2"
|
|
dest: "{{ service_directory }}/docker-compose.yml"
|
|
mode: '0644'
|
|
|
|
- name: Copy .env to target
|
|
tags: always
|
|
template:
|
|
src: "../templates/{{ service_name }}/.env.j2"
|
|
dest: "{{ service_directory }}/.env"
|
|
mode: '0644'
|
|
become: yes
|
|
become_user: "{{ service_user_name }}" |