From d9d980b009df7766ef18cfce76ad3e2234a7a657 Mon Sep 17 00:00:00 2001 From: "Ketelsen, Sven" Date: Thu, 6 Jan 2022 08:01:55 +0000 Subject: [PATCH] DEV-282: feat: added configuration of parameters through web portal --- README.md | 3 - create-database-backup.yml | 32 +- create-database.yml | 37 +- create-kibana-objects.yml | 37 +- create-realm.yml | 31 +- create-server.yml | 21 +- create-service.yml | 36 +- group_vars/connect_resubmission/man.yml | 3 + group_vars/management/plain.yml | 1 - import-database.yml | 33 +- remove-database.yml | 38 +- remove-realm.yml | 22 +- remove-server.yml | 16 +- remove-service.yml | 33 +- restore-database-backup.yml | 31 +- roles/connect/vars/main.yml | 3 + .../datasource-file/connect-features.xlsx | Bin 8979 -> 8956 bytes .../datasource-file/connect-versions.xlsx | Bin 0 -> 8875 bytes .../datasource/connect-versions.json | 1 + .../provisioning/form/simple-connect.json | 1086 +++++++---------- .../simple-connect.json | 4 + .../provisioning/process/simple-connect.bpmn | 145 ++- .../provisioning/script/ansible-start.groovy | 27 +- .../script/create-awx-paramaters.groovy | 11 +- tasks/autodiscover_pre_tasks.yml | 14 +- update-monitoring.yml | 23 +- update-service-state.yml | 29 +- upload-database-dumb.yml | 18 +- 28 files changed, 794 insertions(+), 941 deletions(-) create mode 100644 group_vars/connect_resubmission/man.yml create mode 100644 smardigo/provisioning/datasource-file/connect-versions.xlsx create mode 100644 smardigo/provisioning/datasource/connect-versions.json diff --git a/README.md b/README.md index 734cc36..213cb55 100644 --- a/README.md +++ b/README.md @@ -108,6 +108,3 @@ AWX tar -xzf k9s_*.tar.gz -C . ln -s /etc/kubernetes/k9s/k9s /usr/bin/k9s kubectl taint nodes --all node-role.kubernetes.io/master- - -Wordpress Database Dump - ansible-playbook upload-database-dumb.yml -e "cluster_services_str='connect,connect_wordpress' stage='dev' upload_file="smardigo/wordpress_portal.sql.gz"" diff --git a/create-database-backup.yml b/create-database-backup.yml index a17ebdd..983b26b 100644 --- a/create-database-backup.yml +++ b/create-database-backup.yml @@ -10,9 +10,10 @@ # stage := the type of the stage (e.g. dev, int, qa, prod) # tenant_id := (unique key for the tenant, e.g. customer) # cluster_name := (business name for the cluster, e.g. product, department ) -# cluster_size := (WIP node count for the cluster) (Currently max is 2 master/slave) -# cluster_services_str := (services to setup, e.g. 'connect,wordpress') -# custom_backup_name := defines a substring for backup file => {{ stage }}_{{ tenant_id }}_{{ cluster_name }}_{{ cluster_services_str }}__gehtdichnixan.sql +# cluster_size := (WIP node count for the cluster) +# cluster_service := (service to setup, e.g. 'connect', ...) +# cluster_features := (optional features to use, e.g. ['wordpress', 'resubmission', ...]) +# custom_backup_name := defines a substring for backup file => {{ stage }}_{{ tenant_id }}_{{ cluster_name }}_{{ cluster_service }}__gehtdichnixan.sql # smardigo message callback # scope_id := (scope id of the management process) # process_instance_id := (process instance id of the management process) @@ -34,11 +35,12 @@ - ansible_version.minor >= 10 msg: "The ansible version has to be at least ({{ ansible_version.full }})" - - name: "Parsing cluster_services_str into cluster_services" - set_fact: - cluster_services: "{{ cluster_services_str | split(',') }}" - tags: - - always + - name: "Add <{{ stage }}-smardigo-management-message> to hosts" + add_host: + name: "{{ stage }}-smardigo-management-message" + groups: + - "stage_{{ stage }}" + changed_when: False tasks: - name: "Add postgres servers to hosts if necessary" @@ -48,19 +50,19 @@ - "stage_{{ stage }}" - "{{ item }}" changed_when: False - with_items: "{{ cluster_services }}" - when: item in ['connect', 'management_connect', 'keycloak', 'webdav', 'gitea', 'workflow_index', 'workflow_proxy'] + with_items: "{{ cluster_features }}" + when: item in ['connect', 'management_connect', 'keycloak', 'webdav', 'gitea', 'workflow_index', 'workflow_proxy', 'pdns'] ############################################################# -# create database backup +# Creating database backups for created inventory ############################################################# -- hosts: "stage_{{ stage }}" +- hosts: "stage_{{ stage }}:!{{ stage }}-smardigo-management-message" serial: "{{ serial_number | default(1) }}" remote_user: root vars: - ansible_ssh_host: "{{ stage_server_domain }}" postgres_backup_state: dump + ansible_ssh_host: "{{ stage_server_domain }}" roles: - role: connect-postgres @@ -82,10 +84,10 @@ when: "'workflow_proxy' in group_names" ############################################################# -# Sending smardigo management message to process +# Sending smardigo management message to process ############################################################# -- hosts: "stage_{{ stage }}" +- hosts: "{{ stage }}-smardigo-management-message" serial: "{{ serial_number | default(1) }}" gather_facts: false connection: local diff --git a/create-database.yml b/create-database.yml index 03901dc..c831967 100644 --- a/create-database.yml +++ b/create-database.yml @@ -17,8 +17,9 @@ # stage := the type of the stage (e.g. dev, int, qa, prod) # tenant_id := (unique key for the tenant, e.g. customer) # cluster_name := (business name for the cluster, e.g. product, department ) -# cluster_size := (WIP node count for the cluster) (Currently max is 2 master/slave) -# cluster_services_str := (services to setup, e.g. 'connect,wordpress') +# cluster_size := (WIP node count for the cluster) +# cluster_service := (service to setup, e.g. 'connect', ...) +# cluster_features := (optional features to use, e.g. ['wordpress', 'resubmission', ...]) # smardigo message callback # scope_id := (scope id of the management process) # process_instance_id := (process instance id of the management process) @@ -40,35 +41,39 @@ - ansible_version.minor >= 10 msg: "The ansible version has to be at least ({{ ansible_version.full }})" - - set_fact: - cluster_services: "{{ cluster_services_str | split(',') }}" + - name: "Add <{{ stage }}-smardigo-management-message> to hosts" + add_host: + name: "{{ stage }}-smardigo-management-message" + groups: + - "stage_{{ stage }}" + changed_when: False tasks: - - name: Add postgres servers to hosts if necessary + - name: "Add postgres servers to hosts if necessary" add_host: name: "{{ stage }}-postgres-01" groups: - "stage_{{ stage }}" - "{{ item }}" changed_when: False - with_items: "{{ cluster_services }}" + 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 + - name: "Add maria servers to hosts if necessary" add_host: name: "{{ stage }}-maria-01" groups: - "stage_{{ stage }}" - "{{ item }}" changed_when: False - with_items: "{{ cluster_services }}" + with_items: "{{ cluster_features }}" when: item in ['connect_wordpress'] ############################################################# -# Setup databases for created inventory +# Creating databases for created inventory ############################################################# -- hosts: "stage_{{ stage }}" +- hosts: "stage_{{ stage }}:!{{ stage }}-smardigo-management-message" serial: "{{ serial_number | default(1) }}" remote_user: root vars: @@ -78,14 +83,10 @@ - name: "Import autodiscover pre-tasks" include_tasks: tasks/autodiscover_pre_tasks.yml - - name: "Parsing cluster_services_str into cluster_services" - set_fact: - cluster_services: "{{ cluster_services_str | split(',') }}" - roles: - role: connect-postgres when: "'connect' in group_names" - + - role: pdns-postgres vars: initialize: True @@ -93,7 +94,7 @@ - role: pdns-admin-postgres vars: - initialize: True + initialize: True when: "'pdns' in group_names" - role: gitea-postgres @@ -115,10 +116,10 @@ when: "'connect_wordpress' in group_names" ############################################################# -# Sending smardigo management message to process +# Sending smardigo management message to process ############################################################# -- hosts: "stage_{{ stage }}" +- hosts: "{{ stage }}-smardigo-management-message" serial: "{{ serial_number | default(1) }}" gather_facts: false connection: local diff --git a/create-kibana-objects.yml b/create-kibana-objects.yml index d64bc83..f5831fa 100644 --- a/create-kibana-objects.yml +++ b/create-kibana-objects.yml @@ -10,8 +10,9 @@ # stage := the type of the stage (e.g. dev, int, qa, prod) # tenant_id := (unique key for the tenant, e.g. customer) # cluster_name := (business name for the cluster, e.g. product, department ) -# cluster_size := (WIP node count for the cluster) (Currently max is 2 master/slave) -# cluster_services_str := (services to setup, e.g. 'connect,wordpress') +# cluster_size := (WIP node count for the cluster) +# cluster_service := (service to setup, e.g. 'connect', ...) +# cluster_features := (optional features to use, e.g. ['wordpress', 'resubmission', ...]) # smardigo message callback # scope_id := (scope id of the management process) # process_instance_id := (process instance id of the management process) @@ -33,22 +34,26 @@ - ansible_version.minor >= 10 msg: "The ansible version has to be at least ({{ ansible_version.full }})" - - set_fact: - cluster_services: "{{ cluster_services_str | split(',') }}" - - tasks: - - name: Add kibana server(s) to hosts if necessary + - name: "Add <{{ stage }}-smardigo-management-message> to hosts" add_host: - name: "{{ stage }}-elastic-stack-kibana-01-kibana" + name: "{{ stage }}-smardigo-management-message" groups: - "stage_{{ stage }}" - with_items: "{{ cluster_services }}" - when: item in ['connect'] + changed_when: False + + tasks: + - name: Add hosts + add_host: + name: "{{ stage }}-{{ tenant_id }}-{{ cluster_name }}-{{ '%02d' | format(item|int) }}" + groups: "{{ ['stage_' + stage ] + [cluster_service] + cluster_features }}" + with_sequence: start=1 end={{ cluster_size | default(1) }} + changed_when: False ############################################################# -# configure elastic search objects +# Creating kibana search objects for created inventory ############################################################# -- hosts: "stage_{{ stage }}" + +- hosts: "stage_{{ stage }}:!{{ stage }}-smardigo-management-message" serial: "{{ serial_number | default(1) }}" gather_facts: no remote_user: root @@ -121,8 +126,8 @@ - osquery - savedObjectsTagging es_indexpattern_name: '{{ stage }}-{{ tenant_id }}-{{ cluster_name }}-*' - es_search_name: '{{ stage }}-{{ tenant_id }}-{{ cluster_name }}-{{ cluster_services_str }}' - es_dashboard_name: '{{ stage }}-{{ tenant_id }}-{{ cluster_name }}-{{ cluster_services_str }}' + es_search_name: '{{ stage }}-{{ tenant_id }}-{{ cluster_name }}-{{ cluster_service }}' + es_dashboard_name: '{{ stage }}-{{ tenant_id }}-{{ cluster_name }}-{{ cluster_service }}' tasks: - name: "Do some stuff in elastic with spaces ... " @@ -184,10 +189,10 @@ - es-importobjects ############################################################# -# Sending smardigo management message to process +# Sending smardigo management message to process ############################################################# -- hosts: "stage_{{ stage }}" +- hosts: "{{ stage }}-smardigo-management-message" serial: "{{ serial_number | default(1) }}" gather_facts: false connection: local diff --git a/create-realm.yml b/create-realm.yml index 81d0b4a..e84d570 100644 --- a/create-realm.yml +++ b/create-realm.yml @@ -9,7 +9,8 @@ # tenant_id := (unique key for the tenant, e.g. customer) # cluster_name := (business name for the cluster, e.g. product, department ) # cluster_size := (WIP node count for the cluster) -# cluster_services_str := (services to setup, e.g. 'connect,wordpress') +# cluster_service := (service to setup, e.g. 'connect', ...) +# cluster_features := (optional features to use, e.g. ['wordpress', 'resubmission', ...]) # playbook roles (keycloak / oidc) # current_realm_name := # current_realm_display_name := @@ -34,22 +35,26 @@ - ansible_version.minor >= 10 msg: "The ansible version has to be at least ({{ ansible_version.full }})" - - set_fact: - cluster_services: "{{ cluster_services_str | split(',') }}" + - name: "Add <{{ stage }}-smardigo-management-message> to hosts" + add_host: + name: "{{ stage }}-smardigo-management-message" + groups: + - "stage_{{ stage }}" + changed_when: False tasks: - name: Add hosts add_host: name: "{{ stage }}-{{ tenant_id }}-{{ cluster_name }}-{{ '%02d' | format(item|int) }}" - groups: "{{ ['stage_' + stage ] + cluster_services }}" + groups: "{{ ['stage_' + stage ] + [cluster_service] + cluster_features }}" with_sequence: start=1 end={{ cluster_size | default(1) }} changed_when: False ############################################################# -# Setup realms for created inventory +# Creating realms for created inventory ############################################################# -- hosts: "stage_{{ stage }}" +- hosts: "stage_{{ stage }}:!{{ stage }}-smardigo-management-message" serial: "{{ serial_number | default(1) }}" gather_facts: false @@ -61,25 +66,21 @@ - name: "Import autodiscover pre-tasks" include_tasks: tasks/autodiscover_pre_tasks.yml - - name: "Parsing cluster_services_str into cluster_services" - set_fact: - cluster_services: "{{ cluster_services_str | split(',') }}" - roles: - role: connect-realm - when: '"connect" in cluster_services' + when: '"connect" in group_names' - role: gitea-realm - when: '"gitea" in cluster_services' + when: '"gitea" in group_names' - role: workflow-proxy-realm - when: '"workflow-proxy" in cluster_services' + when: '"workflow-proxy" in group_names' ############################################################# -# Sending smardigo management message to process +# Sending smardigo management message to process ############################################################# -- hosts: "stage_{{ stage }}" +- hosts: "{{ stage }}-smardigo-management-message" serial: "{{ serial_number | default(1) }}" gather_facts: false connection: local diff --git a/create-server.yml b/create-server.yml index 3c1aa86..8c0a60f 100644 --- a/create-server.yml +++ b/create-server.yml @@ -6,7 +6,7 @@ # tenant_id := (unique key for the tenant, e.g. customer) # cluster_name := (business name for the cluster, e.g. product, department ) # cluster_size := (WIP node count for the cluster) -# cluster_services := (services to setup, e.g. ['connect', 'wordpress', ...]) +# cluster_service := (service to setup, e.g. 'connect', ...) # smardigo message callback # scope_id := (scope id of the management process) # process_instance_id := (process instance id of the management process) @@ -28,6 +28,13 @@ - ansible_version.minor >= 10 msg: "The ansible version has to be at least ({{ ansible_version.full }})" + - name: "Add <{{ stage }}-smardigo-management-message> to hosts" + add_host: + name: "{{ stage }}-smardigo-management-message" + groups: + - "stage_{{ stage }}" + changed_when: False + tasks: - name: Add hosts add_host: @@ -39,10 +46,10 @@ changed_when: False ############################################################# -# Provisioning servers for created inventory +# Creating servers for created inventory ############################################################# -- hosts: "stage_{{ stage }}" +- hosts: "stage_{{ stage }}:!{{ stage }}-smardigo-management-message" serial: "{{ serial_number | default(5) }}" gather_facts: false @@ -83,10 +90,10 @@ - role: hcloud ############################################################# -# Setup servers for created inventory +# Provisioning servers for created inventory ############################################################# -- hosts: "stage_{{ stage }}" +- hosts: "stage_{{ stage }}:!{{ stage }}-smardigo-management-message" serial: "{{ serial_number | default(1) }}" remote_user: root vars: @@ -129,10 +136,10 @@ when: traefik_enabled | default(True) ############################################################# -# Sending smardigo management message to process +# Sending smardigo management message to process ############################################################# -- hosts: "stage_{{ stage }}" +- hosts: "{{ stage }}-smardigo-management-message" serial: "{{ serial_number | default(1) }}" gather_facts: false connection: local diff --git a/create-service.yml b/create-service.yml index 47dc631..d4d98be 100644 --- a/create-service.yml +++ b/create-service.yml @@ -6,7 +6,8 @@ # tenant_id := (unique key for the tenant, e.g. customer) # cluster_name := (business name for the cluster, e.g. product, department ) # cluster_size := (WIP node count for the cluster) -# cluster_services_str := (services to setup, e.g. 'connect,wordpress') +# cluster_service := (service to setup, e.g. 'connect', ...) +# cluster_features := (optional features to use, e.g. ['wordpress', 'resubmission', ...]) # smardigo message callback # scope_id := (scope id of the management process) # process_instance_id := (process instance id of the management process) @@ -28,29 +29,26 @@ - ansible_version.minor >= 10 msg: "The ansible version has to be at least ({{ ansible_version.full }})" - - name: "Parsing cluster_services_str into cluster_services" - set_fact: - cluster_services: "{{ cluster_services_str | split(',') }}" + - name: "Add <{{ stage }}-smardigo-management-message> to hosts" + add_host: + name: "{{ stage }}-smardigo-management-message" + groups: + - "stage_{{ stage }}" + changed_when: False tasks: - name: Add hosts add_host: - name: "{{ stage }}-{{ tenant_id }}-{{ cluster_name }}-01" -# name: "{{ stage }}-{{ tenant_id }}-{{ cluster_name }}-{{ '%02d' | format(item|int) }}" - groups: - - "stage_{{ stage }}" - - "{{ cluster_service }}" - - "{{ item }}" + name: "{{ stage }}-{{ tenant_id }}-{{ cluster_name }}-{{ '%02d' | format(item|int) }}" + groups: "{{ ['stage_' + stage ] + [cluster_service] + cluster_features }}" + with_sequence: start=1 end={{ cluster_size | default(1) }} changed_when: False -# with_sequence: start=1 end={{ cluster_count | default(1) }} - with_items: "{{ cluster_services }}" - when: item in ['connect', 'connect_wordpress'] ############################################################# -# Setup services for created inventory +# Creating services for created inventory ############################################################# -- hosts: "stage_{{ stage }}" +- hosts: "stage_{{ stage }}:!{{ stage }}-smardigo-management-message" serial: "{{ serial_number | default(1) }}" remote_user: root vars: @@ -60,10 +58,6 @@ - name: "Import autodiscover pre-tasks" include_tasks: tasks/autodiscover_pre_tasks.yml - - name: "Parsing cluster_services_str into cluster_services" - set_fact: - cluster_services: "{{ cluster_services_str | split(',') }}" - roles: - role: connect when: "'connect' in group_names" @@ -72,10 +66,10 @@ when: "'connect_wordpress' in group_names" ############################################################# -# Sending smardigo management message to process +# Sending smardigo management message to process ############################################################# -- hosts: "stage_{{ stage }}" +- hosts: "{{ stage }}-smardigo-management-message" serial: "{{ serial_number | default(1) }}" gather_facts: false connection: local diff --git a/group_vars/connect_resubmission/man.yml b/group_vars/connect_resubmission/man.yml new file mode 100644 index 0000000..486df6b --- /dev/null +++ b/group_vars/connect_resubmission/man.yml @@ -0,0 +1,3 @@ +--- + +connect_resubmission_enabled: "true" diff --git a/group_vars/management/plain.yml b/group_vars/management/plain.yml index 7f38f23..7647b33 100644 --- a/group_vars/management/plain.yml +++ b/group_vars/management/plain.yml @@ -14,7 +14,6 @@ spring_profiles_include: "prod,postgres,elastic,swagger" tenant_id: "{{ management_oidc_realm }}" cluster_size: "1" cluster_name: "{{ management_oidc_client_id }}" -cluster_services_str: "connect" current_realm_name: "management" current_realm_display_name: "Stage Management" diff --git a/import-database.yml b/import-database.yml index b988bf2..ee2c5a7 100644 --- a/import-database.yml +++ b/import-database.yml @@ -5,8 +5,9 @@ # stage := the type of the stage (e.g. dev, int, qa, prod) # tenant_id := (unique key for the tenant, e.g. customer) # cluster_name := (business name for the cluster, e.g. product, department ) -# cluster_size := (WIP node count for the cluster) (Currently max is 2 master/slave) -# cluster_services_str := (services to setup, e.g. 'connect,wordpress') +# cluster_size := (WIP node count for the cluster) +# cluster_service := (service to setup, e.g. 'connect', ...) +# cluster_features := (optional features to use, e.g. ['wordpress', 'resubmission', ...]) # database_backup_file := the dump file to import, has to be on the database server under /tmp (e.g. wordpress_portal.sql) # target_database := (optional) the database to import into ( see {{ connect_wordpress_maria_database }}) # smardigo message callback @@ -29,26 +30,30 @@ - ansible_version.major >= 2 - ansible_version.minor >= 10 msg: "The ansible version has to be at least ({{ ansible_version.full }})" - - name: "Parsing cluster_services_str into cluster_services" - set_fact: - cluster_services: "{{ cluster_services_str | split(',') }}" + + - name: "Add <{{ stage }}-smardigo-management-message> to hosts" + add_host: + name: "{{ stage }}-smardigo-management-message" + groups: + - "stage_{{ stage }}" + changed_when: False tasks: - - name: Add hosts + - name: Add maria servers to hosts if necessary add_host: name: "{{ stage }}-maria-01" groups: - "stage_{{ stage }}" - "{{ item }}" - cluster_service: "{{ item }}" changed_when: False - with_items: "{{ cluster_services }}" + with_items: "{{ cluster_features }}" + when: item in ['connect_wordpress'] ############################################################# -# Setup services for created inventory +# Importing database backups for created inventory ############################################################# -- hosts: "stage_{{ stage }}" +- hosts: "stage_{{ stage }}:!{{ stage }}-smardigo-management-message" serial: "{{ serial_number | default(1) }}" remote_user: root vars: @@ -57,9 +62,6 @@ pre_tasks: - name: "Import autodiscover pre-tasks" include_tasks: tasks/autodiscover_pre_tasks.yml - - name: "Parsing cluster_services_str into cluster_services" - set_fact: - cluster_services: "{{ cluster_services_str | split(',') }}" roles: - role: import-maria-database @@ -67,6 +69,7 @@ - "'connect_wordpress' in group_names" - "target_database is defined" - "database_backup_file is defined" + - role: import-maria-database vars: target_database: "{{ connect_wordpress_maria_database }}" @@ -75,10 +78,10 @@ - "database_backup_file is defined" ############################################################# -# Sending smardigo management message to process +# Sending smardigo management message to process ############################################################# -- hosts: "stage_{{ stage }}" +- hosts: "{{ stage }}-smardigo-management-message" serial: "{{ serial_number | default(1) }}" gather_facts: false connection: local diff --git a/remove-database.yml b/remove-database.yml index 21671a6..715d8a7 100644 --- a/remove-database.yml +++ b/remove-database.yml @@ -9,8 +9,9 @@ # stage := the type of the stage (e.g. dev, int, qa, prod) # tenant_id := (unique key for the tenant, e.g. customer) # cluster_name := (business name for the cluster, e.g. product, department ) -# cluster_size := (WIP node count for the cluster) (Currently max is 2 master/slave) -# cluster_services_str := (services to setup, e.g. 'connect,wordpress') +# cluster_size := (WIP node count for the cluster) +# cluster_service := (service to setup, e.g. 'connect', ...) +# cluster_features := (optional features to use, e.g. ['wordpress', 'resubmission', ...]) # smardigo message callback # scope_id := (scope id of the management process) # process_instance_id := (process instance id of the management process) @@ -31,8 +32,13 @@ - ansible_version.major >= 2 - ansible_version.minor >= 10 msg: "The ansible version has to be at least ({{ ansible_version.full }})" - - set_fact: - cluster_services: "{{ cluster_services_str | split(',') }}" + + - name: "Add <{{ stage }}-smardigo-management-message> to hosts" + add_host: + name: "{{ stage }}-smardigo-management-message" + groups: + - "stage_{{ stage }}" + changed_when: False tasks: - name: Add postgres servers to hosts if necessary @@ -42,8 +48,8 @@ - "stage_{{ stage }}" - "{{ item }}" changed_when: False - with_items: "{{ cluster_services }}" - when: item in ['connect', 'management_connect', 'keycloak', 'webdav', 'pdns'] + 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: @@ -52,30 +58,26 @@ - "stage_{{ stage }}" - "{{ item }}" changed_when: False - with_items: "{{ cluster_services }}" + with_items: "{{ cluster_features }}" when: item in ['connect_wordpress'] ############################################################# -# Setup databases for created inventory +# Deleting databases for created inventory ############################################################# -- hosts: "stage_{{ stage }}" +- hosts: "stage_{{ stage }}:!{{ stage }}-smardigo-management-message" serial: "{{ serial_number | default(1) }}" remote_user: root vars: + database_state: absent ansible_ssh_host: "{{ stage_server_domain }}" pre_tasks: - name: "Import autodiscover pre-tasks" include_tasks: tasks/autodiscover_pre_tasks.yml - - name: "Parsing cluster_services_str into cluster_services" - set_fact: - cluster_services: "{{ cluster_services_str | split(',') }}" roles: - role: connect-postgres - vars: - database_state: absent when: "'connect' in group_names" - role: pdns-admin-postgres @@ -85,23 +87,19 @@ when: "'pdns' in group_names" - role: keycloak-postgres - vars: - database_state: absent when: "'keycloak' in group_names" - role: webdav-postgres - vars: - database_state: absent when: "'webdav' in group_names" - role: connect-wordpress-maria when: "'connect_wordpress' in group_names" ############################################################# -# Sending smardigo management message to process +# Sending smardigo management message to process ############################################################# -- hosts: "stage_{{ stage }}" +- hosts: "{{ stage }}-smardigo-management-message" serial: "{{ serial_number | default(1) }}" gather_facts: false connection: local diff --git a/remove-realm.yml b/remove-realm.yml index de2b90a..0b9e1df 100644 --- a/remove-realm.yml +++ b/remove-realm.yml @@ -9,7 +9,8 @@ # tenant_id := (unique key for the tenant, e.g. customer) # cluster_name := (business name for the cluster, e.g. product, department ) # cluster_size := (WIP node count for the cluster) -# cluster_services_str := (services to setup, e.g. 'connect,wordpress') +# cluster_service := (service to setup, e.g. 'connect', ...) +# cluster_features := (optional features to use, e.g. ['wordpress', 'resubmission', ...]) # playbook roles (keycloak / oidc) # current_realm_name := # current_realm_display_name := @@ -33,22 +34,27 @@ - ansible_version.major >= 2 - ansible_version.minor >= 10 msg: "The ansible version has to be at least ({{ ansible_version.full }})" - - set_fact: - cluster_services: "{{ cluster_services_str | split(',') }}" + + - name: "Add <{{ stage }}-smardigo-management-message> to hosts" + add_host: + name: "{{ stage }}-smardigo-management-message" + groups: + - "stage_{{ stage }}" + changed_when: False tasks: - name: Add hosts add_host: name: "{{ stage }}-{{ tenant_id }}-{{ cluster_name }}-{{ '%02d' | format(item|int) }}" - groups: "{{ ['stage_' + stage ] + cluster_services }}" + groups: "{{ ['stage_' + stage ] + [cluster_service] + cluster_features }}" with_sequence: start=1 end={{ cluster_size | default(1) }} changed_when: False ############################################################# -# Setup realms for created inventory +# Deleting client for created inventory ############################################################# -- hosts: "stage_{{ stage }}" +- hosts: "stage_{{ stage }}:!{{ stage }}-smardigo-management-message" serial: "{{ serial_number | default(1) }}" gather_facts: false @@ -70,10 +76,10 @@ client_name: "{{ cluster_name }}" ############################################################# -# Sending smardigo management message to process +# Sending smardigo management message to process ############################################################# -- hosts: "stage_{{ stage }}" +- hosts: "{{ stage }}-smardigo-management-message" serial: "{{ serial_number | default(1) }}" gather_facts: false connection: local diff --git a/remove-server.yml b/remove-server.yml index bc90ee7..73e74ca 100644 --- a/remove-server.yml +++ b/remove-server.yml @@ -6,7 +6,7 @@ # tenant_id := (unique key for the tenant, e.g. customer) # cluster_name := (business name for the cluster, e.g. product, department ) # cluster_size := (WIP node count for the cluster) -# cluster_services := (services to setup, e.g. ['connect', 'wordpress', ...]) +# cluster_service := (service to setup, e.g. 'connect', ...) # smardigo message callback # scope_id := (scope id of the management process) # process_instance_id := (process instance id of the management process) @@ -33,6 +33,13 @@ - ansible_version.minor >= 10 msg: "The ansible version has to be at least ({{ ansible_version.full }})" + - name: "Add <{{ stage }}-smardigo-management-message> to hosts" + add_host: + name: "{{ stage }}-smardigo-management-message" + groups: + - "stage_{{ stage }}" + changed_when: False + tasks: - name: Add hosts add_host: @@ -48,7 +55,7 @@ - cluster_service is defined ############################################################# -# Delete and DNS servers for created inventory +# Deleting servers/domains for created inventory ############################################################# - hosts: "stage_{{ stage }}" @@ -62,6 +69,7 @@ tasks_from: _set_server_state vars: - server_state: "absent" + - name: "Delete DNS entry <{{ inventory_hostname }}> for <{{ domain }}>" include_role: name: _digitalocean @@ -70,10 +78,10 @@ record_to_remove: '{{ inventory_hostname }}' ############################################################# -# Sending smardigo management message to process +# Sending smardigo management message to process ############################################################# -- hosts: "stage_{{ stage }}" +- hosts: "{{ stage }}-smardigo-management-message" serial: "{{ serial_number | default(1) }}" gather_facts: false connection: local diff --git a/remove-service.yml b/remove-service.yml index 90a6d2c..882e572 100644 --- a/remove-service.yml +++ b/remove-service.yml @@ -6,7 +6,8 @@ # tenant_id := (unique key for the tenant, e.g. customer) # cluster_name := (business name for the cluster, e.g. product, department ) # cluster_size := (WIP node count for the cluster) -# cluster_services_str := (services to setup, e.g. 'connect,wordpress') +# cluster_service := (service to setup, e.g. 'connect', ...) +# cluster_features := (optional features to use, e.g. ['wordpress', 'resubmission', ...]) # smardigo message callback # scope_id := (scope id of the management process) # process_instance_id := (process instance id of the management process) @@ -27,34 +28,24 @@ - ansible_version.major >= 2 - ansible_version.minor >= 10 msg: "The ansible version has to be at least ({{ ansible_version.full }})" - - name: "Parsing cluster_services_str into cluster_services" - set_fact: - cluster_services: "{{ cluster_services_str | split(',') }}" - tasks: - - name: Add hosts + - name: "Add <{{ stage }}-smardigo-management-message> to hosts" add_host: - name: "{{ stage }}-{{ tenant_id }}-{{ cluster_name }}-01" + name: "{{ stage }}-smardigo-management-message" groups: - "stage_{{ stage }}" - - "{{ cluster_service }}" - - "{{ item }}" changed_when: False - with_items: "{{ cluster_services }}" - when: item in ['connect'] + + tasks: - name: Add hosts add_host: - name: "{{ stage }}-{{ tenant_id }}-{{ cluster_name }}-01" - groups: - - "stage_{{ stage }}" - - "{{ cluster_service }}" - - "{{ item }}" + name: "{{ stage }}-{{ tenant_id }}-{{ cluster_name }}-{{ '%02d' | format(item|int) }}" + groups: "{{ ['stage_' + stage ] + [cluster_service] + cluster_features }}" + with_sequence: start=1 end={{ cluster_size | default(1) }} changed_when: False - with_items: "{{ cluster_services }}" - when: item in ['connect_wordpress'] ############################################################# -# Setup services for created inventory +# Removing services for created inventory ############################################################# - hosts: "stage_{{ stage }}" @@ -83,10 +74,10 @@ when: "'connect_wordpress' in group_names" ############################################################# -# Sending smardigo management message to process +# Sending smardigo management message to process ############################################################# -- hosts: "stage_{{ stage }}" +- hosts: "{{ stage }}-smardigo-management-message" serial: "{{ serial_number | default(1) }}" gather_facts: false connection: local diff --git a/restore-database-backup.yml b/restore-database-backup.yml index cdd17e4..32decda 100644 --- a/restore-database-backup.yml +++ b/restore-database-backup.yml @@ -10,9 +10,9 @@ # stage := the type of the stage (e.g. dev, int, qa, prod) # tenant_id := (unique key for the tenant, e.g. customer) # cluster_name := (business name for the cluster, e.g. product, department ) -# cluster_size := (WIP node count for the cluster) (Currently max is 2 master/slave) -# cluster_services_str := (services to setup, e.g. 'connect,wordpress') -# custom_backup_name := defines a substring for backup file => {{ stage }}_{{ tenant_id }}_{{ cluster_name }}_{{ cluster_services_str }}__gehtdichnixan.sql +# cluster_service := (service to setup, e.g. 'connect', ...) +# cluster_features := (optional features to use, e.g. ['wordpress', 'resubmission', ...]) +# custom_backup_name := defines a substring for backup file => {{ stage }}_{{ tenant_id }}_{{ cluster_name }}_{{ cluster_service }}__gehtdichnixan.sql # smardigo message callback # scope_id := (scope id of the management process) # process_instance_id := (process instance id of the management process) @@ -34,11 +34,12 @@ - ansible_version.minor >= 10 msg: "The ansible version has to be at least ({{ ansible_version.full }})" - - name: "Parsing cluster_services_str into cluster_services" - set_fact: - cluster_services: "{{ cluster_services_str | split(',') }}" - tags: - - always + - name: "Add <{{ stage }}-smardigo-management-message> to hosts" + add_host: + name: "{{ stage }}-smardigo-management-message" + groups: + - "stage_{{ stage }}" + changed_when: False tasks: - name: "Add postgres servers to hosts if necessary" @@ -48,19 +49,19 @@ - "stage_{{ stage }}" - "{{ item }}" changed_when: False - with_items: "{{ cluster_services }}" - when: item in ['connect', 'management_connect', 'keycloak', 'webdav', 'gitea', 'workflow_index', 'workflow_proxy'] + with_items: "{{ cluster_features }}" + when: item in ['connect', 'management_connect', 'keycloak', 'webdav', 'gitea', 'workflow_index', 'workflow_proxy', 'pdns'] ############################################################# -# Setup databases for created inventory +# Restoring databases for created inventory ############################################################# -- hosts: "stage_{{ stage }}" +- hosts: "stage_{{ stage }}:!{{ stage }}-smardigo-management-message" serial: "{{ serial_number | default(1) }}" remote_user: root vars: - ansible_ssh_host: "{{ stage_server_domain }}" postgres_backup_state: restore + ansible_ssh_host: "{{ stage_server_domain }}" roles: - role: connect-postgres @@ -82,10 +83,10 @@ when: "'workflow_proxy' in group_names" ############################################################# -# Sending smardigo management message to process +# Sending smardigo management message to process ############################################################# -- hosts: "stage_{{ stage }}" +- hosts: "{{ stage }}-smardigo-management-message" serial: "{{ serial_number | default(1) }}" gather_facts: false connection: local diff --git a/roles/connect/vars/main.yml b/roles/connect/vars/main.yml index 3cd2444..6f574a4 100644 --- a/roles/connect/vars/main.yml +++ b/roles/connect/vars/main.yml @@ -68,6 +68,7 @@ connect_environment: [ "ELASTIC_MESSAGE_INDEX: \"{{ connect_elastic_message_index | default('message') }}\"", "ELASTIC_ANALYSIS_INDEX: \"{{ connect_elastic_analysis_index | default('analysis') }}\"", + "RESUBMISSION_ENABLED: \"{{ connect_resubmission_enabled | default('false') }}\"", "ELEMENT_TEMPLATE_ENABLED: \"{{ connect_element_template_enabled | default('true') }}\"", "CONFIG_DELETE_SCOPE_ENABLED: \"{{ connect_config_delete_scope_enabled | default('true') }}\"", "EXTERNAL_TASK_SCRIPT_WORKER_ENABLED: \"{{ connect_external_task_script_worker_enabled | default('true') }}\"", @@ -85,6 +86,8 @@ connect_environment: [ "SMA_CORS_ALLOWED_HEADERS: \"*\"", "SMA_CORS_PATH_PATTERN: \"/**\"", + "LOG_LEVEL_CAMUNDA: \"{{ connect_loglevel_camunda | default('OFF') }}\"", + "LOG_LEVEL_JASYPT: \"{{ connect_loglevel_jasypt | default('ERROR') }}\"", "LOG_LEVEL_MESSAGE_QUEUE: \"{{ connect_loglevel_message_queue | default('INFO') }}\"", "LOG_LEVEL_DOCUMENT_INDEX: \"{{ connect_loglevel_document_index | default('INFO') }}\"", "LOG_LEVEL_WORKFLOW_INDEX: \"{{ connect_loglevel_workflow_index | default('INFO') }}\"", diff --git a/smardigo/provisioning/datasource-file/connect-features.xlsx b/smardigo/provisioning/datasource-file/connect-features.xlsx index df0f90a471ae75187c813700f35b4bf3a63a619c..7cacd7913eb7888b3d4d54bdbfeeff977723773e 100644 GIT binary patch delta 2346 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 diff --git a/smardigo/provisioning/datasource-file/connect-versions.xlsx b/smardigo/provisioning/datasource-file/connect-versions.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..aba9d32452450a1692ba302bd4e807bfe221cf0d GIT binary patch literal 8875 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 XsHTVjom~I`75WK;2624KpWprusPl\n \n \n", - "refreshOnChange" : true, + "label" : "Status", "mask" : false, "tableView" : true, "alwaysEnabled" : false, - "type" : "htmlelement", + "type" : "well", "input" : false, - "key" : "html", - "validate" : { - "customMessage" : "", - "json" : "", - "required" : false, - "custom" : "", - "customPrivate" : false - }, + "key" : "status", "conditional" : { "show" : "", "when" : "", - "json" : "", - "eq" : "" - }, - "tabs" : null, - "encrypted" : false, - "properties" : { }, - "tags" : null, - "customConditional" : "", - "logic" : [ ], - "refreshOn" : "data", - "reorder" : false, - "placeholder" : "", - "prefix" : "", - "customClass" : "", - "suffix" : "", - "multiple" : false, - "defaultValue" : null, - "protected" : false, - "unique" : false, - "persistent" : false, - "hidden" : false, - "clearOnHide" : true, - "dataGridLabel" : false, - "labelWidth" : 30, - "labelMargin" : 3, - "description" : "", - "errorLabel" : "", - "tooltip" : "", - "hideLabel" : false, - "tabindex" : "", - "disabled" : false, - "autofocus" : false, - "dbIndex" : false, - "customDefaultValue" : "", - "calculateValue" : "", - "allowCalculateOverride" : false, - "widget" : null, - "clearOnRefresh" : false, - "validateOn" : "change", - "tag" : "p", - "id" : "etzf4n" - }, { - "label" : "progress_current", - "labelPosition" : "left-left", - "hidden" : true, - "mask" : false, - "tableView" : true, - "alwaysEnabled" : false, - "type" : "number", - "input" : true, - "key" : "progress_current", - "validate" : { - "customMessage" : "", - "json" : "", - "required" : false, - "custom" : "", - "customPrivate" : false, - "min" : "", - "max" : "", - "step" : "any", - "integer" : "" - }, - "conditional" : { - "show" : "", - "when" : "", - "json" : "", - "eq" : "" + "json" : "" }, + "components" : [ { + "label" : "HTML", + "className" : "", + "attrs" : [ { + "attr" : "", + "value" : "" + } ], + "content" : "

