Migrate services part

This commit is contained in:
Tobias Reisinger 2024-09-27 00:02:36 +02:00
parent 7c59e4ae57
commit 73bce8f6e5
Signed by: serguzim
GPG key ID: 13AD60C237A28DFE
157 changed files with 3883 additions and 9 deletions

View file

@ -0,0 +1,5 @@
---
- name: Import prepare tasks for common service
ansible.builtin.import_tasks: tasks/prepare-common-service.yml
- name: Import start tasks for common service
ansible.builtin.import_tasks: tasks/start-common-service.yml

View file

@ -0,0 +1,11 @@
---
- name: Import tasks to create service directory
ansible.builtin.import_tasks: tasks/steps/create-service-directory.yml
- name: Import tasks to template docker compose file
ansible.builtin.import_tasks: tasks/steps/template-docker-compose.yml
when: compose is defined
- name: Import tasks create a service.env file
ansible.builtin.import_tasks: tasks/steps/template-service-env.yml
when: env is defined

View file

@ -0,0 +1,6 @@
---
- name: Set common facts
ansible.builtin.set_fact:
service_path: "{{ (services_path, role_name | replace('_', '-')) | path_join }}"
docker_force_recreate: ""
docker_rebuild: false

View file

@ -0,0 +1,6 @@
---
- name: Import tasks to template the site for the reverse proxy
ansible.builtin.include_tasks: tasks/steps/template-site-config.yml
when: svc.domain is defined
- name: Import tasks to start the service
ansible.builtin.import_tasks: tasks/steps/start-service.yml

View file

@ -0,0 +1,6 @@
---
- name: Create a service directory
ansible.builtin.file:
path: "{{ service_path }}"
state: directory
mode: "0755"

View file

@ -0,0 +1,39 @@
---
- name: Rebuild service
ansible.builtin.command:
cmd: docker compose build --pull
chdir: "{{ service_path }}"
when:
- docker_rebuild
register: cmd_result
changed_when: true
- name: Build service
ansible.builtin.command:
cmd: docker compose build --pull
chdir: "{{ service_path }}"
when:
- "'local-dev' != inventory_hostname"
- docker_update is defined
- docker_update
register: cmd_result
changed_when: true
- name: Pull service
ansible.builtin.command:
cmd: docker compose pull --ignore-buildable
chdir: "{{ service_path }}"
when:
- "'local-dev' != inventory_hostname"
- docker_update is defined
- docker_update
register: cmd_result
changed_when: true
- name: Start service
ansible.builtin.command:
cmd: docker compose up -d {{ docker_force_recreate }}
chdir: "{{ service_path }}"
when: "'local-dev' != inventory_hostname"
register: cmd_result
changed_when: cmd_result.stderr | regex_search('Started$')

View file

@ -0,0 +1,6 @@
---
- name: Template docker-compose
ansible.builtin.template:
src: docker-compose.yml.j2
dest: "{{ (service_path, 'docker-compose.yml') | path_join }}"
mode: "0644"

View file

@ -0,0 +1,6 @@
---
- name: Template service.env file
ansible.builtin.template:
src: env.j2
dest: "{{ (service_path, 'service.env') | path_join }}"
mode: "0700"

View file

@ -0,0 +1,12 @@
---
- name: Template caddy site
ansible.builtin.template:
src: caddy_site.conf.j2
dest: "{{ (caddy_config_path, svc.domain + '.conf') | path_join }}"
mode: "0644"
notify:
- Reload caddy
- name: Register caddy site
ansible.builtin.set_fact:
managed_sites: "{{ managed_sites + [svc.domain + '.conf'] }}"