Refactor docker recreate and rebuild flags

This commit is contained in:
Tobias Reisinger 2025-05-10 00:40:03 +02:00
parent 8f026330d7
commit 40802d9d4f
Signed by: serguzim
GPG key ID: 13AD60C237A28DFE
24 changed files with 61 additions and 82 deletions
playbooks
roles
_TEMPLATE/handlers
acme_dns
handlers
tasks
caddy
handlers
tasks
forgejo
handlers
tasks
gatus
handlers
tasks
influxdb
handlers
tasks
lgtm_stack
handlers
tasks
reitanlage_oranienburg
handlers
tasks
teamspeak_fallback
handlers
tasks
vikunja
handlers
tasks
tasks

View file

@ -0,0 +1,3 @@
---
- name: Restart service {{ role_name }}
ansible.builtin.include_tasks: tasks/restart-service.yml

View file

@ -0,0 +1,3 @@
---
- name: Restart service {{ role_name }}
ansible.builtin.include_tasks: tasks/restart-service.yml

View file

@ -26,12 +26,7 @@
src: config.cfg.j2
dest: "{{ (config_path, 'config.cfg') | path_join }}"
mode: "0600"
register: cmd_result
- name: Set the docker force-recreate flag
ansible.builtin.set_fact:
docker_force_recreate: --force-recreate
when: cmd_result.changed # noqa: no-handler We need to handle the restart per service. Handlers don't support variables.
notify: Restart service {{ role_name }}
- name: Import start tasks for common service
ansible.builtin.import_tasks: tasks/start-common-service.yml

View file

@ -0,0 +1,5 @@
---
- name: Restart service {{ role_name }}
ansible.builtin.include_tasks: tasks/restart-service.yml
- name: Rebuild service {{ role_name }}
ansible.builtin.include_tasks: tasks/rebuild-service.yml

View file

@ -15,12 +15,7 @@
src: Dockerfile
dest: "{{ (service_path, 'Dockerfile') | path_join }}"
mode: "0644"
register: cmd_result
- name: Set the docker rebuild flag
ansible.builtin.set_fact:
docker_rebuild: true
when: cmd_result.changed # noqa: no-handler We need to handle the restart per service. Handlers don't support variables.
notify: Rebuild service {{ role_name }}
- name: Set caddy config path
ansible.builtin.set_fact:

View file

@ -0,0 +1,3 @@
---
- name: Restart service {{ role_name }}
ansible.builtin.include_tasks: tasks/restart-service.yml

View file

@ -16,24 +16,14 @@
src: templates/
dest: "{{ (service_path, 'templates') | path_join }}"
mode: "0644"
register: cmd_result
- name: Set the docker force-recreate flag
ansible.builtin.set_fact:
docker_force_recreate: --force-recreate
when: cmd_result.changed # noqa: no-handler We need to handle the restart per service. Handlers don't support variables.
notify: Restart service {{ role_name }}
- name: Template the custom footer
ansible.builtin.template:
src: footer.tmpl.j2
dest: "{{ (service_path, 'templates', 'custom', 'footer.tmpl') | path_join }}"
mode: "0644"
register: cmd_result
- name: Set the docker force-recreate flag
ansible.builtin.set_fact:
docker_force_recreate: --force-recreate
when: cmd_result.changed # noqa: no-handler We need to handle the restart per service. Handlers don't support variables.
notify: Restart service {{ role_name }}
- name: Import start tasks for common service
ansible.builtin.import_tasks: tasks/start-common-service.yml

View file

@ -0,0 +1,3 @@
---
- name: Restart service {{ role_name }}
ansible.builtin.include_tasks: tasks/restart-service.yml

View file

@ -16,12 +16,7 @@
src: yml.j2
dest: "{{ (service_path, 'config.yaml') | path_join }}"
mode: "0644"
register: cmd_result
- name: Set the docker force-recreate flag
ansible.builtin.set_fact:
docker_force_recreate: --force-recreate
when: cmd_result.changed # noqa: no-handler We need to handle the restart per service. Handlers don't support variables.
notify: Restart service {{ role_name }}
- name: Import start tasks for common service
ansible.builtin.import_tasks: tasks/start-common-service.yml

View file

@ -0,0 +1,3 @@
---
- name: Restart service {{ role_name }}
ansible.builtin.include_tasks: tasks/restart-service.yml

View file

@ -17,12 +17,7 @@
src: yml.j2
dest: "{{ (service_path, 'influxdb.yml') | path_join }}"
mode: "0600"
register: cmd_result
- name: Set the docker force-recreate flag
ansible.builtin.set_fact:
docker_force_recreate: --force-recreate
when: cmd_result.changed # noqa: no-handler We need to handle the restart per service. Handlers don't support variables.
notify: Restart service {{ role_name }}
- name: Import start tasks for common service
ansible.builtin.import_tasks: tasks/start-common-service.yml