Status

", + "refreshOnChange" : false, + "mask" : false, + "tableView" : true, + "alwaysEnabled" : false, + "type" : "htmlelement", + "input" : false, + "key" : "html5", + "validate" : { + "customMessage" : "", + "json" : "" + }, + "conditional" : { + "show" : "", + "when" : "", + "json" : "" + }, + "tabs" : null, + "encrypted" : false, + "properties" : { }, + "tags" : null, + "customConditional" : "", + "logic" : [ ], + "reorder" : false + }, { + "label" : "HTML", + "labelPosition" : "left-left", + "className" : "", + "attrs" : [ { + "attr" : "", + "value" : "" + } ], + "content" : "
\n \n
\n", + "refreshOnChange" : true, + "mask" : false, + "tableView" : true, + "alwaysEnabled" : false, + "type" : "htmlelement", + "input" : false, + "key" : "html", + "validate" : { + "customMessage" : "", + "json" : "" + }, + "conditional" : { + "show" : "", + "when" : "", + "json" : "" + }, + "tabs" : null, + "encrypted" : false, + "properties" : { }, + "tags" : null, + "customConditional" : "", + "logic" : [ ], + "refreshOn" : "data", + "reorder" : false + }, { + "label" : "progress_current", + "labelPosition" : "left-left", + "hidden" : true, + "mask" : false, + "tableView" : true, + "alwaysEnabled" : false, + "type" : "number", + "input" : true, + "key" : "progress_current", + "validate" : { + "customMessage" : "", + "json" : "" + }, + "conditional" : { + "show" : "", + "when" : "", + "json" : "" + }, + "tabs" : null, + "delimiter" : false, + "requireDecimal" : false, + "encrypted" : false, + "properties" : { }, + "tags" : [ ], + "decimalLimit" : null, + "customConditional" : "", + "logic" : [ ], + "reorder" : false + }, { + "label" : "progress_max", + "labelPosition" : "left-left", + "hidden" : true, + "mask" : false, + "tableView" : true, + "alwaysEnabled" : false, + "type" : "number", + "input" : true, + "key" : "progress_max", + "validate" : { + "customMessage" : "", + "json" : "" + }, + "conditional" : { + "show" : "", + "when" : "", + "json" : "" + }, + "tabs" : null, + "delimiter" : false, + "requireDecimal" : false, + "encrypted" : false, + "decimalLimit" : null, + "properties" : { }, + "tags" : [ ], + "customConditional" : "", + "logic" : [ ], + "reorder" : false + } ], "tabs" : null, - "delimiter" : false, - "requireDecimal" : false, - "encrypted" : false, - "properties" : { }, - "tags" : [ ], - "decimalLimit" : null, - "customConditional" : "", - "logic" : [ ], "reorder" : false, - "placeholder" : "", - "prefix" : "", - "customClass" : "", - "suffix" : "", - "multiple" : false, - "defaultValue" : null, - "protected" : false, - "unique" : false, - "persistent" : true, - "clearOnHide" : true, - "dataGridLabel" : false, - "labelWidth" : 30, - "labelMargin" : 3, - "description" : "", - "errorLabel" : "", - "tooltip" : "", - "hideLabel" : false, - "tabindex" : "", - "disabled" : false, - "autofocus" : false, - "dbIndex" : false, - "customDefaultValue" : "", - "calculateValue" : "", - "allowCalculateOverride" : false, - "widget" : null, - "refreshOn" : "", - "clearOnRefresh" : false, - "validateOn" : "change", - "id" : "e57exg" - }, { - "label" : "progress_max", - "labelPosition" : "left-left", - "hidden" : true, - "mask" : false, - "tableView" : true, - "alwaysEnabled" : false, - "type" : "number", - "input" : true, - "key" : "progress_max", - "validate" : { - "customMessage" : "", - "json" : "", - "required" : false, - "custom" : "", - "customPrivate" : false, - "min" : "", - "max" : "", - "step" : "any", - "integer" : "" - }, - "conditional" : { - "show" : "", - "when" : "", - "json" : "", - "eq" : "" - }, - "tabs" : null, - "delimiter" : false, - "requireDecimal" : false, - "encrypted" : false, - "decimalLimit" : null, "properties" : { }, - "tags" : [ ], + "tags" : null, "customConditional" : "", - "logic" : [ ], - "reorder" : false, - "placeholder" : "", - "prefix" : "", - "customClass" : "", - "suffix" : "", - "multiple" : false, - "defaultValue" : null, - "protected" : false, - "unique" : false, - "persistent" : true, - "clearOnHide" : true, - "dataGridLabel" : false, - "labelWidth" : 30, - "labelMargin" : 3, - "description" : "", - "errorLabel" : "", - "tooltip" : "", - "hideLabel" : false, - "tabindex" : "", - "disabled" : false, - "autofocus" : false, - "dbIndex" : false, - "customDefaultValue" : "", - "calculateValue" : "", - "allowCalculateOverride" : false, - "widget" : null, - "refreshOn" : "", - "clearOnRefresh" : false, - "validateOn" : "change", - "id" : "eoxj7p" + "logic" : [ ] }, { - "label" : "HTML", - "labelPosition" : "left-left", - "className" : "", - "attrs" : [ { - "attr" : "", - "value" : "" - } ], - "content" : "
\n connect-admin:connect-admin\n
\n
\n \n {{ 'https://' + (!!(data.cluster)?data.cluster.stage:'cluster.stage') + '-' + (!!(data.tenant)?data.tenant.key:'tenant.key') + '-' + (!!(data.cluster)?data.cluster.name:'cluster.name') + '-01-connect.smardigo.digital' }}\n \n
", - "refreshOnChange" : true, + "label" : "Links", "mask" : false, "tableView" : true, "alwaysEnabled" : false, - "type" : "htmlelement", + "type" : "well", "input" : false, - "key" : "html2", - "validate" : { - "customMessage" : "", - "json" : "", - "required" : false, - "custom" : "", - "customPrivate" : false - }, + "key" : "links", "conditional" : { "show" : "", "when" : "", - "json" : "", - "eq" : "" + "json" : "" }, + "components" : [ { + "label" : "HTML", + "className" : "", + "attrs" : [ { + "attr" : "", + "value" : "" + } ], + "content" : "

