DEV-477 bugfix: delete wordpress database when service is deleted by portal

feature/DEV-470_2nd
Ketelsen, Sven 4 years ago committed by Görz, Friedrich
parent 1ebcce5a17
commit 8c69471639

@ -54,6 +54,16 @@
with_items: "{{ cluster_features }}"
when: item in ['connect', 'management_connect', 'keycloak', 'webdav', 'gitea', 'workflow_index', 'workflow_proxy', 'pdns']
- name: "Add maria servers to hosts if necessary"
add_host:
name: "{{ stage }}-maria-01"
groups:
- "stage_{{ stage }}"
- "{{ item }}"
changed_when: False
with_items: "{{ cluster_features }}"
when: item in ['connect_wordpress']
#############################################################
# Creating database backups for created inventory
#############################################################
@ -62,7 +72,7 @@
serial: "{{ serial_number | default(1) }}"
remote_user: root
vars:
postgres_backup_state: dump
database_backup_state: dump
ansible_ssh_host: "{{ stage_server_domain }}"
roles:
@ -75,6 +85,12 @@
- role: keycloak_postgres
when: "'keycloak' in group_names"
# - role: pdns_admin_postgres
# when: "'pdns' in group_names"
# - role: pdns_postgres
# when: "'pdns' in group_names"
- role: webdav_postgres
when: "'webdav' in group_names"
@ -84,6 +100,9 @@
- role: workflow_proxy_postgres
when: "'workflow_proxy' in group_names"
- role: connect_wordpress_maria
when: "'connect_wordpress' in group_names"
#############################################################
# Sending smardigo management message to process
#############################################################

@ -91,6 +91,12 @@
- role: connect_postgres
when: "'connect' in group_names"
- role: gitea_postgres
when: "'gitea' in group_names"
- role: keycloak_postgres
when: "'keycloak' in group_names"
- role: pdns_postgres
vars:
initialize: True
@ -101,12 +107,6 @@
initialize: True
when: "'pdns' in group_names"
- role: gitea_postgres
when: "'gitea' in group_names"
- role: keycloak_postgres
when: "'keycloak' in group_names"
- role: webdav_postgres
when: "'webdav' in group_names"

@ -84,18 +84,27 @@
- role: connect_postgres
when: "'connect' in group_names"
- role: pdns_admin_postgres
when: "'pdns' in group_names"
- role: pdns_postgres
when: "'pdns' in group_names"
- role: gitea_postgres
when: "'gitea' in group_names"
- role: keycloak_postgres
when: "'keycloak' in group_names"
# - role: pdns_admin_postgres
# when: "'pdns' in group_names"
# - role: pdns_postgres
# when: "'pdns' in group_names"
- role: webdav_postgres
when: "'webdav' in group_names"
- role: workflow_index_postgres
when: "'workflow_index' in group_names"
- role: workflow_proxy_postgres
when: "'workflow_proxy' in group_names"
- role: connect_wordpress_maria
when: "'connect_wordpress' in group_names"

@ -61,7 +61,7 @@
serial: "{{ serial_number | default(1) }}"
remote_user: root
vars:
postgres_backup_state: restore
database_backup_state: restore
ansible_ssh_host: "{{ stage_server_domain }}"
roles:

@ -2,10 +2,6 @@
connect_image_name: "{{ shared_service_harbor_hostname }}/smardigo/connect-whitelabel-app"
# TODO inject by management portal
connect_admin_username: "connect-admin"
connect_admin_password: "connect-admin"
connect_mail_host: "{{ shared_service_mail_hostname }}"
connect_mail_properties_base_url: "{{ http_s }}://{{ connect_base_url }}"
connect_mail_properties_base_url_extern: "{{ http_s }}://{{ connect_base_url }}"