View file

@ -0,0 +1,3 @@
---
- name: Restart service {{ role_name }}
ansible.builtin.include_tasks: tasks/restart-service.yml

View file

@ -19,12 +19,7 @@
src: config.alloy.j2
dest: "{{ (service_path, 'config.alloy') | path_join }}"
mode: "0644"
register: cmd_result
- name: Set the docker force-recreate flag
ansible.builtin.set_fact:
docker_force_recreate: --force-recreate
when: cmd_result.changed # noqa: no-handler We need to handle the restart per service. Handlers don't support variables.
notify: Restart service {{ role_name }}
- name: Template mimir config file
ansible.builtin.template:
@ -33,12 +28,7 @@
mode: "0644"
vars:
yml: "{{ lgtm_stack_mimir_yml }}"
register: cmd_result
- name: Set the docker force-recreate flag
ansible.builtin.set_fact:
docker_force_recreate: --force-recreate
when: cmd_result.changed # noqa: no-handler We need to handle the restart per service. Handlers don't support variables.
notify: Restart service {{ role_name }}
- name: Import start tasks for common service
ansible.builtin.import_tasks: tasks/start-common-service.yml

View file

@ -0,0 +1,5 @@
---
- name: Restart service {{ role_name }}
ansible.builtin.include_tasks: tasks/restart-service.yml
- name: Rebuild service {{ role_name }}
ansible.builtin.include_tasks: tasks/rebuild-service.yml

View file

@ -15,12 +15,7 @@
url: https://raw.githubusercontent.com/getgrav/docker-grav/master/Dockerfile
dest: "{{ (service_path, 'Dockerfile') | path_join }}"
mode: "0644"
register: cmd_result
- name: Set the docker rebuild flag
ansible.builtin.set_fact:
docker_rebuild: true
when: cmd_result.changed # noqa: no-handler We need to handle the restart per service. Handlers don't support variables.
notify: Rebuild service {{ role_name }}
- name: Import start tasks for common service
ansible.builtin.import_tasks: tasks/start-common-service.yml

View file

@ -0,0 +1,3 @@
---
- name: Restart service {{ role_name }}
ansible.builtin.include_tasks: tasks/restart-service.yml

View file

@ -33,12 +33,7 @@
src: yml.j2
dest: "{{ (config_path, 'hooks.yml') | path_join }}"
mode: "0644"
register: cmd_result
- name: Set the docker force-recreate flag
ansible.builtin.set_fact:
docker_force_recreate: --force-recreate
when: cmd_result.changed # noqa: no-handler We need to handle the restart per service. Handlers don't support variables.
notify: Restart service {{ role_name }}
- name: Copy the teamspeak-fallback-db script
ansible.builtin.copy:

View file

@ -0,0 +1,3 @@
---
- name: Restart service {{ role_name }}
ansible.builtin.include_tasks: tasks/restart-service.yml

View file

@ -16,12 +16,7 @@
src: yml.j2
dest: "{{ (service_path, 'config.yml') | path_join }}"
mode: "0644"
register: cmd_result
- name: Set the docker force-recreate flag
ansible.builtin.set_fact:
docker_force_recreate: --force-recreate
when: cmd_result.changed # noqa: no-handler We need to handle the restart per service. Handlers don't support variables.
notify: Restart service {{ role_name }}
- name: Import start tasks for common service
ansible.builtin.import_tasks: tasks/start-common-service.yml

View file

@ -0,0 +1,7 @@
---
- name: Rebuild service {{ role_name }}
ansible.builtin.command:
cmd: docker compose build --pull
chdir: "{{ (services_path, role_name) | path_join }}"
changed_when: true
notify: Restart service {{ role_name }}

View file

@ -0,0 +1,7 @@
---
- name: "Restart service {{ role_name }}"
ansible.builtin.command:
cmd: docker compose up -d --force-recreate
chdir: "{{ (services_path, role_name) | path_join }}"
when: "'local-dev' != inventory_hostname"
changed_when: true

View file

@ -2,5 +2,3 @@
- name: Set common facts
ansible.builtin.set_fact:
service_path: "{{ (services_path, role_name) | path_join }}"
docker_force_recreate: ""
docker_rebuild: false

View file

@ -1,13 +1,4 @@
---
- 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
@ -16,7 +7,6 @@
- "'local-dev' != inventory_hostname"
- docker_update is defined
- docker_update
register: cmd_result
changed_when: true
- name: Pull service
@ -27,12 +17,11 @@
- "'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 }}
cmd: docker compose up -d
chdir: "{{ service_path }}"
when: "'local-dev' != inventory_hostname"
register: cmd_result

View file

@ -4,5 +4,4 @@
src: caddy_site.conf.j2
dest: "{{ (caddy_config_path, role_name + '.conf') | path_join }}"
mode: "0644"
notify:
- Reload caddy
notify: Reload caddy