Links

", + "refreshOnChange" : false, + "mask" : false, + "tableView" : true, + "alwaysEnabled" : false, + "type" : "htmlelement", + "input" : false, + "key" : "html6", + "validate" : { + "customMessage" : "", + "json" : "" + }, + "conditional" : { + "show" : "", + "when" : "", + "json" : "" + }, + "tabs" : null, + "encrypted" : false, + "properties" : { }, + "tags" : null, + "customConditional" : "", + "logic" : [ ], + "reorder" : false + }, { + "label" : "HTML", + "labelPosition" : "left-left", + "className" : "", + "attrs" : [ { + "attr" : "", + "value" : "" + } ], + "content" : "
\n connect-admin:connect-admin\n
\n
\n \n {{ 'https://' + (!!(data.cluster)?data.cluster.stage:'cluster.stage') + '-' + (!!(data.tenant)?data.tenant.key:'tenant.key') + '-' + (!!(data.cluster)?data.cluster.name:'cluster.name') + '-01-connect.smardigo.digital' }}\n \n
", + "refreshOnChange" : true, + "mask" : false, + "tableView" : true, + "alwaysEnabled" : false, + "type" : "htmlelement", + "input" : false, + "key" : "html2", + "validate" : { + "customMessage" : "", + "json" : "" + }, + "conditional" : { + "show" : "", + "when" : "", + "json" : "" + }, + "tabs" : null, + "encrypted" : false, + "properties" : { }, + "tags" : null, + "customConditional" : "", + "logic" : [ ], + "refreshOn" : "data", + "reorder" : false + }, { + "label" : "HTML", + "labelPosition" : "left-left", + "className" : "", + "attrs" : [ { + "attr" : "", + "value" : "" + } ], + "content" : "\n
\n \n {{ 'https://' + (!!(data.cluster)?data.cluster.stage:'cluster.stage') + '-' + (!!(data.tenant)?data.tenant.key:'tenant.key') + '-' + (!!(data.cluster)?data.cluster.name:'cluster.name') + '-01-wordpress.smardigo.digital' }}\n \n
\n
\n wordpress-admin:wordpress-admin\n
\n
\n \n {{ 'https://' + (!!(data.cluster)?data.cluster.stage:'cluster.stage') + '-' + (!!(data.tenant)?data.tenant.key:'tenant.key') + '-' + (!!(data.cluster)?data.cluster.name:'cluster.name') + '-01-wordpress.smardigo.digital/wp-admin' }}\n \n
", + "refreshOnChange" : true, + "mask" : false, + "tableView" : true, + "alwaysEnabled" : false, + "type" : "htmlelement", + "input" : false, + "key" : "html4", + "validate" : { + "customMessage" : "", + "json" : "" + }, + "conditional" : { + "show" : "", + "when" : "", + "json" : "" + }, + "tabs" : null, + "encrypted" : false, + "properties" : { }, + "tags" : null, + "customConditional" : "show = data['connect-features'].includes(\"connect_wordpress\") ", + "logic" : [ ], + "refreshOn" : "data", + "reorder" : false + }, { + "label" : "HTML", + "labelPosition" : "left-left", + "className" : "", + "attrs" : [ { + "attr" : "", + "value" : "" + } ], + "content" : "
\n connect-realm-admin:connect-realm-admin\n
\n
\n \n {{ 'https://' + (!!(data.cluster)?data.cluster.stage:'cluster.stage') + '-keycloak-01.smardigo.digital/auth/admin/' + (!!(data.tenant)?data.tenant.key:'tenant.key') + '/console' }}\n \n
", + "refreshOnChange" : true, + "mask" : false, + "tableView" : true, + "alwaysEnabled" : false, + "type" : "htmlelement", + "input" : false, + "key" : "html3", + "validate" : { + "customMessage" : "", + "json" : "" + }, + "conditional" : { + "show" : "", + "when" : "", + "json" : "" + }, + "tabs" : null, + "encrypted" : false, + "properties" : { }, + "tags" : null, + "customConditional" : "", + "logic" : [ ], + "refreshOn" : "data", + "reorder" : false + } ], "tabs" : null, - "encrypted" : false, + "reorder" : false, "properties" : { }, "tags" : null, "customConditional" : "", - "logic" : [ ], - "refreshOn" : "data", - "reorder" : false, - "placeholder" : "", - "prefix" : "", - "customClass" : "", - "suffix" : "", - "multiple" : false, - "defaultValue" : null, - "protected" : false, - "unique" : false, - "persistent" : false, - "hidden" : false, - "clearOnHide" : true, - "dataGridLabel" : false, - "labelWidth" : 30, - "labelMargin" : 3, - "description" : "", - "errorLabel" : "", - "tooltip" : "", - "hideLabel" : false, - "tabindex" : "", - "disabled" : false, - "autofocus" : false, - "dbIndex" : false, - "customDefaultValue" : "", - "calculateValue" : "", - "allowCalculateOverride" : false, - "widget" : null, - "clearOnRefresh" : false, - "validateOn" : "change", - "tag" : "p", - "id" : "e0g48vt" + "logic" : [ ] }, { - "label" : "HTML", - "labelPosition" : "left-left", - "className" : "", - "attrs" : [ { - "attr" : "", - "value" : "" - } ], - "content" : "\n
\n \n {{ 'https://' + (!!(data.cluster)?data.cluster.stage:'cluster.stage') + '-' + (!!(data.tenant)?data.tenant.key:'tenant.key') + '-' + (!!(data.cluster)?data.cluster.name:'cluster.name') + '-01-wordpress.smardigo.digital' }}\n \n
\n
\n wordpress-admin:wordpress-admin\n
\n
\n \n {{ 'https://' + (!!(data.cluster)?data.cluster.stage:'cluster.stage') + '-' + (!!(data.tenant)?data.tenant.key:'tenant.key') + '-' + (!!(data.cluster)?data.cluster.name:'cluster.name') + '-01-wordpress.smardigo.digital/wp-admin' }}\n \n
", - "refreshOnChange" : true, + "label" : "Status", "mask" : false, "tableView" : true, "alwaysEnabled" : false, - "type" : "htmlelement", + "type" : "well", "input" : false, - "key" : "html4", - "validate" : { - "customMessage" : "", - "json" : "", - "required" : false, - "custom" : "", - "customPrivate" : false - }, + "key" : "status2", "conditional" : { "show" : "", "when" : "", - "json" : "", - "eq" : "" + "json" : "" }, - "tabs" : null, - "encrypted" : false, - "properties" : { }, - "tags" : null, - "customConditional" : "show = data['connect-features'].includes(\"connect_wordpress\") ", - "logic" : [ ], - "refreshOn" : "data", - "reorder" : false, - "placeholder" : "", - "prefix" : "", - "customClass" : "", - "suffix" : "", - "multiple" : false, - "defaultValue" : null, - "protected" : false, - "unique" : false, - "persistent" : false, - "hidden" : false, - "clearOnHide" : true, - "dataGridLabel" : false, - "labelWidth" : 30, - "labelMargin" : 3, - "description" : "", - "errorLabel" : "", - "tooltip" : "", - "hideLabel" : false, - "tabindex" : "", - "disabled" : false, - "autofocus" : false, - "dbIndex" : false, - "customDefaultValue" : "", - "calculateValue" : "", - "allowCalculateOverride" : false, - "widget" : null, - "clearOnRefresh" : false, - "validateOn" : "change", - "tag" : "p", - "id" : "egrh2" - }, { - "label" : "HTML", - "labelPosition" : "left-left", - "className" : "", - "attrs" : [ { - "attr" : "", - "value" : "" + "components" : [ { + "label" : "HTML", + "className" : "", + "attrs" : [ { + "attr" : "", + "value" : "" + } ], + "content" : "

Features

", + "refreshOnChange" : false, + "mask" : false, + "tableView" : true, + "alwaysEnabled" : false, + "type" : "htmlelement", + "input" : false, + "key" : "html7", + "validate" : { + "customMessage" : "", + "json" : "" + }, + "conditional" : { + "show" : "", + "when" : "", + "json" : "" + }, + "tabs" : null, + "encrypted" : false, + "properties" : { }, + "tags" : null, + "customConditional" : "", + "logic" : [ ], + "reorder" : false + }, { + "label" : "Optionale Features", + "mask" : false, + "tableView" : true, + "alwaysEnabled" : false, + "type" : "dualmultiselect", + "input" : true, + "key" : "connect-features", + "defaultValue" : [ ], + "validate" : { + "customMessage" : "", + "json" : "" + }, + "conditional" : { + "show" : "", + "when" : "", + "json" : "" + }, + "data" : { + "url" : "api/v1/scopes/{{ context.scopeId }}/processes/{{ context.processId }}/datasources/connect-features/query", + "values" : [ { } ] + }, + "template" : "{{ item.key }}", + "tabs" : null, + "properties" : { }, + "tags" : [ ], + "encrypted" : false, + "customConditional" : "", + "logic" : [ ], + "projection" : "key", + "reorder" : false } ], - "content" : "
\n connect-realm-admin:connect-realm-admin\n
\n
\n \n {{ 'https://' + (!!(data.cluster)?data.cluster.stage:'cluster.stage') + '-keycloak-01.smardigo.digital/auth/admin/' + (!!(data.tenant)?data.tenant.key:'tenant.key') + '/console' }}\n \n
", - "refreshOnChange" : true, - "mask" : false, - "tableView" : true, - "alwaysEnabled" : false, - "type" : "htmlelement", - "input" : false, - "key" : "html3", - "validate" : { - "customMessage" : "", - "json" : "", - "required" : false, - "custom" : "", - "customPrivate" : false - }, - "conditional" : { - "show" : "", - "when" : "", - "json" : "", - "eq" : "" - }, "tabs" : null, - "encrypted" : false, + "reorder" : false, "properties" : { }, "tags" : null, "customConditional" : "", - "logic" : [ ], - "refreshOn" : "data", - "reorder" : false, - "placeholder" : "", - "prefix" : "", - "customClass" : "", - "suffix" : "", - "multiple" : false, - "defaultValue" : null, - "protected" : false, - "unique" : false, - "persistent" : false, - "hidden" : false, - "clearOnHide" : true, - "dataGridLabel" : false, - "labelWidth" : 30, - "labelMargin" : 3, - "description" : "", - "errorLabel" : "", - "tooltip" : "", - "hideLabel" : false, - "tabindex" : "", - "disabled" : false, - "autofocus" : false, - "dbIndex" : false, - "customDefaultValue" : "", - "calculateValue" : "", - "allowCalculateOverride" : false, - "widget" : null, - "clearOnRefresh" : false, - "validateOn" : "change", - "tag" : "p", - "id" : "eodf3h" + "logic" : [ ] }, { - "label" : "Optionale Features", + "label" : "Connect", "mask" : false, "tableView" : true, "alwaysEnabled" : false, - "type" : "dualmultiselect", + "type" : "container", "input" : true, - "key" : "connect-features", - "defaultValue" : [ ], + "key" : "connect", "validate" : { "customMessage" : "", - "json" : "", - "required" : false, - "custom" : "", - "customPrivate" : false + "json" : "" }, "conditional" : { "show" : "", "when" : "", - "json" : "", - "eq" : "" + "json" : "" }, - "data" : { - "url" : "api/v1/scopes/{{ context.scopeId }}/processes/{{ context.processId }}/datasources/connect-features/query", - "values" : [ { } ] - }, - "template" : "{{ item.key }}", + "components" : [ { + "label" : "Connect", + "hideLabel" : true, + "mask" : false, + "tableView" : true, + "alwaysEnabled" : false, + "type" : "well", + "input" : false, + "key" : "connect2", + "conditional" : { + "show" : "", + "when" : "", + "json" : "" + }, + "components" : [ { + "label" : "Version", + "labelPosition" : "left-left", + "mask" : false, + "tableView" : true, + "alwaysEnabled" : false, + "type" : "select", + "input" : true, + "key" : "version", + "defaultValue" : "latest", + "validate" : { + "select" : false, + "customMessage" : "", + "json" : "" + }, + "conditional" : { + "show" : "", + "when" : "", + "json" : "" + }, + "data" : { + "url" : "api/v1/scopes/{{context.scopeId}}/tags/{{context.scopeTag}}/datasources/connect-versions/query", + "headers" : [ { + "key" : "", + "value" : "" + } ], + "values" : [ ] + }, + "dataSrc" : "url", + "valueProperty" : "value", + "tabs" : null, + "properties" : { }, + "selectThreshold" : 0.3, + "encrypted" : false, + "lazyLoad" : false, + "selectValues" : "", + "disableLimit" : false, + "sort" : "", + "tags" : null, + "customConditional" : "", + "logic" : [ ], + "customDefaultValue" : "value='latest'", + "reorder" : false, + "reference" : false + } ], + "tabs" : null, + "reorder" : false, + "properties" : { }, + "tags" : null, + "customConditional" : "", + "logic" : [ ] + } ], "tabs" : null, - "properties" : { }, - "tags" : [ ], "encrypted" : false, + "properties" : { }, + "tags" : null, "customConditional" : "", "logic" : [ ], - "projection" : "key", - "reorder" : false, - "placeholder" : "", - "prefix" : "", - "customClass" : "", - "suffix" : "", - "multiple" : false, - "protected" : false, - "unique" : false, - "persistent" : true, - "hidden" : false, - "clearOnHide" : true, - "dataGridLabel" : false, - "labelPosition" : "top", - "labelWidth" : 30, - "labelMargin" : 3, - "description" : "", - "errorLabel" : "", - "tooltip" : "", - "hideLabel" : false, - "tabindex" : "", - "disabled" : false, - "autofocus" : false, - "dbIndex" : false, - "customDefaultValue" : "", - "calculateValue" : "", - "allowCalculateOverride" : false, - "widget" : null, - "refreshOn" : "", - "clearOnRefresh" : false, - "validateOn" : "change", - "dataSrc" : "url", - "filter" : true, - "filterPlaceholder" : "Tippen um zu filtern.", - "labelAll" : "Alle Werte", - "labelSelected" : "Ausgewählte Werte", - "buttonSelectAll" : "Alle auswählen", - "buttonDeselectAll" : "Alle abwählen", - "selectAll" : false, - "id" : "edyvsf" + "reorder" : false }, { "label" : "Cluster", "mask" : false, @@ -485,16 +476,12 @@ "key" : "cluster", "validate" : { "customMessage" : "", - "json" : "", - "required" : false, - "custom" : "", - "customPrivate" : false + "json" : "" }, "conditional" : { "show" : "", "when" : "", - "json" : "", - "eq" : "" + "json" : "" }, "components" : [ { "label" : "Cluster", @@ -507,8 +494,7 @@ "conditional" : { "show" : "", "when" : "", - "json" : "", - "eq" : "" + "json" : "" }, "components" : [ { "label" : "Stage", @@ -530,16 +516,12 @@ "minLength" : null, "maxLength" : null, "minWords" : null, - "maxWords" : null, - "custom" : "", - "customPrivate" : false, - "pattern" : "" + "maxWords" : null }, "conditional" : { "show" : "", "when" : "", - "json" : "", - "eq" : "" + "json" : "" }, "tabs" : null, "inputFormat" : "plain", @@ -549,42 +531,9 @@ "customConditional" : "", "logic" : [ ], "widget" : { - "type" : "", - "format" : "yyyy-MM-dd hh:mm a", - "dateFormat" : "yyyy-MM-dd hh:mm a", - "saveAs" : "text" + "type" : "" }, - "reorder" : false, - "placeholder" : "", - "prefix" : "", - "customClass" : "", - "suffix" : "", - "multiple" : false, - "protected" : false, - "unique" : false, - "persistent" : true, - "hidden" : false, - "clearOnHide" : true, - "dataGridLabel" : false, - "labelWidth" : 30, - "labelMargin" : 3, - "description" : "", - "errorLabel" : "", - "tooltip" : "", - "hideLabel" : false, - "tabindex" : "", - "autofocus" : false, - "dbIndex" : false, - "customDefaultValue" : "", - "calculateValue" : "", - "allowCalculateOverride" : false, - "refreshOn" : "", - "clearOnRefresh" : false, - "validateOn" : "change", - "mask" : false, - "inputType" : "text", - "inputMask" : "", - "id" : "e1sh16" + "reorder" : false }, { "label" : "Name", "labelPosition" : "left-left", @@ -598,22 +547,18 @@ "key" : "name", "defaultValue" : "", "validate" : { - "customMessage" : "Zeichenkette ohne Sonderzeichen, mindestens 4 und höchstens 15 Zeichen, alles kleingeschrieben", + "customMessage" : "", "json" : "", "required" : true, "minLength" : null, "maxLength" : null, "minWords" : null, - "maxWords" : null, - "pattern" : "^[a-z0-9]{4,15}$", - "custom" : "", - "customPrivate" : false + "maxWords" : null }, "conditional" : { "show" : "", "when" : "", - "json" : "", - "eq" : "" + "json" : "" }, "tabs" : null, "inputFormat" : "plain", @@ -623,43 +568,9 @@ "customConditional" : "", "logic" : [ ], "widget" : { - "type" : "", - "format" : "yyyy-MM-dd hh:mm a", - "dateFormat" : "yyyy-MM-dd hh:mm a", - "saveAs" : "text" + "type" : "" }, - "reorder" : false, - "placeholder" : "", - "prefix" : "", - "customClass" : "", - "suffix" : "", - "multiple" : false, - "protected" : false, - "unique" : false, - "persistent" : true, - "hidden" : false, - "clearOnHide" : true, - "dataGridLabel" : false, - "labelWidth" : 30, - "labelMargin" : 3, - "description" : "", - "errorLabel" : "", - "tooltip" : "", - "hideLabel" : false, - "tabindex" : "", - "disabled" : false, - "autofocus" : false, - "dbIndex" : false, - "customDefaultValue" : "", - "calculateValue" : "", - "allowCalculateOverride" : false, - "refreshOn" : "", - "clearOnRefresh" : false, - "validateOn" : "change", - "mask" : false, - "inputType" : "text", - "inputMask" : "", - "id" : "e7pf9ih" + "reorder" : false }, { "label" : "Size", "labelPosition" : "left-left", @@ -675,17 +586,12 @@ "json" : "", "required" : true, "min" : null, - "max" : null, - "custom" : "", - "customPrivate" : false, - "step" : "any", - "integer" : "" + "max" : null }, "conditional" : { "show" : "", "when" : "", - "json" : "", - "eq" : "" + "json" : "" }, "tabs" : null, "properties" : { }, @@ -696,36 +602,7 @@ "decimalLimit" : null, "customConditional" : "", "logic" : [ ], - "reorder" : false, - "placeholder" : "", - "prefix" : "", - "customClass" : "", - "suffix" : "", - "multiple" : false, - "defaultValue" : null, - "protected" : false, - "unique" : false, - "persistent" : true, - "hidden" : false, - "clearOnHide" : true, - "dataGridLabel" : false, - "labelWidth" : 30, - "labelMargin" : 3, - "description" : "", - "errorLabel" : "", - "tooltip" : "", - "hideLabel" : false, - "tabindex" : "", - "autofocus" : false, - "dbIndex" : false, - "customDefaultValue" : "", - "calculateValue" : "", - "allowCalculateOverride" : false, - "widget" : null, - "refreshOn" : "", - "clearOnRefresh" : false, - "validateOn" : "change", - "id" : "e5npzs" + "reorder" : false }, { "label" : "Service", "labelPosition" : "left-left", @@ -746,16 +623,12 @@ "minLength" : null, "maxLength" : null, "minWords" : null, - "maxWords" : null, - "custom" : "", - "customPrivate" : false, - "pattern" : "" + "maxWords" : null }, "conditional" : { "show" : "", "when" : "", - "json" : "", - "eq" : "" + "json" : "" }, "tabs" : null, "inputFormat" : "plain", @@ -765,85 +638,16 @@ "customConditional" : "", "logic" : [ ], "widget" : { - "type" : "", - "format" : "yyyy-MM-dd hh:mm a", - "dateFormat" : "yyyy-MM-dd hh:mm a", - "saveAs" : "text" + "type" : "" }, - "reorder" : false, - "placeholder" : "", - "prefix" : "", - "customClass" : "", - "suffix" : "", - "multiple" : false, - "protected" : false, - "unique" : false, - "persistent" : true, - "hidden" : false, - "clearOnHide" : true, - "dataGridLabel" : false, - "labelWidth" : 30, - "labelMargin" : 3, - "description" : "", - "errorLabel" : "", - "tooltip" : "", - "hideLabel" : false, - "tabindex" : "", - "autofocus" : false, - "dbIndex" : false, - "customDefaultValue" : "", - "calculateValue" : "", - "allowCalculateOverride" : false, - "refreshOn" : "", - "clearOnRefresh" : false, - "validateOn" : "change", - "mask" : false, - "inputType" : "text", - "inputMask" : "", - "id" : "eqxm1s" + "reorder" : false } ], "tabs" : null, "reorder" : false, "properties" : { }, "tags" : null, "customConditional" : "", - "logic" : [ ], - "placeholder" : "", - "prefix" : "", - "customClass" : "", - "suffix" : "", - "multiple" : false, - "defaultValue" : null, - "protected" : false, - "unique" : false, - "persistent" : false, - "hidden" : false, - "clearOnHide" : true, - "dataGridLabel" : false, - "labelPosition" : "top", - "labelWidth" : 30, - "labelMargin" : 3, - "description" : "", - "errorLabel" : "", - "tooltip" : "", - "hideLabel" : false, - "tabindex" : "", - "disabled" : false, - "autofocus" : false, - "dbIndex" : false, - "customDefaultValue" : "", - "calculateValue" : "", - "allowCalculateOverride" : false, - "widget" : null, - "refreshOn" : "", - "clearOnRefresh" : false, - "validateOn" : "change", - "validate" : { - "required" : false, - "custom" : "", - "customPrivate" : false - }, - "id" : "ebmljyd" + "logic" : [ ] } ], "tabs" : null, "encrypted" : false, @@ -851,38 +655,6 @@ "tags" : [ ], "customConditional" : "", "logic" : [ ], - "reorder" : false, - "placeholder" : "", - "prefix" : "", - "customClass" : "", - "suffix" : "", - "multiple" : false, - "defaultValue" : null, - "protected" : false, - "unique" : false, - "persistent" : true, - "hidden" : false, - "clearOnHide" : true, - "dataGridLabel" : false, - "labelPosition" : "top", - "labelWidth" : 30, - "labelMargin" : 3, - "description" : "", - "errorLabel" : "", - "tooltip" : "", - "hideLabel" : false, - "tabindex" : "", - "disabled" : false, - "autofocus" : false, - "dbIndex" : false, - "customDefaultValue" : "", - "calculateValue" : "", - "allowCalculateOverride" : false, - "widget" : null, - "refreshOn" : "", - "clearOnRefresh" : false, - "validateOn" : "change", - "tree" : true, - "id" : "exh01oc" + "reorder" : false } ] } \ No newline at end of file diff --git a/smardigo/provisioning/process-variable-declaration/simple-connect.json b/smardigo/provisioning/process-variable-declaration/simple-connect.json index 2f5ae5f..ed1a0da 100644 --- a/smardigo/provisioning/process-variable-declaration/simple-connect.json +++ b/smardigo/provisioning/process-variable-declaration/simple-connect.json @@ -11,6 +11,10 @@ "type" : "object", "classification" : "PRIVATE" }, + "connect" : { + "type" : "object", + "classification" : "PRIVATE" + }, "connect-features" : { "type" : "object", "classification" : "PRIVATE" diff --git a/smardigo/provisioning/process/simple-connect.bpmn b/smardigo/provisioning/process/simple-connect.bpmn index 8919734..25ca22d 100644 --- a/smardigo/provisioning/process/simple-connect.bpmn +++ b/smardigo/provisioning/process/simple-connect.bpmn @@ -66,8 +66,8 @@ - - [cluster.service] + execution.getVariable('connect-features') + + ['connect'] + execution.getVariable('connect-features') @@ -164,6 +164,7 @@ Flow_0ex5zxa Flow_0zcb7z2 Flow_1qghkm9 + Flow_0qc2wxt @@ -758,7 +759,6 @@ Variables.userId(authenticatedUserId) - ${$action == 'abbrechen'} @@ -897,6 +897,28 @@ Variables.userId(authenticatedUserId) Flow_1r4otto + + + Flow_0qc2wxt + + + Flow_14qlmwl + Flow_03lhlpu + + + Flow_14qlmwl + + ${vorgang_status == 50} + + + + Flow_03lhlpu + + ${vorgang_status == 92} + + + + Shared Service Server bei Hetzner erstellen @@ -1018,21 +1040,8 @@ Server bei Hetzner löschen Flow_1cnt5hf Flow_1nqz9ya - - - - - - ${extra_vars} - - - - - Flow_1nqz9ya - Flow_0rau5wd - - Flow_0rau5wd + Flow_1kxc9t0 Flow_0gcsmj7 @@ -1044,7 +1053,6 @@ Server bei Hetzner löschen Flow_1ju13h8 - @@ -1052,6 +1060,20 @@ Server bei Hetzner löschen + + + + + + ${extra_vars} + + + + + Flow_1nqz9ya + Flow_1kxc9t0 + + @@ -1082,6 +1104,27 @@ Server bei Hetzner löschen + + + + + + + + + + + + + + + + + + + + + @@ -1273,10 +1316,6 @@ Server bei Hetzner löschen - - - - @@ -1409,21 +1448,6 @@ Server bei Hetzner löschen - - - - - - - - - - - - - - - @@ -1768,6 +1792,27 @@ Server bei Hetzner löschen + + + + + + + + + + + + + + + + + + + + + @@ -1792,6 +1837,18 @@ Server bei Hetzner löschen + + + + + + + + + + + + @@ -1857,6 +1914,10 @@ Server bei Hetzner löschen + + + + @@ -1885,10 +1946,6 @@ Server bei Hetzner löschen - - - - @@ -1904,9 +1961,6 @@ Server bei Hetzner löschen - - - @@ -1919,6 +1973,9 @@ Server bei Hetzner löschen + + + diff --git a/smardigo/provisioning/script/ansible-start.groovy b/smardigo/provisioning/script/ansible-start.groovy index 8d467a8..0378863 100644 --- a/smardigo/provisioning/script/ansible-start.groovy +++ b/smardigo/provisioning/script/ansible-start.groovy @@ -1,34 +1,35 @@ def env = [ - scope_id: contextScopeId, - process_instance_id: execution.getProcessInstanceId(), - smardigo_management_action: smardigoManagementAction, + cluster_features: cluster_features, cluster_name: cluster.name, cluster_service: cluster.service, - cluster_services_str: ([cluster.service] + execution.getVariable('connect-features')).join(','), cluster_size: cluster.size, - stage: cluster.stage, + connect_image_version: connect.version, current_realm_name: tenant.key, current_realm_display_name: tenant.name, + process_instance_id: execution.getProcessInstanceId(), + scope_id: contextScopeId, + smardigo_management_action: smardigoManagementAction, + stage: cluster.stage, tenant_id: tenant.key ] if (binding.hasVariable('extraVariables')) { env << extraVariables } -def ansibleCommand= 'ansible-playbook ' + smardigoManagementAction + '.yml --vault-password-file ~/vault-pass' -def ansibleEnvironment= ' -e \"' +def filename = 'xvars-' + smardigoManagementAction + '-' + execution.getProcessInstanceId() + '.yml' +def ansibleCommand= 'ansible-playbook ' + smardigoManagementAction + '.yml --vault-password-file ~/vault-pass -e "@' + filename + '"' +def ansibleVariables= 'cat <> ' + filename + '\n' +ansibleVariables+= '---\n' env.each { key, val -> if (val instanceof List) { - ansibleEnvironment+= key + '=\'' + val.join(',') + '\' ' + ansibleVariables+= key + ':\n- \'' + val.join('\'\n- \'') + '\'\n' } else { - ansibleEnvironment+= key + '=\'' + val + '\' ' + ansibleVariables+= key + ': \'' + val + '\'\n' } } -ansibleEnvironment = ansibleEnvironment.substring(0, ansibleEnvironment.length() - 1); -ansibleEnvironment+= '\"' -ansibleCommand += ansibleEnvironment +ansibleVariables+= 'EOT' processes.byId(contextScopeId, contextProcessId).createComment(comment + ' gestartet') -processes.byId(contextScopeId, contextProcessId).createComment(ansibleCommand) +processes.byId(contextScopeId, contextProcessId).createComment(ansibleVariables + '\n' + ansibleCommand) ansibleCommand \ No newline at end of file diff --git a/smardigo/provisioning/script/create-awx-paramaters.groovy b/smardigo/provisioning/script/create-awx-paramaters.groovy index ae97f5a..6c52c36 100644 --- a/smardigo/provisioning/script/create-awx-paramaters.groovy +++ b/smardigo/provisioning/script/create-awx-paramaters.groovy @@ -1,14 +1,15 @@ def env = [ - scope_id: contextScopeId, - process_instance_id: execution.getProcessInstanceId(), - smardigo_management_action: smardigoManagementAction, + cluster_features: cluster_features, cluster_name: cluster.name, cluster_service: cluster.service, - cluster_services_str: ([cluster.service] + execution.getVariable('connect-features')).join(','), cluster_size: cluster.size, - stage: cluster.stage, + connect_image_version: connect.version, current_realm_name: tenant.key, current_realm_display_name: tenant.name, + process_instance_id: execution.getProcessInstanceId(), + scope_id: contextScopeId, + smardigo_management_action: smardigoManagementAction, + stage: cluster.stage, tenant_id: tenant.key ] if (binding.hasVariable('extraVariables')) { diff --git a/tasks/autodiscover_pre_tasks.yml b/tasks/autodiscover_pre_tasks.yml index d1b8f7c..667c1a0 100644 --- a/tasks/autodiscover_pre_tasks.yml +++ b/tasks/autodiscover_pre_tasks.yml @@ -164,5 +164,15 @@ become: false tags: - always - when: - - debug +# when: +# - debug + +- name: "Printing groups for {{ inventory_hostname }}" + debug: + msg: "{{ group_names }}" + delegate_to: 127.0.0.1 + become: false + tags: + - always +# when: +# - debug diff --git a/update-monitoring.yml b/update-monitoring.yml index a9ca5d1..31db9ef 100644 --- a/update-monitoring.yml +++ b/update-monitoring.yml @@ -25,16 +25,19 @@ - ansible_version.major >= 2 - ansible_version.minor >= 10 msg: "The ansible version has to be at least ({{ ansible_version.full }})" - tags: - - always + + - name: "Add <{{ stage }}-smardigo-management-message> to hosts" + add_host: + name: "{{ stage }}-smardigo-management-message" + groups: + - "stage_{{ stage }}" + changed_when: False - name: "Import autodiscover pre-tasks" include_tasks: tasks/autodiscover_pre_tasks.yml - tags: - - always tasks: - - name: Add prometheus servers to hosts if necessary + - name: Add all servers to hosts add_host: name: "{{ item.name }}" groups: @@ -43,11 +46,9 @@ stage_server_infos: "{{ stage_server_infos }}" changed_when: False with_items: "{{ stage_server_infos }}" - tags: - - always ############################################################# -# update monitoring +# Updating monitoring for all servers ############################################################# - hosts: "{{ stage }}-prometheus-01" @@ -60,14 +61,12 @@ - include_role: name: prometheus tasks_from: _update_config - tags: - - always ############################################################# -# Sending smardigo management message to process +# Sending smardigo management message to process ############################################################# -- hosts: "stage_{{ stage }}" +- hosts: "{{ stage }}-smardigo-management-message" serial: "{{ serial_number | default(1) }}" gather_facts: false connection: local diff --git a/update-service-state.yml b/update-service-state.yml index 02b9d0c..507f216 100644 --- a/update-service-state.yml +++ b/update-service-state.yml @@ -5,7 +5,7 @@ # stage := the type of the stage (e.g. dev, int, qa, prod) # tenant_id := (unique key for the tenant, e.g. customer) # cluster_name := (business name for the cluster, e.g. product, department ) -# cluster_services_str := (services to setup, e.g. 'connect,wordpress') +# cluster_services := (services to setup, e.g. ['connect', 'wordpress', ...]) # service_state := the state of the service (e.g. up, down, upgrade) # smardigo message callback # scope_id := (scope id of the management process) @@ -28,27 +28,26 @@ - ansible_version.minor >= 10 msg: "The ansible version has to be at least ({{ ansible_version.full }})" - - name: "Parsing cluster_services_str into cluster_services" - set_fact: - cluster_services: "{{ cluster_services_str | split(',') }}" + - name: "Add <{{ stage }}-smardigo-management-message> to hosts" + add_host: + name: "{{ stage }}-smardigo-management-message" + groups: + - "stage_{{ stage }}" + changed_when: False tasks: - name: Add hosts add_host: - name: "{{ stage }}-{{ tenant_id }}-{{ cluster_name }}-01" - groups: - - "stage_{{ stage }}" - - "{{ cluster_service }}" - - "{{ item }}" + name: "{{ stage }}-{{ tenant_id }}-{{ cluster_name }}-{{ '%02d' | format(item|int) }}" + groups: "{{ ['stage_' + stage ] + [cluster_service] + cluster_features }}" + with_sequence: start=1 end={{ cluster_size | default(1) }} changed_when: False - with_items: "{{ cluster_services }}" - when: item in ['connect', 'connect_wordpress'] ############################################################# -# Stop services for created inventory +# Stopping services for created inventory ############################################################# -- hosts: "stage_{{ stage }}" +- hosts: "stage_{{ stage }}:!{{ stage }}-smardigo-management-message" serial: "{{ serial_number | default(1) }}" remote_user: root vars: @@ -71,10 +70,10 @@ when: "'connect_wordpress' in group_names" ############################################################# -# Sending smardigo management message to process +# Sending smardigo management message to process ############################################################# -- hosts: "stage_{{ stage }}" +- hosts: "{{ stage }}-smardigo-management-message" serial: "{{ serial_number | default(1) }}" gather_facts: false connection: local diff --git a/upload-database-dumb.yml b/upload-database-dumb.yml index 7b5a4c7..b8a6dcc 100644 --- a/upload-database-dumb.yml +++ b/upload-database-dumb.yml @@ -12,7 +12,7 @@ # stage := the type of the stage (e.g. dev, int, qa, prod) # tenant_id := (unique key for the tenant, e.g. customer) # cluster_name := (business name for the cluster, e.g. product, department ) -# cluster_size := (WIP node count for the cluster) (Currently max is 2 master/slave) +# cluster_size := (WIP node count for the cluster) # cluster_services := (services to setup, e.g. ['connect', 'wordpress', ...]) # upload_file := the local file to upload (e.g. dumps/wordpress_portal.sql) # database_backup_file := the dump file to import (e.g. wordpress_portal.sql) @@ -36,25 +36,20 @@ - ansible_version.major >= 2 - ansible_version.minor >= 10 msg: "The ansible version has to be at least ({{ ansible_version.full }})" - - name: "Parsing cluster_services_str into cluster_services" - set_fact: - cluster_services: "{{ cluster_services_str | split(',') }}" - tags: - - always tasks: - - name: Add hosts + - name: "Add maria servers to hosts if necessary" add_host: name: "{{ stage }}-maria-01" groups: - "stage_{{ stage }}" - "{{ item }}" changed_when: False - with_items: "{{ cluster_services }}" + with_items: "{{ cluster_features }}" when: item in ['connect_wordpress'] ############################################################# -# Setup services for created inventory +# Uploading database backups for created inventory ############################################################# - hosts: "stage_{{ stage }}" @@ -66,11 +61,6 @@ pre_tasks: - name: "Import autodiscover pre-tasks" include_tasks: tasks/autodiscover_pre_tasks.yml - - name: "Parsing cluster_services_str into cluster_services" - set_fact: - cluster_services: "{{ cluster_services_str | split(',') }}" - tags: - - always roles: - role: upload-local-file