mirror of
https://github.com/kevinveenbirkenbach/computer-playbook.git
synced 2025-08-29 15:06:26 +02:00
Different optimations and mig integration. test will fail due to strickter validation checks. need to be cleaned up tomorrow
This commit is contained in:
@@ -1,74 +1,79 @@
|
||||
---
|
||||
- name: "reset (if enabled)"
|
||||
include_tasks: reset.yml
|
||||
when: mode_reset | bool and run_once_docker_discourse is not defined
|
||||
- name: "Setup {{ application_id }}"
|
||||
when: run_once_web_app_discourse is not defined
|
||||
block:
|
||||
- name: "reset (if enabled)"
|
||||
include_tasks: reset.yml
|
||||
when: mode_reset | bool
|
||||
|
||||
# Necessary for building: https://chat.openai.com/share/99d258cc-294b-4924-8eef-02fe419bb838
|
||||
- name: install which
|
||||
pacman:
|
||||
name: which
|
||||
state: present
|
||||
when: run_once_docker_discourse is not defined
|
||||
# Necessary for building: https://chat.openai.com/share/99d258cc-294b-4924-8eef-02fe419bb838
|
||||
- name: install which
|
||||
pacman:
|
||||
name: which
|
||||
state: present
|
||||
|
||||
- name: "load docker, db and proxy for {{application_id}}"
|
||||
include_role:
|
||||
name: cmp-db-docker-proxy
|
||||
when: run_once_docker_discourse is not defined
|
||||
- name: "load docker, db and proxy for {{application_id}}"
|
||||
include_role:
|
||||
name: cmp-db-docker-proxy
|
||||
|
||||
- name: pull docker repository
|
||||
git:
|
||||
repo: "https://github.com/discourse/discourse_docker.git"
|
||||
dest: "{{docker_repository_directory }}"
|
||||
update: yes
|
||||
notify: recreate discourse
|
||||
become: true
|
||||
ignore_errors: true
|
||||
when: run_once_docker_discourse is not defined
|
||||
- name: pull docker repository
|
||||
git:
|
||||
repo: "https://github.com/discourse/discourse_docker.git"
|
||||
dest: "{{docker_repository_directory }}"
|
||||
update: yes
|
||||
notify: recreate discourse
|
||||
become: true
|
||||
ignore_errors: true
|
||||
|
||||
- name: set chmod 700 for {{docker_repository_directory }}containers
|
||||
ansible.builtin.file:
|
||||
path: "{{docker_repository_directory }}/containers"
|
||||
mode: '700'
|
||||
state: directory
|
||||
when: run_once_docker_discourse is not defined
|
||||
- name: set chmod 700 for {{docker_repository_directory }}containers
|
||||
ansible.builtin.file:
|
||||
path: "{{docker_repository_directory }}/containers"
|
||||
mode: '700'
|
||||
state: directory
|
||||
|
||||
- name: "copy configuration to {{discourse_application_yml_destination}}"
|
||||
template:
|
||||
src: discourse_application.yml.j2
|
||||
dest: "{{discourse_application_yml_destination}}"
|
||||
notify: recreate discourse
|
||||
when: run_once_docker_discourse is not defined
|
||||
- name: "copy configuration to {{discourse_application_yml_destination}}"
|
||||
template:
|
||||
src: config.yml.j2
|
||||
dest: "{{ discourse_application_yml_destination }}"
|
||||
notify: recreate discourse
|
||||
|
||||
- name: flush, to recreate discourse app
|
||||
meta: flush_handlers
|
||||
when: run_once_docker_discourse is not defined
|
||||
- name: "Verify that {{ discourse_container }} is running"
|
||||
command: docker compose ps --filter status=running --format '{{"{{"}}.Name{{"}}"}}' | grep -x {{ discourse_container }}
|
||||
register: docker_ps
|
||||
changed_when: docker_ps.rc == 1
|
||||
failed_when: docker_ps.rc not in [0, 1]
|
||||
notify: recreate discourse
|
||||
|
||||
- name: "Connect {{ discourse_name }} to network {{ applications | get_app_conf('svc-db-postgres', 'docker.network' ) }}"
|
||||
command: >
|
||||
docker network connect {{ applications | get_app_conf('svc-db-postgres', 'docker.network' ) }} {{ discourse_name }}
|
||||
register: network_connect
|
||||
failed_when: >
|
||||
network_connect.rc != 0 and
|
||||
"Error response from daemon: endpoint with name {{ discourse_name }} already exists in network {{ applications | get_app_conf('svc-db-postgres', 'docker.network' ) }}"
|
||||
not in network_connect.stderr
|
||||
changed_when: network_connect.rc == 0
|
||||
when:
|
||||
- applications | get_app_conf(application_id, 'features.central_database', False)
|
||||
- run_once_docker_discourse is not defined
|
||||
- name: flush, to recreate discourse app
|
||||
meta: flush_handlers
|
||||
|
||||
- name: "Remove {{ discourse_network }} from {{ database_host }}"
|
||||
command: >
|
||||
docker network disconnect {{ discourse_network }} {{ database_host }}
|
||||
register: network_disconnect
|
||||
failed_when: >
|
||||
network_disconnect.rc != 0 and
|
||||
'is not connected to network {{ discourse_network }}' not in network_disconnect.stderr
|
||||
changed_when: network_disconnect.rc == 0
|
||||
when:
|
||||
- applications | get_app_conf(application_id, 'features.central_database', False)
|
||||
- run_once_docker_discourse is not defined
|
||||
- name: Set error string for network already exists
|
||||
set_fact:
|
||||
docker_discourse_already_in_net: "Error response from daemon: endpoint with name {{ discourse_container }} already exists in network {{ discourse_pg_network }}"
|
||||
|
||||
- name: run the docker_discourse tasks once
|
||||
set_fact:
|
||||
run_once_docker_discourse: true
|
||||
when: run_once_docker_discourse is not defined
|
||||
- name: "Connect {{ discourse_container }} to network {{ discourse_pg_network }}"
|
||||
command: >
|
||||
docker network connect {{ discourse_pg_network }} {{ discourse_container }}
|
||||
register: network_connect
|
||||
failed_when: >
|
||||
network_connect.rc != 0 and
|
||||
docker_discourse_already_in_net not in network_connect.stderr
|
||||
changed_when: network_connect.rc == 0
|
||||
when:
|
||||
- applications | get_app_conf(application_id, 'features.central_database', False)
|
||||
|
||||
- name: "Remove {{ discourse_network }} from {{ database_host }}"
|
||||
command: >
|
||||
docker network disconnect {{ discourse_network }} {{ database_host }}
|
||||
register: network_disconnect
|
||||
failed_when: >
|
||||
network_disconnect.rc != 0 and
|
||||
'is not connected to network {{ discourse_network }}' not in network_disconnect.stderr
|
||||
changed_when: network_disconnect.rc == 0
|
||||
when:
|
||||
- applications | get_app_conf(application_id, 'features.central_database', False)
|
||||
|
||||
- name: run the docker_discourse tasks once
|
||||
set_fact:
|
||||
run_once_web_app_discourse: true
|
||||
when: run_once_web_app_discourse is not defined
|
Reference in New Issue
Block a user