@ -20,8 +20,8 @@ connect_labels: [
connect_environment: [
"TENANT_ID: \"{{ connect_client_id }}\"",
"ADMIN_LOGIN: \"{{ connect_admin_username }}\"",
"ADMIN_PASSWORD: \"{{ connect_admin_password }}\"",
"ADMIN_LOGIN: \"{{ connect_admin_username | default('connect-admin') }}\"",
"ADMIN_PASSWORD: \"{{ connect_admin_password | default('connect-admin') }}\"",
"SMA_JWT_ENABLED: \"{{ connect_jwt_enabled | default('false') }}\"",
"SMA_JWT_SECRET: \"{{ connect_jwt_secret | default('') }}\"",
"SMA_CSRF_TOKEN_NAME: \"{{ connect_csrf_token_name | default('') }}\"",

@ -1,19 +1,18 @@
---
### tags:
### - remove-data
- name: "Setup postgres for {{ inventory_hostname }}"
- name: "Updating <connect> database on {{ inventory_hostname }}"
include_role:
name: postgres
tasks_from: _postgres-acls
tasks_from: _update_database_state
when:
- postgres_backup_state is not defined
- database_backup_state is not defined
- name: "Creating/restoring postgres backup"
- name: "Creating/Restoring <connect> database backup on {{ inventory_hostname }}"
include_role:
name: postgres
tasks_from: _create_database_backup.yml
when:
- postgres_backup_state is defined
- postgres_backup_state in ['dump', 'restore']
- database_backup_state is defined
- database_backup_state in ['dump', 'restore']

@ -2,7 +2,17 @@
### tags:
- name: "Setup maria for {{ inventory_hostname }}"
- name: "Updating <wordpress> database on {{ inventory_hostname }}"
include_role:
name: maria
tasks_from: _create_database
tasks_from: _update_database_state
when:
- database_backup_state is not defined
- name: "Creating/Restoring <wordpress> database backup on {{ inventory_hostname }}"
include_role:
name: maria
tasks_from: _create_database_backup.yml
when:
- database_backup_state is defined
- database_backup_state in ['dump', 'restore']

@ -1,19 +1,18 @@
---
### tags:
### - remove-data
- name: "Setup postgres for {{ inventory_hostname }}"
- name: "Updating <gitea> database on {{ inventory_hostname }}"
include_role:
name: postgres
tasks_from: _postgres-acls
tasks_from: _update_database_state
when:
- postgres_backup_state is not defined
- database_backup_state is not defined
- name: "Creating/restoring postgres backup"
- name: "Creating/Restoring <gitea> database backup on {{ inventory_hostname }}"
include_role:
name: postgres
tasks_from: _create_database_backup.yml
when:
- postgres_backup_state is defined
- postgres_backup_state in ['dump', 'restore']
- database_backup_state is defined
- database_backup_state in ['dump', 'restore']

@ -1,19 +1,18 @@
---
### tags:
### - remove-data
- name: "Setup postgres for {{ inventory_hostname }}"
- name: "Updating <keycloak> database on {{ inventory_hostname }}"
include_role:
name: postgres
tasks_from: _postgres-acls
tasks_from: _update_database_state
when:
- database_create
- database_backup_state is not defined
- name: "Creating/restoring postgres backup"
- name: "Creating/Restoring <keycloak> database backup on {{ inventory_hostname }}"
include_role:
name: postgres
tasks_from: _create_database_backup.yml
when:
- postgres_backup_state is defined
- postgres_backup_state in ['dump', 'restore']
- database_backup_state is defined
- database_backup_state in ['dump', 'restore']

@ -7,6 +7,7 @@ mariadb_server_config_dir: '/etc/mysql/mariadb.conf.d'
my_cnf_file: '/root/.my.cnf'
database_engine: maria
database_state: present
backup_dest_dir: "{{ backup_directory }}/{{ database_engine }}/{{ get_current_date }}"
backup_status_file: '{{ backup_dest_dir }}/backup_finished'

@ -1,21 +1,21 @@
---
- name: Ensure MySQL databases are present.
- name: "Ensure MySQL databases are <{{ database_state | default('present') }}>"
community.mysql.mysql_db:
name: "{{ item.name }}"
collation: "{{ item.collation | default('utf8_general_ci') }}"
encoding: "{{ item.encoding | default('utf8') }}"
state: "{{ item.state | default('present') }}"
state: "{{ database_state | default('present') }}"
login_unix_socket: /var/run/mysqld/mysqld.sock
login_password: "{{ mysql_root_password }}"
with_items: "{{ mysql_databases }}"
- name: Ensure MySQL users are present.
- name: "Ensure MySQL users are <{{ database_state | default('present') }}>"
community.mysql.mysql_user:
name: "{{ item.name }}"
password: "{{ item.password }}"
priv: "{{ item.priv | default('*.*:USAGE') }}"
state: "{{ item.state | default('present') }}"
state: "{{ database_state | default('present') }}"
append_privs: "{{ item.append_privs | default('no') }}"
encrypted: "{{ item.encrypted | default('no') }}"
login_unix_socket: /var/run/mysqld/mysqld.sock

@ -1,9 +1,18 @@
---
### tags:
### - remove-data
- name: "Setup postgres for {{ inventory_hostname }}"
- name: "Updating <pdns-admin> database on {{ inventory_hostname }}"
include_role:
name: postgres
tasks_from: _postgres-acls
tasks_from: _update_database_state
when:
- database_backup_state is not defined
- name: "Creating/Restoring <pdns-admin> database backup on {{ inventory_hostname }}"
include_role:
name: postgres
tasks_from: _create_database_backup.yml
when:
- database_backup_state is defined
- database_backup_state in ['dump', 'restore']

@ -1,18 +1,29 @@
---
### tags:
### - remove-data
- name: "Setup postgres for {{ inventory_hostname }}"
- name: "Updating <pdns> database on {{ inventory_hostname }}"
include_role:
name: postgres
tasks_from: _postgres-acls
tasks_from: _update_database_state
when:
- database_backup_state is not defined
- name: "Creating/Restoring <pdns> database backup on {{ inventory_hostname }}"
include_role:
name: postgres
tasks_from: _create_database_backup.yml
when:
- database_backup_state is defined
- database_backup_state in ['dump', 'restore']
# TODO shouldn't be here?
- name: "Install python3-psycopg2 if not present"
apt:
name: python3-psycopg2
state: present
# TODO shouldn't be here?
- name: Include Create Requirements
include_tasks: create-requirements.yml
when: initialize

@ -1,4 +1,5 @@
---
- name: "Creating backup directory <{{ backup_directory }}>"
ansible.builtin.file:
path: "{{ backup_directory }}"
@ -7,10 +8,10 @@
group: "postgres"
mode: '0755'
- name: "Handle backup state <{{ postgres_backup_state }}> with suffix <{{ custom_backup_name }}>"
- name: "Handle backup state <{{ database_backup_state }}> with suffix <{{ custom_backup_name }}>"
community.postgresql.postgresql_db:
name: "{{ item.name }}"
state: "{{ postgres_backup_state }}"
state: "{{ database_backup_state }}"
target: "{{ backup_directory }}/{{ item.name }}__{{ custom_backup_name }}.sql.gz"
loop: "{{ postgres_acls }}"
become_user: postgres

@ -2,17 +2,17 @@
### tags:
- name: "Setup postgres for {{ inventory_hostname }}"
- name: "Updating <webdav> database on {{ inventory_hostname }}"
include_role:
name: postgres
tasks_from: _postgres-acls
tasks_from: _update_database_state
when:
- postgres_backup_state is not defined
- database_backup_state is not defined
- name: "Creating/restoring postgres backup"
- name: "Creating/Restoring <webdav> database backup on {{ inventory_hostname }}"
include_role:
name: postgres
tasks_from: _create_database_backup.yml
when:
- postgres_backup_state is defined
- postgres_backup_state in ['dump', 'restore']
- database_backup_state is defined
- database_backup_state in ['dump', 'restore']

@ -1,19 +1,18 @@
---
### tags:
### - remove-data
- name: "Setup <workflow_index> postgres database on {{ inventory_hostname }}"
- name: "Updating <workflow_index> database on {{ inventory_hostname }}"
include_role:
name: postgres
tasks_from: _postgres-acls
tasks_from: _update_database_state
when:
- postgres_backup_state is not defined
- database_backup_state is not defined
- name: "Creating/restoring postgres backup"
- name: "Creating/Restoring <workflow_index> database backup on {{ inventory_hostname }}"
include_role:
name: postgres
tasks_from: _create_database_backup.yml
when:
- postgres_backup_state is defined
- postgres_backup_state in ['dump', 'restore']
- database_backup_state is defined
- database_backup_state in ['dump', 'restore']

@ -1,19 +1,18 @@
---
### tags:
### - remove-data
- name: "Setup <workflow_index> postgres database on {{ inventory_hostname }}"
- name: "Updating <workflow_proxy> database on {{ inventory_hostname }}"
include_role:
name: postgres
tasks_from: _postgres-acls
tasks_from: _update_database_state
when:
- postgres_backup_state is not defined
- database_backup_state is not defined
- name: "Creating/restoring postgres backup"
- name: "Creating/Restoring <workflow_proxy> database backup on {{ inventory_hostname }}"
include_role:
name: postgres
tasks_from: _create_database_backup.yml
when:
- postgres_backup_state is defined
- postgres_backup_state in ['dump', 'restore']
- database_backup_state is defined
- database_backup_state in ['dump', 'restore']

Loading…
Cancel
Save