From e65a560b8298707cfe94e3620e86ca0c55283190 Mon Sep 17 00:00:00 2001 From: "Ketelsen, Sven" Date: Mon, 27 Nov 2023 10:09:42 +0000 Subject: [PATCH] Bugfix/MPMXKD-23 --- create-database-backup.yml | 104 - create-database.yml | 114 - create-kibana-objects.yml | 241 -- create-realm.yml | 94 - create-server.yml | 167 -- create-service.yml | 86 - dump-hcloud-ips.yml | 95 - export-database.yml | 98 - group_vars/all/connect.yml | 4 - group_vars/all/management.yml | 1 - group_vars/all/plain.yml | 1 + group_vars/all/versions.yml | 1 + group_vars/all/wordpress.yml | 2 + group_vars/stage_demompmx/management.yml | 4 - import-database.yml | 109 - kubespray | 2 +- pmci-callback.yml | 1 - pmci-database-backup-create.yml | 11 +- pmci-database-backup-import.yml | 18 +- pmci-database-backup-restore.yml | 11 +- pmci-database-create.yml | 11 +- pmci-database-delete.yml | 10 +- pmci-empty-playbook.yml | 9 +- pmci-inventory-cluster.yml | 4 +- pmci-inventory-database.yml | 3 +- pmci-kibana-create-objects.yml | 3 +- pmci-monitoring-update.yml | 2 +- pmci-realm-client-create.yml | 48 +- pmci-realm-client-delete.yml | 13 +- pmci-server-create.yml | 13 +- pmci-server-delete.yml | 3 +- pmci-service-create.yml | 47 +- pmci-service-delete.yml | 13 +- pmci-service-state-update.yml | 12 +- pmci-tenant-change.yml | 11 +- pmci-tenant-create.yml | 11 +- pmci-tenant-delete.yml | 11 +- pmci-tenant-sync.yml | 10 +- remove-database.yml | 109 - remove-realm.yml | 95 - remove-server.yml | 94 - remove-service.yml | 93 - restore-database-backup.yml | 90 - roles/connect_realm/defaults/main.yml | 5 +- roles/connect_wordpress/defaults/main.yml | 4 - roles/connect_wordpress/tasks/main.yml | 2 +- roles/connect_wordpress/vars/main.yml | 6 +- roles/upload_local_file/tasks/main.yml | 10 +- smardigo/package.sh | 3 - .../datasource-file/connect-features.xlsx | Bin 9268 -> 10093 bytes .../pmci/mail-template/service-created.html | 2 - smardigo/pmci/process/service-change.bpmn | 1106 ++++---- smardigo/pmci/process/service-setup.bpmn | 200 +- smardigo/pmci/script/create-data.groovy | 2 + smardigo/provisioning/app/process.json | 25 - .../datasource-file/connect-features.xlsx | Bin 9268 -> 0 bytes .../datasource/awx-job-plain.json | 23 - .../datasource/awx-job-templates-plain.json | 19 - .../datasource/awx-job-templates.json | 15 - smardigo/provisioning/datasource/awx-job.json | 18 - .../datasource/connect-features.json | 1 - smardigo/provisioning/datasource/tenants.json | 17 - .../whitelabel-docker-image-tags-plain.json | 21 - .../whitelabel-docker-image-tags.json | 16 - smardigo/provisioning/form/approve.json | 178 -- smardigo/provisioning/form/attachments.json | 87 - .../provisioning/form/current-job-left.json | 168 -- .../provisioning/form/current-job-right.json | 138 - smardigo/provisioning/form/current-jobs.json | 397 --- smardigo/provisioning/form/header.json | 509 ---- smardigo/provisioning/form/progress-bar.json | 98 - .../form/select-connect-feature-set.json | 202 -- .../form/select-connect-version.json | 218 -- .../form/simple-connect-create.json | 464 ---- .../provisioning/form/simple-connect.json | 808 ------ smardigo/provisioning/form/tenant.json | 423 --- .../provisioning/layout/simple-connect.json | 107 - .../smardigo-up-and-running.html | 64 - smardigo/provisioning/meta.info | 1 - smardigo/provisioning/policy/policy.json | 20 - .../simple-connect-fallback.json | 8 - .../process-search/simple-connect.json | 99 - .../simple-connect.json | 197 -- .../provisioning/process/investigator.dmn | 28 - .../provisioning/process/simple-connect.bpmn | 2277 ----------------- .../role-policy-mapping.json | 10 - smardigo/provisioning/roles/roles.json | 18 - .../provisioning/script/ansible-end.groovy | 1 - .../provisioning/script/ansible-start.groovy | 43 - .../script/create-awx-paramaters.groovy | 27 - .../script/create-password.groovy | 26 - .../script/create-teams-message.groovy | 45 - .../script/external-task-mock.groovy | 24 - .../script/initialize-connect-features.groovy | 10 - .../template/process/primary-process.bpmn | 9 - smardigo/wordpress_portal.sql.gz | Bin 313276 -> 73266 bytes tasks/pmci_set_default_variables.yml | 29 + templates/wordpress/config/config.ini | 5 + templates/wordpress/data/plugins/index.php | 2 - update-monitoring.yml | 95 - update-service-state.yml | 89 - upload-database-dump.yml | 49 +- 102 files changed, 954 insertions(+), 9393 deletions(-) delete mode 100644 create-database-backup.yml delete mode 100644 create-database.yml delete mode 100644 create-kibana-objects.yml delete mode 100644 create-realm.yml delete mode 100644 create-server.yml delete mode 100644 create-service.yml delete mode 100644 dump-hcloud-ips.yml delete mode 100644 export-database.yml create mode 100644 group_vars/all/wordpress.yml delete mode 100644 import-database.yml delete mode 100644 remove-database.yml delete mode 100644 remove-realm.yml delete mode 100644 remove-server.yml delete mode 100644 remove-service.yml delete mode 100644 restore-database-backup.yml delete mode 100644 roles/connect_wordpress/defaults/main.yml delete mode 100644 smardigo/provisioning/app/process.json delete mode 100644 smardigo/provisioning/datasource-file/connect-features.xlsx delete mode 100644 smardigo/provisioning/datasource/awx-job-plain.json delete mode 100644 smardigo/provisioning/datasource/awx-job-templates-plain.json delete mode 100644 smardigo/provisioning/datasource/awx-job-templates.json delete mode 100644 smardigo/provisioning/datasource/awx-job.json delete mode 100644 smardigo/provisioning/datasource/connect-features.json delete mode 100644 smardigo/provisioning/datasource/tenants.json delete mode 100644 smardigo/provisioning/datasource/whitelabel-docker-image-tags-plain.json delete mode 100644 smardigo/provisioning/datasource/whitelabel-docker-image-tags.json delete mode 100644 smardigo/provisioning/form/approve.json delete mode 100644 smardigo/provisioning/form/attachments.json delete mode 100644 smardigo/provisioning/form/current-job-left.json delete mode 100644 smardigo/provisioning/form/current-job-right.json delete mode 100644 smardigo/provisioning/form/current-jobs.json delete mode 100644 smardigo/provisioning/form/header.json delete mode 100644 smardigo/provisioning/form/progress-bar.json delete mode 100644 smardigo/provisioning/form/select-connect-feature-set.json delete mode 100644 smardigo/provisioning/form/select-connect-version.json delete mode 100644 smardigo/provisioning/form/simple-connect-create.json delete mode 100644 smardigo/provisioning/form/simple-connect.json delete mode 100644 smardigo/provisioning/form/tenant.json delete mode 100644 smardigo/provisioning/layout/simple-connect.json delete mode 100644 smardigo/provisioning/mail-template/smardigo-up-and-running.html delete mode 100644 smardigo/provisioning/meta.info delete mode 100644 smardigo/provisioning/policy/policy.json delete mode 100644 smardigo/provisioning/process-search/simple-connect-fallback.json delete mode 100644 smardigo/provisioning/process-search/simple-connect.json delete mode 100644 smardigo/provisioning/process-variable-declaration/simple-connect.json delete mode 100644 smardigo/provisioning/process/investigator.dmn delete mode 100644 smardigo/provisioning/process/simple-connect.bpmn delete mode 100644 smardigo/provisioning/role-policy-mapping/role-policy-mapping.json delete mode 100644 smardigo/provisioning/roles/roles.json delete mode 100644 smardigo/provisioning/script/ansible-end.groovy delete mode 100644 smardigo/provisioning/script/ansible-start.groovy delete mode 100644 smardigo/provisioning/script/create-awx-paramaters.groovy delete mode 100644 smardigo/provisioning/script/create-password.groovy delete mode 100644 smardigo/provisioning/script/create-teams-message.groovy delete mode 100644 smardigo/provisioning/script/external-task-mock.groovy delete mode 100644 smardigo/provisioning/script/initialize-connect-features.groovy create mode 100644 tasks/pmci_set_default_variables.yml create mode 100644 templates/wordpress/config/config.ini delete mode 100644 templates/wordpress/data/plugins/index.php delete mode 100644 update-monitoring.yml delete mode 100644 update-service-state.yml diff --git a/create-database-backup.yml b/create-database-backup.yml deleted file mode 100644 index 16ca389..0000000 --- a/create-database-backup.yml +++ /dev/null @@ -1,104 +0,0 @@ ---- - -# creates database backup -# - postgres -# - executed on stage specific server: {{ shared_service_postgres_primary }} -# - creates database backup for specific database - -# Parameters: -# playbook inventory -# stage := the name of the stage (e.g. devnso, qanso, prodnso) -# 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_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) -# smardigo_management_action := (smardigo management action anme of the management process) - -############################################################# -# Creating inventory dynamically for given parameters -############################################################# - -- hosts: localhost - connection: local - gather_facts: false - - pre_tasks: - - name: "Import constraints check" - import_tasks: tasks/constraints_check.yml - become: false - tags: - - always - -# add virtual server to load stage specific variables as context - - name: "Add <{{ stage }}-virtual-host-to-read-groups-vars> to hosts" - add_host: - name: "{{ stage }}-virtual-host-to-read-groups-vars" - groups: - - "stage_{{ stage }}" - changed_when: False - - tasks: - - name: "Add postgres servers to hosts if necessary" - add_host: - name: "{{ shared_service_postgres_primary }}" - groups: - - "stage_{{ stage }}" - - "{{ item }}" - changed_when: False - with_items: "{{ cluster_features }}" - when: item in ['connect', 'management_connect', 'keycloak', 'gitea'] - - - name: "Add maria servers to hosts if necessary" - add_host: - name: "{{ shared_service_maria_primary }}" - groups: - - "stage_{{ stage }}" - - "{{ item }}" - changed_when: False - with_items: "{{ cluster_features }}" - when: item in ['connect_wordpress'] - -############################################################# -# Creating database backups for created inventory -############################################################# - -- hosts: "stage_{{ stage }}:!{{ stage }}-virtual-host-to-read-groups-vars" - serial: "{{ serial_number | default(1) }}" - remote_user: root - vars: - database_backup_state: dump - ansible_ssh_host: "{{ stage_server_domain }}" - - roles: - - 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: connect_wordpress_maria - when: "'connect_wordpress' in group_names" - -############################################################# -# Sending smardigo management message to process -############################################################# - -- hosts: "{{ stage }}-virtual-host-to-read-groups-vars" - serial: "{{ serial_number | default(1) }}" - gather_facts: false - connection: local - run_once: true - vars: - connect_jwt_username: "{{ management_admin_username }}" - - tasks: - - name: "Sending smardigo management message to <{{ shared_service_url_management }}>" - include_tasks: tasks/smardigo_management_message.yml diff --git a/create-database.yml b/create-database.yml deleted file mode 100644 index 99559f7..0000000 --- a/create-database.yml +++ /dev/null @@ -1,114 +0,0 @@ ---- - -# creates databases on shared service servers -# - postgres -# - executed on stage specific server: {{ shared_service_postgres_primary }} -# - creates databases to work with connect: {{ connect_postgres_database }} -# - creates databases to work with management connect: {{ management_connect_postgres_database }} -# - creates databases to work with shared keycloak: {{ keycloak_postgres_database }} -# - maria -# - executed on stage specific server: {{ shared_service_maria_primary }} -# - creates databases to work with connect wordpress: {{ connect_wordpress_maria_database }} - -# Parameters: -# playbook inventory -# stage := the name of the stage (e.g. devnso, qanso, prodnso) -# 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_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) -# smardigo_management_action := (smardigo management action anme of the management process) - -############################################################# -# Creating inventory dynamically for given parameters -############################################################# - -- hosts: localhost - gather_facts: false - connection: local - - pre_tasks: - - name: "Import constraints check" - import_tasks: tasks/constraints_check.yml - become: false - tags: - - always - -# add virtual server to load stage specific variables as context - - name: "Add <{{ stage }}-virtual-host-to-read-groups-vars> to hosts" - add_host: - name: "{{ stage }}-virtual-host-to-read-groups-vars" - groups: - - "stage_{{ stage }}" - changed_when: False - - tasks: - - name: "Add postgres servers to hosts if necessary" - add_host: - name: "{{ shared_service_postgres_primary }}" - groups: - - "stage_{{ stage }}" - - "{{ item }}" - changed_when: False - with_items: "{{ cluster_features }}" - when: item in ['connect', 'management_connect', 'keycloak', 'gitea'] - - - name: "Add maria servers to hosts if necessary" - add_host: - name: "{{ shared_service_maria_primary }}" - groups: - - "stage_{{ stage }}" - - "{{ item }}" - changed_when: False - with_items: "{{ cluster_features }}" - when: item in ['connect_wordpress'] - -############################################################# -# Creating databases for created inventory -############################################################# - -- hosts: "stage_{{ stage }}:!{{ stage }}-virtual-host-to-read-groups-vars" - serial: "{{ serial_number | default(1) }}" - remote_user: root - vars: - ansible_ssh_host: "{{ stage_server_domain }}" - - pre_tasks: - - name: "Import autodiscover pre-tasks" - import_tasks: tasks/autodiscover_pre_tasks.yml - become: false - tags: - - always - - roles: - - 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: connect_wordpress_maria - when: "'connect_wordpress' in group_names" - -############################################################# -# Sending smardigo management message to process -############################################################# - -- hosts: "{{ stage }}-virtual-host-to-read-groups-vars" - serial: "{{ serial_number | default(1) }}" - gather_facts: false - connection: local - run_once: true - vars: - connect_jwt_username: "{{ management_admin_username }}" - - tasks: - - name: "Sending smardigo management message to <{{ shared_service_url_management }}>" - include_tasks: tasks/smardigo_management_message.yml diff --git a/create-kibana-objects.yml b/create-kibana-objects.yml deleted file mode 100644 index 68f9bb8..0000000 --- a/create-kibana-objects.yml +++ /dev/null @@ -1,241 +0,0 @@ ---- - -# creates elastic objetcs for smardigo instances -# to empower dudes to find relevant logmessages faster and -# reduce/abolish "monkey business" in creating needed ES-related objects for (devops|admin)-dudes -# - executed on stage specific server: {{ stage }}-elastic-stack-kibana-01-kibana - -# Parameters: -# playbook inventory -# stage := the name of the stage (e.g. devnso, qanso, prodnso) -# 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_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) -# smardigo_management_action := (smardigo management action anme of the management process) - -############################################################# -# Creating inventory dynamically for given parameters -############################################################# - -- hosts: localhost - gather_facts: false - connection: local - - pre_tasks: - - name: "Import constraints check" - import_tasks: tasks/constraints_check.yml - become: false - tags: - - always - -# add virtual server to load stage specific variables as context - - name: "Add <{{ stage }}-virtual-host-to-read-groups-vars> to hosts" - add_host: - name: "{{ stage }}-virtual-host-to-read-groups-vars" - groups: - - "stage_{{ stage }}" - changed_when: False - -############################################################# -# Creating kibana search objects for created inventory -############################################################# - -- hosts: "{{ stage }}-virtual-host-to-read-groups-vars" - serial: "{{ serial_number | default(1) }}" - gather_facts: no - remote_user: root - vars: - ansible_connection: local - ansible_ssh_host: "{{ stage_server_domain }}" - elastic_state: present - elastic_users: - - - username: '{{ stage }}-{{ tenant_id }}' - roles: - - '{{ stage }}-{{ tenant_id }}' - full_name: '' - password: '{{ password | default( stage + "-" + tenant_id ) }}' - email: '{{ email | default("") }}' - enabled: true - elastic_state: '{{ elastic_state }}' - elastic_roles: - - - elastic_state: '{{ elastic_state }}' - name: '{{ stage }}-{{ tenant_id }}' - elasticsearch: - cluster: [] - indices: - - names: - - '{{ stage }}-{{ tenant_id }}-*' - privileges: - - read - - read_cross_cluster - - view_index_metadata - allow_restricted_indices: false - run_as: [] - kibana: - - base: [] - feature: - advancedSettings: - - all - dashboard: - - all - dev_tools: - - all - discover: - - all - indexPatterns: - - all - savedObjectsManagement: - - all - visualize: - - all - spaces: - - '{{ stage }}-{{ tenant_id }}' - elastic_spaces: - - - elastic_state: '{{ elastic_state }}' - id: &es_space_name '{{ stage }}-{{ tenant_id }}' - name: '{{ stage }}-{{ tenant_id }}' - description: '' - disabledFeatures: - - canvas - - maps - - ml - - visualize - - enterpriseSearch - - logs - - infrastructure - - apm - - uptime - - observabilityCases - - siem - - monitoring - - fleet - - stackAlerts - - actions - - osquery - - savedObjectsTagging - - tasks: - - name: "Create Index Pattern for <{{ stage }}-{{ tenant_id }}-*>" - set_fact: - es_index_pattern_tenant: '{{ stage }}-{{ tenant_id }}-*' - elastic_index_patterns: - - id: "{{ stage }}-{{ tenant_id }}-*" - name: "{{ stage }}-{{ tenant_id }}" - search_name: "{{ stage }}-{{ tenant_id }}-*" - dashboard_name: "{{ stage }}-{{ tenant_id }}-*" - with_container_filter: false - when: - - cluster_name is not defined - - cluster_service is not defined - - - name: "Create Index Pattern for <{{ stage }}-{{ tenant_id }}-{{ cluster_name }}>" - set_fact: - es_index_pattern_tenant: '{{ stage }}-{{ tenant_id }}-*' - elastic_index_patterns: - - id: "{{ stage }}-{{ tenant_id }}-*" - name: "{{ stage }}-{{ tenant_id }}" - search_name: "{{ stage }}-{{ tenant_id }}-*" - dashboard_name: "{{ stage }}-{{ tenant_id }}-*" - - id: "{{ stage }}-{{ tenant_id }}-{{ cluster_name }}-*" - name: "{{ stage }}-{{ tenant_id }}-{{ cluster_name }}" - search_name: "{{ stage }}-{{ tenant_id }}-{{ cluster_name }}-*" - dashboard_name: "{{ stage }}-{{ tenant_id }}-{{ cluster_name }}-*" - when: - - cluster_name is defined - - cluster_service is not defined - - - name: "Create Index Pattern for <{{ stage }}-{{ tenant_id }}-{{ cluster_name }}-{{ cluster_service }}>" - set_fact: - es_index_pattern_tenant: '' - elastic_index_patterns: - - id: "{{ stage }}-{{ tenant_id }}-*" - name: "{{ stage }}-{{ tenant_id }}" - search_name: "{{ stage }}-{{ tenant_id }}-*" - dashboard_name: "{{ stage }}-{{ tenant_id }}-*" - - id: "{{ stage }}-{{ tenant_id }}-{{ cluster_name }}-*" - name: "{{ stage }}-{{ tenant_id }}-{{ cluster_name }}" - search_name: "{{ stage }}-{{ tenant_id }}-{{ cluster_name }}-*" - dashboard_name: "{{ stage }}-{{ tenant_id }}-{{ cluster_name }}-*" - - id: "{{ stage }}-{{ tenant_id }}-{{ cluster_name }}-*-{{ cluster_service }}-*" - name: "{{ stage }}-{{ tenant_id }}-{{ cluster_name }}-{{ cluster_service }}" - search_name: "{{ stage }}-{{ tenant_id }}-{{ cluster_name }}-{{ cluster_service }}-*" - dashboard_name: "{{ stage }}-{{ tenant_id }}-{{ cluster_name }}-{{ cluster_service }}-*" - when: - - cluster_service is defined - - cluster_name is defined - - - name: "Do some stuff in elastic with spaces ... " - include_role: - name: kibana - tasks_from: _configure_spaces.yml - apply: - tags: - - es-spaces - loop: "{{ elastic_spaces }}" - loop_control: - loop_var: elastic_space - tags: - - es-spaces - - - name: "Do some stuff in elastic with roles ..." - include_role: - name: kibana - tasks_from: _configure_roles.yml - apply: - tags: - - es-roles - loop: "{{ elastic_roles }}" - loop_control: - loop_var: elastic_role - tags: - - es-roles - - - name: "Do some stuff in elastic with users ..." - include_role: - name: kibana - tasks_from: _configure_users.yml - apply: - tags: - - es-users - loop: "{{ elastic_users }}" - loop_control: - loop_var: elastic_user - tags: - - es-users - - - name: "Do some stuff in elastic with spaces ..." - include_role: - name: kibana - tasks_from: _import_savedobjects.yml - apply: - tags: - - es-importobjects - vars: - es_space: *es_space_name - es_indexpattern_title: '{{ es_indexpattern_name }}' - es_panel_uuid: "{{ 'panel_' + elastic_dashboard_name | to_uuid }}" - tags: - - es-importobjects - -############################################################# -# Sending smardigo management message to process -############################################################# -- hosts: "{{ stage }}-virtual-host-to-read-groups-vars" - serial: "{{ serial_number | default(1) }}" - gather_facts: false - connection: local - run_once: true - vars: - connect_jwt_username: "{{ management_admin_username }}" - - tasks: - - name: "Sending smardigo management message to <{{ shared_service_url_management }}>" - include_tasks: tasks/smardigo_management_message.yml diff --git a/create-realm.yml b/create-realm.yml deleted file mode 100644 index 5aa697a..0000000 --- a/create-realm.yml +++ /dev/null @@ -1,94 +0,0 @@ ---- - -# creates realm/clients on shared keycloak service -# - connect_realm: configuration to use with connect/wordpress - -# Parameters: -# playbook inventory -# stage := the name of the stage (e.g. devnso, qanso, prodnso) -# 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_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 := -# smardigo message callback -# scope_id := (scope id of the management process) -# process_instance_id := (process instance id of the management process) -# smardigo_management_action := (smardigo management action anme of the management process) - -############################################################# -# Creating inventory dynamically for given parameters -############################################################# - -- hosts: localhost - gather_facts: false - connection: local - - pre_tasks: - - name: "Import constraints check" - import_tasks: tasks/constraints_check.yml - become: false - tags: - - always - -# add virtual server to load stage specific variables as context - - name: "Add <{{ stage }}-virtual-host-to-read-groups-vars> to hosts" - add_host: - name: "{{ stage }}-virtual-host-to-read-groups-vars" - 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_service] + cluster_features }}" - with_sequence: start=1 end={{ cluster_size | default(1) }} - changed_when: False - -############################################################# -# Creating realms for created inventory -############################################################# - -- hosts: "stage_{{ stage }}:!{{ stage }}-virtual-host-to-read-groups-vars" - serial: "{{ serial_number | default(1) }}" - gather_facts: false - connection: local - - collections: - - hetzner.hcloud - - community.general - - pre_tasks: - - name: "Import autodiscover pre-tasks" - import_tasks: tasks/autodiscover_pre_tasks.yml - become: false - tags: - - always - - roles: - - role: connect_realm - when: '"connect" in group_names' - - - role: gitea_realm - when: '"gitea" in group_names' - -############################################################# -# Sending smardigo management message to process -############################################################# - -- hosts: "{{ stage }}-virtual-host-to-read-groups-vars" - serial: "{{ serial_number | default(1) }}" - gather_facts: false - connection: local - run_once: true - vars: - connect_jwt_username: "{{ management_admin_username }}" - - tasks: - - name: "Sending smardigo management message to <{{ shared_service_url_management }}>" - include_tasks: tasks/smardigo_management_message.yml diff --git a/create-server.yml b/create-server.yml deleted file mode 100644 index 67b8da1..0000000 --- a/create-server.yml +++ /dev/null @@ -1,167 +0,0 @@ ---- - -# Parameters: -# playbook inventory -# stage := the name of the stage (e.g. devnso, qanso, prodnso) -# 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_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) -# smardigo_management_action := (smardigo management action anme of the management process) - -############################################################# -# Creating inventory dynamically for given parameters -############################################################# - -- hosts: localhost - gather_facts: false - connection: local - - pre_tasks: - - name: "Import constraints check" - import_tasks: tasks/constraints_check.yml - become: false - tags: - - always - -# add virtual server to load stage specific variables as context - - name: "Add <{{ stage }}-virtual-host-to-read-groups-vars> to hosts" - add_host: - name: "{{ stage }}-virtual-host-to-read-groups-vars" - 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_service }}" - - hcloud - with_sequence: start=1 end={{ cluster_size | default(1) }} - changed_when: False - -############################################################# -# Creating servers for created inventory -############################################################# - -- hosts: "stage_{{ stage }}:!{{ stage }}-virtual-host-to-read-groups-vars" - serial: "{{ serial_number | default(5) }}" - remote_user: root - gather_facts: false - - pre_tasks: - - name: Get all Firewalls from Hetzner - uri: - url: "https://api.hetzner.cloud/v1/firewalls" - headers: - accept: application/json - authorization: Bearer {{ hetzner_authentication_ansible }} - return_content: yes - register: hetzner_firewalls_response - delegate_to: 127.0.0.1 - tags: - - update_networks - - - name: Save firewall entries as variable (fact) - set_fact: - hetzner_firewalls_response_json: "{{ hetzner_firewalls_response.json }}" - tags: - - update_networks - - - name: Parse firewall entries - set_fact: - firewall_records: "{{ hetzner_firewalls_response_json.firewalls | json_query(jmesquery) }}" - vars: - jmesquery: '[*].{id: id, name: name}' - tags: - - update_networks - - - name: Print firewall entries - debug: - msg: "{{ firewall_records }}" - tags: - - update_networks - - roles: - - role: hetzner-ansible-hcloud - - - role: hetzner-ansible-dns - vars: - record_data: "{{ stage_server_ip }}" - record_name: "{{ inventory_hostname }}" - -############################################################# -# Provisioning servers for created inventory -############################################################# - -- hosts: "stage_{{ stage }}:!{{ stage }}-virtual-host-to-read-groups-vars" - serial: "{{ serial_number | default(1) }}" - remote_user: root - vars: - ansible_ssh_host: "{{ stage_server_domain }}" - - pre_tasks: - - name: Remove outdated dependencies - apt: - name: [ - 'docker', - 'docker-client', - 'docker-client-latest', - 'docker-common', - 'docker-latest', - 'docker-latest-logrotate', - 'docker-logrotate', - 'docker-engine', - 'smartmontools', - 'mc', - ] - state: 'absent' - when: ansible_distribution == "Ubuntu" - - - name: "Import autodiscover pre-tasks" - import_tasks: tasks/autodiscover_pre_tasks.yml - become: false - tags: - - always - - roles: - - role: ansible-role-docker - when: - - docker_enabled - - - role: hetzner-ansible-common - - - role: devsec.hardening.ssh_hardening - tags: - - ssh_hardening - - - role: hetzner-ansible-filebeat - when: filebeat_enabled | default(True) - - - role: hetzner-ansible-node-exporter - when: node_exporter_enabled | default(True) - - - role: hetzner-ansible-traefik - when: traefik_enabled | default(True) - -############################################################# -# Sending smardigo management message to process -############################################################# - -- hosts: "{{ stage }}-virtual-host-to-read-groups-vars" - serial: "{{ serial_number | default(1) }}" - gather_facts: false - connection: local - run_once: true - vars: - connect_jwt_username: "{{ management_admin_username }}" - - tasks: - - name: "Sending smardigo management message to <{{ shared_service_url_management }}>" - include_tasks: tasks/smardigo_management_message.yml diff --git a/create-service.yml b/create-service.yml deleted file mode 100644 index a91576a..0000000 --- a/create-service.yml +++ /dev/null @@ -1,86 +0,0 @@ ---- - -# Parameters: -# playbook inventory -# stage := the name of the stage (e.g. devnso, qanso, prodnso) -# 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_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) -# smardigo_management_action := (smardigo management action anme of the management process) - -############################################################# -# Creating inventory dynamically for given parameters -############################################################# - -- hosts: localhost - gather_facts: false - connection: local - - pre_tasks: - - name: "Import constraints check" - import_tasks: tasks/constraints_check.yml - become: false - tags: - - always - -# add virtual server to load stage specific variables as context - - name: "Add <{{ stage }}-virtual-host-to-read-groups-vars> to hosts" - add_host: - name: "{{ stage }}-virtual-host-to-read-groups-vars" - 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_service] + cluster_features }}" - with_sequence: start=1 end={{ cluster_size | default(1) }} - changed_when: False - -############################################################# -# Creating services for created inventory -############################################################# - -- hosts: "stage_{{ stage }}:!{{ stage }}-virtual-host-to-read-groups-vars" - serial: "{{ serial_number | default(1) }}" - remote_user: root - vars: - ansible_ssh_host: "{{ stage_server_domain }}" - connect_version: "{{ connect_image_version }}" # backwards compatibility - - pre_tasks: - - name: "Import autodiscover pre-tasks" - import_tasks: tasks/autodiscover_pre_tasks.yml - become: false - tags: - - always - - roles: - - role: connect - when: "'connect' in group_names" - - - role: connect_wordpress - when: "'connect_wordpress' in group_names" - -############################################################# -# Sending smardigo management message to process -############################################################# - -- hosts: "{{ stage }}-virtual-host-to-read-groups-vars" - serial: "{{ serial_number | default(1) }}" - gather_facts: false - connection: local - run_once: true - vars: - connect_jwt_username: "{{ management_admin_username }}" - - tasks: - - name: "Sending smardigo management message to <{{ shared_service_url_management }}>" - include_tasks: tasks/smardigo_management_message.yml diff --git a/dump-hcloud-ips.yml b/dump-hcloud-ips.yml deleted file mode 100644 index 79a9628..0000000 --- a/dump-hcloud-ips.yml +++ /dev/null @@ -1,95 +0,0 @@ - ---- - -# This playbook dumps all ip addresses from Hetzner Cloud saving it into local file. -# A prefix "route" will be added, to easily use it within custom ovpn configuration. -# -# Parameters: -# playbook inventory -# stage := the name of the stage (e.g. devnso, qanso, prodnso) -# Example: -# STAGE=ext && ansible-playbook dump-hcloud-ips.yml -e "stage=${STAGE}" --vault-password-file=~/.ansible-vault-pass-${STAGE} - -############################################################# -# Creating inventory dynamically for given parameters # -############################################################# - -- hosts: localhost - connection: local - gather_facts: false - - pre_tasks: - - name: "Import constraints check" - import_tasks: tasks/constraints_check.yml - become: false - tags: - - always - -# Add virtual server to load stage specific variables as context - - name: "Add <{{ stage }}-virtual-host-to-read-groups-vars> to hosts" - add_host: - name: "{{ stage }}-virtual-host-to-read-groups-vars" - groups: - - "stage_{{ stage }}" - changed_when: False - -############################################################# -# Dumping ip addresses from hcloud with given stage # -############################################################# - -- hosts: "{{ stage }}-virtual-host-to-read-groups-vars" - serial: "{{ serial_number | default(1) }}" - gather_facts: false - connection: local - - pre_tasks: - - name: "Reading current server groups from hetzner" - include_role: - name: hetzner-ansible-hcloud - tasks_from: _read_server_infos - with_items: [ - { - name: "all", - label_selector: "stage={{ stage }}", - } - ] - loop_control: - loop_var: current_server_group - - - name: "Reading info about current loadbalancers from hetzner" - include_role: - name: hetzner-ansible-hcloud - tasks_from: _read_load_balancer_infos - with_items: [ - { - name: "all", - #label_selector: "stage={{ stage }}", # There are no useful labels at the moment. Todo: Create labels for load balancers like stage=dev - } - ] - loop_control: - loop_var: current_load_balancer_group - - tasks: - - name: 'Save Hetzner Server ip adresses in ~/hcloud_ip_addresses.txt' - blockinfile: - marker: "## {mark} managed by ansible (hosts config for {{ stage }}) ##" - path: '~/hcloud_ip_addresses.txt' - state: present - create: yes - block: | - {% for host in server_group_infos_all %} - # {{ host.name }} - route {{ host.ip }} - {% endfor %} - - - name: 'Save Hetzner loadbalancer ip adresses in ~/hcloud_ip_addresses.txt' - blockinfile: - marker: "## {mark} managed by ansible (load balancer config for {{ stage }}) ##" - path: '~/hcloud_ip_addresses.txt' - state: present - create: yes - block: | - {% for host in load_balancer_group_infos_all %} - # {{ host.name }} - route {{ host.ip }} - {% endfor %} diff --git a/export-database.yml b/export-database.yml deleted file mode 100644 index b240108..0000000 --- a/export-database.yml +++ /dev/null @@ -1,98 +0,0 @@ ---- - -# Parameters: -# playbook inventory -# stage := the name of the stage (e.g. devnso, qanso, prodnso) -# 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_service := (service to setup, e.g. 'connect', ...) -# cluster_features := (optional features to use, e.g. ['wordpress', 'resubmission', ...]) -# database_backup_file := the dump file to export, has to be on the database server under /tmp (e.g. wordpress_portal.sql) -# target_database := (optional) the database to export into ( see {{ connect_wordpress_maria_database }}) -# smardigo message callback -# scope_id := (scope id of the management process) -# process_instance_id := (process instance id of the management process) -# smardigo_management_action := (smardigo management action anme of the management process) - -############################################################# -# Creating inventory dynamically for given parameters -############################################################# - -- hosts: localhost - connection: local - gather_facts: false - - pre_tasks: - - name: "Import constraints check" - import_tasks: tasks/constraints_check.yml - become: false - tags: - - always - -# add virtual server to load stage specific variables as context - - name: "Add <{{ stage }}-virtual-host-to-read-groups-vars> to hosts" - add_host: - name: "{{ stage }}-virtual-host-to-read-groups-vars" - groups: - - "stage_{{ stage }}" - changed_when: False - - tasks: - - name: Add maria servers to hosts if necessary - add_host: - name: "{{ shared_service_maria_primary }}" - groups: - - "stage_{{ stage }}" - - "{{ item }}" - changed_when: False - with_items: "{{ cluster_features }}" - when: item in ['connect_wordpress'] - -############################################################# -# exporting database backups for created inventory -############################################################# - -- hosts: "stage_{{ stage }}:!{{ stage }}-virtual-host-to-read-groups-vars" - serial: "{{ serial_number | default(1) }}" - remote_user: root - vars: - ansible_ssh_host: "{{ stage_server_domain }}" - - pre_tasks: - - name: "Import autodiscover pre-tasks" - import_tasks: tasks/autodiscover_pre_tasks.yml - become: false - tags: - - always - - roles: - - role: export_maria_database - vars: - database_backup_file: "{{ stage }}-{{ tenant_id }}-{{ cluster_name }}-wordpress.sql.gz" - when: - - "'connect_wordpress' in group_names" - - "target_database is defined" - - - role: export_maria_database - vars: - target_database: "{{ connect_wordpress_maria_database }}" - database_backup_file: "{{ stage }}-{{ tenant_id }}-{{ cluster_name }}-wordpress.sql.gz" - when: - - "'connect_wordpress' in group_names" - -############################################################# -# Sending smardigo management message to process -############################################################# - -- hosts: "{{ stage }}-virtual-host-to-read-groups-vars" - serial: "{{ serial_number | default(1) }}" - gather_facts: false - connection: local - run_once: true - vars: - connect_jwt_username: "{{ management_admin_username }}" - - tasks: - - name: "Sending smardigo management message to <{{ shared_service_url_management }}>" - include_tasks: tasks/smardigo_management_message.yml diff --git a/group_vars/all/connect.yml b/group_vars/all/connect.yml index 39f1aa7..606d2d3 100644 --- a/group_vars/all/connect.yml +++ b/group_vars/all/connect.yml @@ -22,10 +22,6 @@ smardigo_auth_token_name: "Smardigo-User-Token" smardigo_default_theme: "/themes/netgo.json" -connect_wordpress_buergerportal_username: "buergerportal" -# initial credentials, keycloak forces password update on first login -connect_wordpress_buergerportal_password: "Buerger?P0rtal." - # digital ocean dns service (-> dns-challenge) connect_customer_urls_digitalocean: [] # hetzner dns service (-> dns-challenge) diff --git a/group_vars/all/management.yml b/group_vars/all/management.yml index d17fa07..13b97ad 100644 --- a/group_vars/all/management.yml +++ b/group_vars/all/management.yml @@ -12,7 +12,6 @@ management_oidc_admin_email: "{{ devops_email_address }}" management_configurations: - pmci - backup - - provisioning # legacy connect_connection_teams_url: "{{ netgo_msteams_hook_cd }}" connect_connection_awx_url: "{{ shared_service_kube_url_awx }}/" diff --git a/group_vars/all/plain.yml b/group_vars/all/plain.yml index 1bf45db..459ce54 100644 --- a/group_vars/all/plain.yml +++ b/group_vars/all/plain.yml @@ -150,6 +150,7 @@ grafana_admin_email: "{{ devops_email_address }}" grafana_smardigo_email: "{{ devops_email_address }}" harbor_oidc_admin_email: "{{ devops_email_address }}" argocd_admin_email: "{{ devops_email_address }}" +wordpress_admin_email: "{{ devops_email_address }}" http_port: "80" https_port: "443" diff --git a/group_vars/all/versions.yml b/group_vars/all/versions.yml index 0893730..5215f82 100644 --- a/group_vars/all/versions.yml +++ b/group_vars/all/versions.yml @@ -26,6 +26,7 @@ traefik_version: "v2.10.3" connect_version: "10.5" iam_version: "10.5" process_search_version: "1.3" +wordpress_image_version: "6.3" ansible_minimal_version: "2.12.0" diff --git a/group_vars/all/wordpress.yml b/group_vars/all/wordpress.yml new file mode 100644 index 0000000..2692681 --- /dev/null +++ b/group_vars/all/wordpress.yml @@ -0,0 +1,2 @@ +--- +wordpress_image_name: "wordpress" diff --git a/group_vars/stage_demompmx/management.yml b/group_vars/stage_demompmx/management.yml index bf5924e..e4ff121 100644 --- a/group_vars/stage_demompmx/management.yml +++ b/group_vars/stage_demompmx/management.yml @@ -1,6 +1,2 @@ --- -management_configurations: - - pmci - - backup - connect_connection_harbor_url: "{{ shared_service_url_harbor }}/v2/prodnso/" diff --git a/import-database.yml b/import-database.yml deleted file mode 100644 index a2a83ac..0000000 --- a/import-database.yml +++ /dev/null @@ -1,109 +0,0 @@ ---- - -# Parameters: -# playbook inventory -# stage := the name of the stage (e.g. devnso, qanso, prodnso) -# 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_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 -# scope_id := (scope id of the management process) -# process_instance_id := (process instance id of the management process) -# smardigo_management_action := (smardigo management action anme of the management process) - -############################################################# -# Creating inventory dynamically for given parameters -############################################################# - -- hosts: localhost - connection: local - gather_facts: false - - pre_tasks: - - name: "Import constraints check" - import_tasks: tasks/constraints_check.yml - become: false - tags: - - always - -# add virtual server to load stage specific variables as context - - name: "Add <{{ stage }}-virtual-host-to-read-groups-vars> to hosts" - add_host: - name: "{{ stage }}-virtual-host-to-read-groups-vars" - groups: - - "stage_{{ stage }}" - changed_when: False - -############################################################# -# Importing database backups for created inventory -############################################################# - -- hosts: "{{ stage }}-virtual-host-to-read-groups-vars" - serial: "{{ serial_number | default(1) }}" - gather_facts: false - connection: local - run_once: true - - tasks: - - name: "Add maria server to hosts if necessary" - add_host: - name: "{{ shared_service_maria_primary }}" - groups: - - "stage_{{ stage }}" - - "{{ item }}" - changed_when: False - with_items: "{{ cluster_features }}" - when: item in ['connect_wordpress'] - -############################################################# -# Importing database backups for created inventory -############################################################# - -- hosts: "stage_{{ stage }}:!{{ stage }}-virtual-host-to-read-groups-vars" - serial: "{{ serial_number | default(1) }}" - remote_user: root - vars: - ansible_ssh_host: "{{ stage_server_domain }}" - - pre_tasks: - - name: "Import autodiscover pre-tasks" - import_tasks: tasks/autodiscover_pre_tasks.yml - become: false - tags: - - always - - roles: -# TODO deactivate mags flavored wordpress for now -# - role: import_maria_database -# when: -# - "'connect_wordpress' in group_names" -# - "target_database is defined" -# - "database_backup_file is defined" - -# TODO deactivate mags flavored wordpress for now -# - role: import_maria_database -# vars: -# target_database: "{{ connect_wordpress_maria_database }}" -# when: -# - "'connect_wordpress' in group_names" -# - "database_backup_file is defined" - -############################################################# -# Sending smardigo management message to process -############################################################# - -- hosts: "{{ stage }}-virtual-host-to-read-groups-vars" - serial: "{{ serial_number | default(1) }}" - gather_facts: false - connection: local - run_once: true - vars: - connect_jwt_username: "{{ management_admin_username }}" - - tasks: - - name: "Sending smardigo management message to <{{ shared_service_url_management }}>" - include_tasks: tasks/smardigo_management_message.yml diff --git a/kubespray b/kubespray index 08467ad..d498df2 160000 --- a/kubespray +++ b/kubespray @@ -1 +1 @@ -Subproject commit 08467ad6b3bdd5b15c33e3a63d476630766bd04a +Subproject commit d498df20db567d4a61402ab6243eb925b2a26032 diff --git a/pmci-callback.yml b/pmci-callback.yml index d1df2b9..ba9bab1 100644 --- a/pmci-callback.yml +++ b/pmci-callback.yml @@ -1,5 +1,4 @@ --- - # Parameters: # stage := the name of the stage (e.g. devnso, qanso, prodnso) # scope_id := scope id from management process diff --git a/pmci-database-backup-create.yml b/pmci-database-backup-create.yml index f8b2cab..986b1bd 100644 --- a/pmci-database-backup-create.yml +++ b/pmci-database-backup-create.yml @@ -1,5 +1,4 @@ --- - ############################################################# # Creating inventory dynamically for given parameters ############################################################# @@ -15,11 +14,15 @@ remote_user: root vars: database_backup_state: dump - ansible_ssh_host: "{{ stage_server_domain }}" - tenant_id: "{{ tenant.key }}" # legacy paramater, backwards compatibility - cluster_name: "{{ cluster.key }}" # legacy paramater, backwards compatibility custom_backup_name: "backup" # legacy paramater, backwards compatibility + pre_tasks: + - name: "Setting default variables pre-tasks" + import_tasks: tasks/pmci_set_default_variables.yml + become: false + tags: + - always + roles: - role: connect_postgres when: "'connect' in group_names" diff --git a/pmci-database-backup-import.yml b/pmci-database-backup-import.yml index b04ced7..cee3a76 100644 --- a/pmci-database-backup-import.yml +++ b/pmci-database-backup-import.yml @@ -1,5 +1,4 @@ --- - # Parameters: # playbook inventory # stage := the name of the stage (e.g. devnso, qanso, prodnso) @@ -43,8 +42,10 @@ add_host: name: "{{ shared_service_maria_primary }}" groups: - - "stage_{{ stage }}" - "{{ item }}" + - "stage_{{ stage }}" + - "pmci_database_selector" + - "pmci_database_selector_maria" changed_when: False with_items: "{{ cluster.features }}" when: item in ['connect_wordpress'] @@ -53,14 +54,9 @@ # Importing database backups for created inventory ############################################################# -- hosts: "stage_{{ stage }}:!{{ stage }}-virtual-host-to-read-groups-vars" +- hosts: "pmci_database_selector_maria" serial: "{{ serial_number | default(1) }}" remote_user: root - vars: - ansible_ssh_host: "{{ stage_server_domain }}" - tenant_id: "{{ tenant.key }}" # legacy paramater, backwards compatibility - cluster_name: "{{ cluster.key }}" # legacy paramater, backwards compatibility - database_backup_file: "{{ data.database.backup_file }}" # legacy paramater, backwards compatibility pre_tasks: - name: "Import autodiscover pre-tasks" @@ -69,6 +65,12 @@ tags: - always + - name: "Setting default variables pre-tasks" + import_tasks: tasks/pmci_set_default_variables.yml + become: false + tags: + - always + roles: - role: import_maria_database when: diff --git a/pmci-database-backup-restore.yml b/pmci-database-backup-restore.yml index 0fc8ec3..b5ab68a 100644 --- a/pmci-database-backup-restore.yml +++ b/pmci-database-backup-restore.yml @@ -1,5 +1,4 @@ --- - ############################################################# # Creating inventory dynamically for given parameters ############################################################# @@ -15,11 +14,15 @@ remote_user: root vars: database_backup_state: restore - ansible_ssh_host: "{{ stage_server_domain }}" - tenant_id: "{{ tenant.key }}" # legacy paramater, backwards compatibility - cluster_name: "{{ cluster.key }}" # legacy paramater, backwards compatibility custom_backup_name: "backup" # legacy paramater, backwards compatibility + pre_tasks: + - name: "Setting default variables pre-tasks" + import_tasks: tasks/pmci_set_default_variables.yml + become: false + tags: + - always + roles: - role: connect_postgres when: "'connect' in group_names" diff --git a/pmci-database-create.yml b/pmci-database-create.yml index 1b00587..85ff85f 100644 --- a/pmci-database-create.yml +++ b/pmci-database-create.yml @@ -1,5 +1,4 @@ --- - # Parameters: # playbook inventory # stage := the name of the stage (e.g. devnso, qanso, prodnso) @@ -28,10 +27,6 @@ - hosts: "pmci_database_selector" serial: "{{ serial_number | default(1) }}" remote_user: root - vars: - ansible_ssh_host: "{{ stage_server_domain }}" - tenant_id: "{{ tenant.key }}" # legacy paramater, backwards compatibility - cluster_name: "{{ cluster.key }}" # legacy paramater, backwards compatibility pre_tasks: - name: "Import autodiscover pre-tasks" @@ -40,6 +35,12 @@ tags: - always + - name: "Setting default variables pre-tasks" + import_tasks: tasks/pmci_set_default_variables.yml + become: false + tags: + - always + roles: - role: connect_postgres when: "'connect' in group_names" diff --git a/pmci-database-delete.yml b/pmci-database-delete.yml index 9026696..5e602e6 100644 --- a/pmci-database-delete.yml +++ b/pmci-database-delete.yml @@ -1,5 +1,4 @@ --- - # Parameters: # playbook inventory # stage := the name of the stage (e.g. devnso, qanso, prodnso) @@ -30,9 +29,6 @@ remote_user: root vars: database_state: absent - ansible_ssh_host: "{{ stage_server_domain }}" - tenant_id: "{{ tenant.key }}" # legacy paramater, backwards compatibility - cluster_name: "{{ cluster.key }}" # legacy paramater, backwards compatibility pre_tasks: - name: "Import autodiscover pre-tasks" @@ -41,6 +37,12 @@ tags: - always + - name: "Setting default variables pre-tasks" + import_tasks: tasks/pmci_set_default_variables.yml + become: false + tags: + - always + roles: - role: connect_postgres when: "'connect' in group_names" diff --git a/pmci-empty-playbook.yml b/pmci-empty-playbook.yml index 7589e91..1ddadbe 100644 --- a/pmci-empty-playbook.yml +++ b/pmci-empty-playbook.yml @@ -1,5 +1,4 @@ --- - # Parameters: # playbook inventory # stage := the name of the stage (e.g. devnso, qanso, prodnso) @@ -25,7 +24,7 @@ # Running the PMCI roles ############################################################# -- hosts: "stage_{{ stage }}:!{{ stage }}-virtual-host-to-read-groups-vars" +- hosts: "pmci_server_selector" serial: "{{ serial_number | default(1) }}" gather_facts: false connection: local @@ -37,6 +36,12 @@ tags: - always + - name: "Setting default variables pre-tasks" + import_tasks: tasks/pmci_set_default_variables.yml + become: false + tags: + - always + roles: ############################################################# diff --git a/pmci-inventory-cluster.yml b/pmci-inventory-cluster.yml index 2884ab4..70fadf4 100644 --- a/pmci-inventory-cluster.yml +++ b/pmci-inventory-cluster.yml @@ -1,5 +1,4 @@ --- - # Parameters: # playbook inventory # stage := the name of the stage (e.g. devnso, qanso, prodnso) @@ -28,6 +27,7 @@ become: false when: - cluster is defined + - name: "Print given variables " debug: msg: "{{ data }}" @@ -53,7 +53,7 @@ - name: "Add hosts for given cluster" add_host: name: "{{ stage }}-{{ tenant.key }}-{{ cluster.key }}-{{ '%02d' | format(item|int) }}" - groups: "{{ ['hcloud'] + ['stage_' + stage ] + [cluster.service] + (cluster.features | default([])) }}" + groups: "{{ ['hcloud'] + ['stage_' + stage ] + ['pmci_server_selector'] + [cluster.service] + (cluster.features | default([])) }}" with_sequence: start=1 end={{ cluster.size | default(1) }} changed_when: False when: diff --git a/pmci-inventory-database.yml b/pmci-inventory-database.yml index 19f4cd5..e3a1e6a 100644 --- a/pmci-inventory-database.yml +++ b/pmci-inventory-database.yml @@ -1,5 +1,4 @@ --- - # Parameters: # playbook inventory # stage := the name of the stage (e.g. devnso, qanso, prodnso) @@ -62,6 +61,7 @@ - "{{ item }}" - "stage_{{ stage }}" - "pmci_database_selector" + - "pmci_database_selector_postgres" changed_when: False with_items: "{{ ['hcloud'] + ['stage_' + stage ] + [cluster.service] + (cluster.features | default([])) }}" when: item in ['connect', 'management_connect', 'keycloak', 'gitea'] @@ -73,6 +73,7 @@ - "{{ item }}" - "stage_{{ stage }}" - "pmci_database_selector" + - "pmci_database_selector_maria" changed_when: False with_items: "{{ ['hcloud'] + ['stage_' + stage ] + [cluster.service] + (cluster.features | default([])) }}" when: item in ['connect_wordpress'] diff --git a/pmci-kibana-create-objects.yml b/pmci-kibana-create-objects.yml index 1da5230..2180e41 100644 --- a/pmci-kibana-create-objects.yml +++ b/pmci-kibana-create-objects.yml @@ -1,5 +1,4 @@ --- - # Parameters: # playbook inventory # stage := the name of the stage (e.g. devnso, qanso, prodnso) @@ -25,7 +24,7 @@ # Running the PMCI roles ############################################################# -- hosts: "stage_{{ stage }}:!{{ stage }}-virtual-host-to-read-groups-vars" +- hosts: "pmci_server_selector" serial: "{{ serial_number | default(1) }}" gather_facts: no remote_user: root diff --git a/pmci-monitoring-update.yml b/pmci-monitoring-update.yml index d1c68e1..2ed9029 100644 --- a/pmci-monitoring-update.yml +++ b/pmci-monitoring-update.yml @@ -1,5 +1,4 @@ --- - # Parameters: # playbook inventory # stage := the name of the stage (e.g. devnso, qanso, prodnso) @@ -62,6 +61,7 @@ - include_role: name: prometheus tasks_from: _update_config + - include_role: name: prometheus tasks_from: _reload_config diff --git a/pmci-realm-client-create.yml b/pmci-realm-client-create.yml index dcb4bd8..7c3a113 100644 --- a/pmci-realm-client-create.yml +++ b/pmci-realm-client-create.yml @@ -1,20 +1,4 @@ --- - -# Parameters: -# playbook inventory -# stage := the name of the stage (e.g. devnso, qanso, prodnso) -# tenant := object with tenant related data -# key := -# name := -# cluster := object with cluster specific data (optional) -# ... -# data := object with action specific data (optional) -# ... -# smardigo message callback -# scope_id := (scope id of the management process) -# process_instance_id := (process instance id of the management process) -# smardigo_management_action := (smardigo management action anme of the management process) - ############################################################# # Creating inventory dynamically for given parameters ############################################################# @@ -25,19 +9,10 @@ # Creating realms for created inventory ############################################################# -- hosts: "stage_{{ stage }}:!{{ stage }}-virtual-host-to-read-groups-vars" +- hosts: "pmci_server_selector" serial: "{{ serial_number | default(1) }}" gather_facts: false connection: local - vars: - ansible_ssh_host: "{{ stage_server_domain }}" - tenant_id: "{{ tenant.key }}" # legacy paramater, backwards compatibility - cluster_name: "{{ cluster.key }}" # legacy paramater, backwards compatibility - current_realm_name: "{{ tenant.key }}" # legacy paramater, backwards compatibility - connect_client_admin_username: "{{ data.connect.admin.username }}" # legacy paramater, backwards compatibility - connect_client_admin_password: "{{ data.connect.admin.password }}" # legacy paramater, backwards compatibility - connect_wordpress_buergerportal_username: "{{ data.wordpress.admin.username | default() }}" # legacy paramater, backwards compatibility - connect_wordpress_buergerportal_password: "{{ data.wordpress.admin.password | default() }}" # legacy paramater, backwards compatibility pre_tasks: - name: "Import autodiscover pre-tasks" @@ -46,13 +21,28 @@ tags: - always + - name: "Setting default variables pre-tasks" + import_tasks: tasks/pmci_set_default_variables.yml + become: false + tags: + - always + + - name: "Setting pmci connect variables" + ansible.builtin.set_fact: + connect_client_admin_password: "{{ data.connect.admin.password }}" # legacy paramater, backwards compatibility + when: + - data.connect is defined + + - name: "Setting pmci wordpress variables" + ansible.builtin.set_fact: + connect_wordpress_admin_password: "{{ data.wordpress.admin.password }}" # legacy paramater, backwards compatibility + when: + - data.wordpress is defined + roles: - role: connect_realm when: '"connect" in group_names' - - role: gitea_realm - when: '"gitea" in group_names' - ############################################################# # Sending smardigo management message to process ############################################################# diff --git a/pmci-realm-client-delete.yml b/pmci-realm-client-delete.yml index 0117551..eeae695 100644 --- a/pmci-realm-client-delete.yml +++ b/pmci-realm-client-delete.yml @@ -1,5 +1,4 @@ --- - # Parameters: # playbook inventory # stage := the name of the stage (e.g. devnso, qanso, prodnso) @@ -25,13 +24,9 @@ # Deleting client for created inventory ############################################################# -- hosts: "stage_{{ stage }}:!{{ stage }}-virtual-host-to-read-groups-vars" +- hosts: "pmci_server_selector" serial: "{{ serial_number | default(1) }}" gather_facts: false - vars: - ansible_ssh_host: "{{ stage_server_domain }}" - cluster_name: "{{ cluster.key }}" # legacy paramater, backwards compatibility - current_realm_name: "{{ tenant.key }}" # legacy paramater, backwards compatibility pre_tasks: - name: "Import autodiscover pre-tasks" @@ -40,6 +35,12 @@ tags: - always + - name: "Setting default variables pre-tasks" + import_tasks: tasks/pmci_set_default_variables.yml + become: false + tags: + - always + tasks: - name: "Delete client in realm <{{ current_realm_name }}>" include_role: diff --git a/pmci-server-create.yml b/pmci-server-create.yml index 91eee22..febba0c 100644 --- a/pmci-server-create.yml +++ b/pmci-server-create.yml @@ -1,5 +1,4 @@ --- - # Parameters: # playbook inventory # stage := the name of the stage (e.g. devnso, qanso, prodnso) @@ -25,7 +24,7 @@ # Creating servers for created inventory ############################################################# -- hosts: "stage_{{ stage }}:!{{ stage }}-virtual-host-to-read-groups-vars" +- hosts: "pmci_server_selector" serial: "{{ serial_number | default(5) }}" gather_facts: false remote_user: root @@ -75,11 +74,9 @@ # Provisioning servers for created inventory ############################################################# -- hosts: "stage_{{ stage }}:!{{ stage }}-virtual-host-to-read-groups-vars" +- hosts: "pmci_server_selector" serial: "{{ serial_number | default(1) }}" remote_user: root - vars: - ansible_ssh_host: "{{ stage_server_domain }}" pre_tasks: - name: Remove outdated dependencies @@ -105,6 +102,12 @@ tags: - always + - name: "Setting default variables pre-tasks" + import_tasks: tasks/pmci_set_default_variables.yml + become: false + tags: + - always + roles: - role: ansible-role-docker when: diff --git a/pmci-server-delete.yml b/pmci-server-delete.yml index 76fb98b..90d7ff0 100644 --- a/pmci-server-delete.yml +++ b/pmci-server-delete.yml @@ -1,5 +1,4 @@ --- - # Parameters: # playbook inventory # stage := the name of the stage (e.g. devnso, qanso, prodnso) @@ -25,7 +24,7 @@ # Deleting servers/domains for created inventory ############################################################# -- hosts: "stage_{{ stage }}" +- hosts: "pmci_server_selector" serial: "{{ serial_number | default(5) }}" gather_facts: false diff --git a/pmci-service-create.yml b/pmci-service-create.yml index 14d296e..806ffb7 100644 --- a/pmci-service-create.yml +++ b/pmci-service-create.yml @@ -1,5 +1,4 @@ --- - # Parameters: # playbook inventory # stage := the name of the stage (e.g. devnso, qanso, prodnso) @@ -20,24 +19,15 @@ ############################################################# - import_playbook: pmci-inventory-cluster.yml +- import_playbook: pmci-inventory-database.yml ############################################################# # Creating services for created inventory ############################################################# -- hosts: "stage_{{ stage }}:!{{ stage }}-virtual-host-to-read-groups-vars" +- hosts: "pmci_server_selector" serial: "{{ serial_number | default(1) }}" remote_user: root - vars: - ansible_ssh_host: "{{ stage_server_domain }}" - tenant_id: "{{ tenant.key }}" # legacy paramater, backwards compatibility - cluster_name: "{{ cluster.key }}" # legacy paramater, backwards compatibility - current_realm_name: "{{ tenant.key }}" # legacy paramater, backwards compatibility - connect_version: "{{ data.connect.version }}" # legacy paramater, backwards compatibility - connect_client_admin_username: "{{ data.connect.admin.username }}" # legacy paramater, backwards compatibility - connect_client_admin_password: "{{ data.connect.admin.password }}" # legacy paramater, backwards compatibility - connect_wordpress_buergerportal_username: "{{ data.wordpress.admin.username }}" # legacy paramater, backwards compatibility - connect_wordpress_buergerportal_password: "{{ data.wordpress.admin.password }}" # legacy paramater, backwards compatibility pre_tasks: - name: "Import autodiscover pre-tasks" @@ -46,6 +36,12 @@ tags: - always + - name: "Setting default variables pre-tasks" + import_tasks: tasks/pmci_set_default_variables.yml + become: false + tags: + - always + roles: - role: connect when: "'connect' in group_names" @@ -53,6 +49,33 @@ - role: connect_wordpress when: "'connect_wordpress' in group_names" +############################################################# +# Updating databases for created inventory +############################################################# + +- hosts: "pmci_database_selector_maria" + serial: "{{ serial_number | default(1) }}" + + pre_tasks: + - name: "Import autodiscover pre-tasks" + import_tasks: tasks/pmci_set_default_variables.yml + become: false + tags: + - always + + tasks: + - name: "Initialize wordpress admin user if necessary" + community.mysql.mysql_query: + login_db: "{{ connect_wordpress_maria_database }}" + login_user: "{{ connect_wordpress_maria_username }}" + login_password: "{{ connect_wordpress_maria_password }}" + login_unix_socket: /run/mysqld/mysqld.sock + query: + - UPDATE wp_options SET option_value = '{{ wordpress_admin_email }}' where option_name='admin_email' AND option_value='mAgmVXveeeMRgKP@netgo.de' + - UPDATE wp_users SET user_email = '{{ wordpress_admin_email }}' where user_login='wordpress-admin' AND user_email='mAgmVXveeeMRgKP@netgo.de' + - UPDATE wp_users SET user_pass = '{{ connect_wordpress_admin_password | md5 }}' where user_login='wordpress-admin' AND user_pass='$P$B1.mAgmVXveeeMRgKP.OYl5k/jJOjY.' + single_transaction: true + ############################################################# # Sending smardigo management message to process ############################################################# diff --git a/pmci-service-delete.yml b/pmci-service-delete.yml index 74ff3b1..bf5858c 100644 --- a/pmci-service-delete.yml +++ b/pmci-service-delete.yml @@ -1,5 +1,4 @@ --- - # Parameters: # playbook inventory # stage := the name of the stage (e.g. devnso, qanso, prodnso) @@ -25,13 +24,9 @@ # Removing services for created inventory ############################################################# -- hosts: "stage_{{ stage }}" +- hosts: "pmci_server_selector" serial: "{{ serial_number | default(1) }}" gather_facts: false - vars: - ansible_ssh_host: "{{ stage_server_domain }}" - tenant_id: "{{ tenant.key }}" # legacy paramater, backwards compatibility - cluster_name: "{{ cluster.key }}" # legacy paramater, backwards compatibility pre_tasks: - name: "Import autodiscover pre-tasks" @@ -40,6 +35,12 @@ tags: - always + - name: "Setting default variables pre-tasks" + import_tasks: tasks/pmci_set_default_variables.yml + become: false + tags: + - always + tasks: - name: "Delete DNS entry <{{ inventory_hostname }}> for <{{ domain }}>" include_role: diff --git a/pmci-service-state-update.yml b/pmci-service-state-update.yml index dcd5ad6..5d020ce 100644 --- a/pmci-service-state-update.yml +++ b/pmci-service-state-update.yml @@ -1,5 +1,4 @@ --- - ############################################################# # Creating inventory dynamically for given parameters ############################################################# @@ -10,13 +9,10 @@ # Stopping services for created inventory ############################################################# -- hosts: "stage_{{ stage }}:!{{ stage }}-virtual-host-to-read-groups-vars" +- hosts: "pmci_server_selector" serial: "{{ serial_number | default(1) }}" remote_user: root vars: - ansible_ssh_host: "{{ stage_server_domain }}" - tenant_id: "{{ tenant.key }}" # legacy paramater, backwards compatibility - cluster_name: "{{ cluster.key }}" # legacy paramater, backwards compatibility service_state: "{{ data.service_state | default('up') }}" # legacy paramater, backwards compatibility pre_tasks: @@ -26,6 +22,12 @@ tags: - always + - name: "Setting default variables pre-tasks" + import_tasks: tasks/pmci_set_default_variables.yml + become: false + tags: + - always + roles: - role: service_state vars: diff --git a/pmci-tenant-change.yml b/pmci-tenant-change.yml index 47cbf7a..1411cba 100644 --- a/pmci-tenant-change.yml +++ b/pmci-tenant-change.yml @@ -1,5 +1,4 @@ --- - # Tenant maintenance # (keycloak realm) # (kibana space, user, role) @@ -39,12 +38,10 @@ # Running the PMCI roles ############################################################# -- hosts: "stage_{{ stage }}:!{{ stage }}-virtual-host-to-read-groups-vars" +- hosts: "pmci_server_selector" serial: "{{ serial_number | default(1) }}" gather_facts: false connection: local - vars: - management_base_url: "{{ stage }}-management-01-connect.{{ domain }}" pre_tasks: - name: "Import autodiscover pre-tasks" @@ -53,6 +50,12 @@ tags: - always + - name: "Setting default variables pre-tasks" + import_tasks: tasks/pmci_set_default_variables.yml + become: false + tags: + - always + tasks: - name: "Edit keycloak realm <{{ tenant.key }}>" include_role: diff --git a/pmci-tenant-create.yml b/pmci-tenant-create.yml index 7786b1f..ec714fb 100644 --- a/pmci-tenant-create.yml +++ b/pmci-tenant-create.yml @@ -1,5 +1,4 @@ --- - # Tenant creation # (keycloak realm) # (kibana space, user, role) @@ -39,12 +38,10 @@ # Running the PMCI roles ############################################################# -- hosts: "stage_{{ stage }}:!{{ stage }}-virtual-host-to-read-groups-vars" +- hosts: "pmci_server_selector" serial: "{{ serial_number | default(1) }}" gather_facts: false connection: local - vars: - management_base_url: "{{ stage }}-management-01-connect.{{ domain }}" pre_tasks: - name: "Import autodiscover pre-tasks" @@ -53,6 +50,12 @@ tags: - always + - name: "Setting default variables pre-tasks" + import_tasks: tasks/pmci_set_default_variables.yml + become: false + tags: + - always + tasks: - name: "Creating keycloak realm <{{ tenant.key }}>" include_role: diff --git a/pmci-tenant-delete.yml b/pmci-tenant-delete.yml index 2c68132..4159689 100644 --- a/pmci-tenant-delete.yml +++ b/pmci-tenant-delete.yml @@ -1,5 +1,4 @@ --- - # Tenant deletion # (keycloak realm) # (kibana space, user, role) @@ -39,12 +38,10 @@ # Running the PMCI roles ############################################################# -- hosts: "stage_{{ stage }}:!{{ stage }}-virtual-host-to-read-groups-vars" +- hosts: "pmci_server_selector" serial: "{{ serial_number | default(1) }}" gather_facts: false connection: local - vars: - management_base_url: "{{ stage }}-management-01-connect.{{ domain }}" pre_tasks: - name: "Import autodiscover pre-tasks" @@ -53,6 +50,12 @@ tags: - always + - name: "Setting default variables pre-tasks" + import_tasks: tasks/pmci_set_default_variables.yml + become: false + tags: + - always + tasks: - name: "Delete keycloak realm <{{ tenant.key }}>" include_role: diff --git a/pmci-tenant-sync.yml b/pmci-tenant-sync.yml index 946332e..3ce27af 100644 --- a/pmci-tenant-sync.yml +++ b/pmci-tenant-sync.yml @@ -1,5 +1,4 @@ --- - # Tenant maintenance # (keycloak realm) # (kibana space, user, role) @@ -39,12 +38,11 @@ # Running the PMCI roles ############################################################# -- hosts: "stage_{{ stage }}:!{{ stage }}-virtual-host-to-read-groups-vars" +- hosts: "pmci_server_selector" serial: "{{ serial_number | default(1) }}" gather_facts: false connection: local vars: - management_base_url: "{{ stage }}-management-01-connect.{{ domain }}" sma_management_scope_id: "pmci" sma_management_role_id: "user" @@ -55,6 +53,12 @@ tags: - always + - name: "Setting default variables pre-tasks" + import_tasks: tasks/pmci_set_default_variables.yml + become: false + tags: + - always + tasks: - name: "Updating assigned tenant ids for each user <{{ tenant.key }}>" include_role: diff --git a/remove-database.yml b/remove-database.yml deleted file mode 100644 index 824c76c..0000000 --- a/remove-database.yml +++ /dev/null @@ -1,109 +0,0 @@ ---- - -# deletes databases and roles on shared service servers -# - postgres -# - executed on stage specific server: {{ shared_service_postgres_primary }} - -# Parameters: -# playbook inventory -# stage := the name of the stage (e.g. devnso, qanso, prodnso) -# 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_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) -# smardigo_management_action := (smardigo management action anme of the management process) - -############################################################# -# Creating inventory dynamically for given parameters -############################################################# - -- hosts: localhost - connection: local - gather_facts: false - - pre_tasks: - - name: "Import constraints check" - import_tasks: tasks/constraints_check.yml - become: false - tags: - - always - -# add virtual server to load stage specific variables as context - - name: "Add <{{ stage }}-virtual-host-to-read-groups-vars> to hosts" - add_host: - name: "{{ stage }}-virtual-host-to-read-groups-vars" - groups: - - "stage_{{ stage }}" - changed_when: False - - tasks: - - name: Add postgres servers to hosts if necessary - add_host: - name: "{{ shared_service_postgres_primary }}" - groups: - - "stage_{{ stage }}" - - "{{ item }}" - changed_when: False - with_items: "{{ cluster_features }}" - when: item in ['connect', 'management_connect', 'keycloak', 'gitea'] - - - name: Add maria servers to hosts if necessary - add_host: - name: "{{ shared_service_maria_primary }}" - groups: - - "stage_{{ stage }}" - - "{{ item }}" - changed_when: False - with_items: "{{ cluster_features }}" - when: item in ['connect_wordpress'] - -############################################################# -# Deleting databases for created inventory -############################################################# - -- hosts: "stage_{{ stage }}:!{{ stage }}-virtual-host-to-read-groups-vars" - 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" - import_tasks: tasks/autodiscover_pre_tasks.yml - become: false - tags: - - always - - roles: - - 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: connect_wordpress_maria - when: "'connect_wordpress' in group_names" - -############################################################# -# Sending smardigo management message to process -############################################################# - -- hosts: "{{ stage }}-virtual-host-to-read-groups-vars" - serial: "{{ serial_number | default(1) }}" - gather_facts: false - connection: local - run_once: true - vars: - connect_jwt_username: "{{ management_admin_username }}" - - tasks: - - name: "Sending smardigo management message to <{{ shared_service_url_management }}>" - include_tasks: tasks/smardigo_management_message.yml diff --git a/remove-realm.yml b/remove-realm.yml deleted file mode 100644 index 72d3d56..0000000 --- a/remove-realm.yml +++ /dev/null @@ -1,95 +0,0 @@ ---- - -# creates realm/clients on shared keycloak service -# - connect_realm: configuration to use with connect/wordpress - -# Parameters: -# playbook inventory -# stage := the name of the stage (e.g. devnso, qanso, prodnso) -# 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_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 := -# smardigo message callback -# scope_id := (scope id of the management process) -# process_instance_id := (process instance id of the management process) -# smardigo_management_action := (smardigo management action anme of the management process) - -############################################################# -# Creating inventory dynamically for given parameters -############################################################# - -- hosts: localhost - gather_facts: false - connection: local - - pre_tasks: - - name: "Import constraints check" - import_tasks: tasks/constraints_check.yml - become: false - tags: - - always - -# add virtual server to load stage specific variables as context - - name: "Add <{{ stage }}-virtual-host-to-read-groups-vars> to hosts" - add_host: - name: "{{ stage }}-virtual-host-to-read-groups-vars" - 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_service] + cluster_features }}" - with_sequence: start=1 end={{ cluster_size | default(1) }} - changed_when: False - -############################################################# -# Deleting client for created inventory -############################################################# - -- hosts: "stage_{{ stage }}:!{{ stage }}-virtual-host-to-read-groups-vars" - serial: "{{ serial_number | default(1) }}" - gather_facts: false - - collections: - - hetzner.hcloud - - community.general - - pre_tasks: - - name: "Import autodiscover pre-tasks" - import_tasks: tasks/autodiscover_pre_tasks.yml - become: false - tags: - - always - - tasks: - - name: "Delete client in realm <{{ current_realm_name }}>" - include_role: - name: keycloak - tasks_from: _delete_client - vars: - realm_name: "{{ current_realm_name }}" - client_name: "{{ cluster_name }}" - -############################################################# -# Sending smardigo management message to process -############################################################# - -- hosts: "{{ stage }}-virtual-host-to-read-groups-vars" - serial: "{{ serial_number | default(1) }}" - gather_facts: false - connection: local - run_once: true - vars: - connect_jwt_username: "{{ management_admin_username }}" - - tasks: - - name: "Sending smardigo management message to <{{ shared_service_url_management }}>" - include_tasks: tasks/smardigo_management_message.yml diff --git a/remove-server.yml b/remove-server.yml deleted file mode 100644 index bb8c197..0000000 --- a/remove-server.yml +++ /dev/null @@ -1,94 +0,0 @@ ---- - -# Parameters: -# playbook inventory -# stage := the name of the stage (e.g. devnso, qanso, prodnso) -# 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_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) -# smardigo_management_action := (smardigo management action anme of the management process) - -# Es wurde ein neues Playbook erstellt "remove_server", die für das löschen eines Servers zuständig ist. -# Es wurde eine Variable server_state initialisiert mir dem Defaultwert "present". -# Falls der Server gelöscht werden soll wird die variable in Playbook auf "absent" gesetzt -# Der Task "_set_server_state" prüft den Status und fährt den Server runter oder hoch anhand dem Wert der variable "server_state" - -############################################################# -# Creating inventory dynamically for given parameters -############################################################# - -- hosts: localhost - gather_facts: false - connection: local - - pre_tasks: - - name: "Import constraints check" - import_tasks: tasks/constraints_check.yml - become: false - tags: - - always - -# add virtual server to load stage specific variables as context - - name: "Add <{{ stage }}-virtual-host-to-read-groups-vars> to hosts" - add_host: - name: "{{ stage }}-virtual-host-to-read-groups-vars" - 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_service }}" - with_sequence: start=1 end={{ cluster_size | default(1) }} - changed_when: False - when: - - tenant_id is defined - - cluster_name is defined - - cluster_service is defined - -############################################################# -# Deleting servers/domains for created inventory -############################################################# - -- hosts: "stage_{{ stage }}" - serial: "{{ serial_number | default(5) }}" - gather_facts: false - - tasks: - - name: "Delete server <{{ inventory_hostname }}>" - include_role: - name: hetzner-ansible-hcloud - tasks_from: _set_server_state - vars: - - server_state: "absent" - - - name: "Delete DNS entry <{{ inventory_hostname }}> for <{{ domain }}>" - include_role: - name: hetzner-ansible-dns - tasks_from: _remove_dns - vars: - record_to_remove: '{{ inventory_hostname }}' - -############################################################# -# Sending smardigo management message to process -############################################################# - -- hosts: "{{ stage }}-virtual-host-to-read-groups-vars" - serial: "{{ serial_number | default(1) }}" - gather_facts: false - connection: local - run_once: true - vars: - connect_jwt_username: "{{ management_admin_username }}" - - tasks: - - name: "Sending smardigo management message to <{{ shared_service_url_management }}>" - include_tasks: tasks/smardigo_management_message.yml diff --git a/remove-service.yml b/remove-service.yml deleted file mode 100644 index caefd5a..0000000 --- a/remove-service.yml +++ /dev/null @@ -1,93 +0,0 @@ ---- - -# Parameters: -# playbook inventory -# stage := the name of the stage (e.g. devnso, qanso, prodnso) -# 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_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) -# smardigo_management_action := (smardigo management action anme of the management process) - -############################################################# -# Creating inventory dynamically for given parameters -############################################################# - -- hosts: localhost - gather_facts: false - connection: local - - pre_tasks: - - name: "Import constraints check" - import_tasks: tasks/constraints_check.yml - become: false - tags: - - always - -# add virtual server to load stage specific variables as context - - name: "Add <{{ stage }}-virtual-host-to-read-groups-vars> to hosts" - add_host: - name: "{{ stage }}-virtual-host-to-read-groups-vars" - 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_service] + cluster_features }}" - with_sequence: start=1 end={{ cluster_size | default(1) }} - changed_when: False - -############################################################# -# Removing services for created inventory -############################################################# - -- hosts: "stage_{{ stage }}" - serial: "{{ serial_number | default(1) }}" - gather_facts: false - - pre_tasks: - - name: "Import autodiscover pre-tasks" - import_tasks: tasks/autodiscover_pre_tasks.yml - become: false - tags: - - always - - tasks: - - name: "Delete DNS entry <{{ inventory_hostname }}> for <{{ domain }}>" - include_role: - name: hetzner-ansible-dns - tasks_from: _remove_dns - vars: - record_to_remove: '{{ stage }}-{{ tenant_id }}-{{ cluster_name }}-01-connect' - when: "'connect' in group_names" - - - name: "Delete DNS entry <{{ inventory_hostname }}> for <{{ domain }}>" - include_role: - name: hetzner-ansible-dns - tasks_from: _remove_dns - vars: - record_to_remove: '{{ stage }}-{{ tenant_id }}-{{ cluster_name }}-01-wordpress' - when: "'connect_wordpress' in group_names" - -############################################################# -# Sending smardigo management message to process -############################################################# - -- hosts: "{{ stage }}-virtual-host-to-read-groups-vars" - serial: "{{ serial_number | default(1) }}" - gather_facts: false - connection: local - run_once: true - vars: - connect_jwt_username: "{{ management_admin_username }}" - - tasks: - - name: "Sending smardigo management message to <{{ shared_service_url_management }}>" - include_tasks: tasks/smardigo_management_message.yml diff --git a/restore-database-backup.yml b/restore-database-backup.yml deleted file mode 100644 index d9ecd52..0000000 --- a/restore-database-backup.yml +++ /dev/null @@ -1,90 +0,0 @@ ---- - -# restores a database backup -# - postgres -# - executed on stage specific server: {{ shared_service_postgres_primary }} -# - restores a database backup - -# Parameters: -# playbook inventory -# stage := the name of the stage (e.g. devnso, qanso, prodnso) -# tenant_id := (unique key for the tenant, e.g. customer) -# cluster_name := (business name for the cluster, e.g. product, department ) -# 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) -# smardigo_management_action := (smardigo management action anme of the management process) - -############################################################# -# Creating inventory dynamically for given parameters -############################################################# - -- hosts: localhost - connection: local - gather_facts: false - - pre_tasks: - - name: "Import constraints check" - import_tasks: tasks/constraints_check.yml - become: false - tags: - - always - -# add virtual server to load stage specific variables as context - - name: "Add <{{ stage }}-virtual-host-to-read-groups-vars> to hosts" - add_host: - name: "{{ stage }}-virtual-host-to-read-groups-vars" - groups: - - "stage_{{ stage }}" - changed_when: False - - tasks: - - name: "Add postgres servers to hosts if necessary" - add_host: - name: "{{ shared_service_postgres_primary }}" - groups: - - "stage_{{ stage }}" - - "{{ item }}" - changed_when: False - with_items: "{{ cluster_features }}" - when: item in ['connect', 'management_connect', 'keycloak', 'gitea'] - -############################################################# -# Restoring databases for created inventory -############################################################# - -- hosts: "stage_{{ stage }}:!{{ stage }}-virtual-host-to-read-groups-vars" - serial: "{{ serial_number | default(1) }}" - remote_user: root - vars: - database_backup_state: restore - ansible_ssh_host: "{{ stage_server_domain }}" - - roles: - - role: connect_postgres - when: "'connect' in group_names" - - - role: gitea_postgres - when: "'gitea' in group_names" - - - role: keycloak_postgres - when: "'keycloak' in group_names" - -############################################################# -# Sending smardigo management message to process -############################################################# - -- hosts: "{{ stage }}-virtual-host-to-read-groups-vars" - serial: "{{ serial_number | default(1) }}" - gather_facts: false - connection: local - run_once: true - vars: - connect_jwt_username: "{{ management_admin_username }}" - - tasks: - - name: "Sending smardigo management message to <{{ shared_service_url_management }}>" - include_tasks: tasks/smardigo_management_message.yml diff --git a/roles/connect_realm/defaults/main.yml b/roles/connect_realm/defaults/main.yml index 84ed8a8..d27ed55 100644 --- a/roles/connect_realm/defaults/main.yml +++ b/roles/connect_realm/defaults/main.yml @@ -26,9 +26,8 @@ current_realm_users_base: - username: "{{ connect_client_admin_username }}" password: "{{ connect_client_admin_password }}" -current_realm_users_wordpress: - - username: "{{ connect_wordpress_buergerportal_username | default() }}" - password: "{{ connect_wordpress_buergerportal_password | default() }}" +# TODO wordpress does not use keycloak/oidc yet +current_realm_users_wordpress: [] current_realm_users: >- {%- if 'connect_wordpress' in groups -%} diff --git a/roles/connect_wordpress/defaults/main.yml b/roles/connect_wordpress/defaults/main.yml deleted file mode 100644 index 1535c9a..0000000 --- a/roles/connect_wordpress/defaults/main.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- - -wordpress_image_name: "{{ shared_service_hostname_harbor }}/smardigo/wordpress" -wordpress_image_version: "6.1.0.1" diff --git a/roles/connect_wordpress/tasks/main.yml b/roles/connect_wordpress/tasks/main.yml index 257d976..5a8ed37 100644 --- a/roles/connect_wordpress/tasks/main.yml +++ b/roles/connect_wordpress/tasks/main.yml @@ -6,7 +6,7 @@ - name: "Creating smardigo user token" smardigo_user_token: secret: "{{ connect_jwt_secret }}" - user_id: "{{ connect_wordpress_buergerportal_username }}" + user_id: "{{ wordpress_connect_username }}" register: smardigo_user_token_result delegate_to: 127.0.0.1 become: false diff --git a/roles/connect_wordpress/vars/main.yml b/roles/connect_wordpress/vars/main.yml index 96f16e2..592d787 100644 --- a/roles/connect_wordpress/vars/main.yml +++ b/roles/connect_wordpress/vars/main.yml @@ -1,4 +1,5 @@ --- +wordpress_db_host: "{{ shared_service_maria_primary }}:{{ wordpress_mysql_port | default('3306') }}" wordpress_labels: - '"traefik.enable=true"' @@ -32,7 +33,7 @@ wordpress_docker: image_version: "{{ wordpress_image_version }}" labels: "{{ wordpress_labels + ( wordpress_labels_additional | default([])) }}" environment: - - "WORDPRESS_DB_HOST: \"{{ shared_service_maria_primary }}:{{ wordpress_mysql_port | default('3306') }}\"" + - "WORDPRESS_DB_HOST: \"{{ wordpress_db_host }}\"" - "WORDPRESS_DB_USER: \"{{ connect_wordpress_maria_username }}\"" - "WORDPRESS_DB_PASSWORD: \"{{ connect_wordpress_maria_password }}\"" - "WORDPRESS_DB_NAME: \"{{ connect_wordpress_maria_database }}\"" @@ -46,7 +47,8 @@ wordpress_docker: - "SMARDIGO_AUTH_TOKEN_NAME: \"{{ smardigo_auth_token_name }}\"" - "SMARDIGO_AUTH_TOKEN_VALUE: \"{{ smardigo_auth_token_value }}\"" volumes: - - '"{{ wordpress_id }}-content:/var/www/html/wp-content"' + - '"{{ wordpress_id }}-content:/var/www/html"' + - './config/config.ini:/usr/local/etc/php/conf.d/config.ini' networks: - '"back-tier"' - '"front-tier"' diff --git a/roles/upload_local_file/tasks/main.yml b/roles/upload_local_file/tasks/main.yml index f3c0235..18724ee 100644 --- a/roles/upload_local_file/tasks/main.yml +++ b/roles/upload_local_file/tasks/main.yml @@ -1,15 +1,17 @@ ---- - ### tags: - name: 'Ensures <{{ upload_directory }}> directory exists' - file: + ansible.builtin.file: state: directory path: '{{ upload_directory }}' + owner: '{{ upload_owner }}' + group: '{{ upload_group }}' mode: 0755 - name: "Copy file to remote <{{ upload_directory }}/{{ upload_file | basename }}>" - copy: + ansible.builtin.copy: src: "{{ upload_file }}" dest: "{{ upload_directory }}/{{ upload_file | basename }}" + owner: '{{ upload_owner }}' + group: '{{ upload_group }}' mode: 0644 diff --git a/smardigo/package.sh b/smardigo/package.sh index e05fb0e..fc7aa0d 100755 --- a/smardigo/package.sh +++ b/smardigo/package.sh @@ -1,8 +1,5 @@ #!/bin/bash -rm -f provisioning.zip -zip -r provisioning.zip provisioning/ - rm -f template.zip zip -r template.zip template/ diff --git a/smardigo/pmci/datasource-file/connect-features.xlsx b/smardigo/pmci/datasource-file/connect-features.xlsx index 4322f8ca9cba3dffa0f381cdbd3147ad4668496a..37f21e7ee78f9f473026b9fbdb026d9eb7dd45f8 100644 GIT binary patch delta 4014 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 Wordpress - some-username - some-password some-link diff --git a/smardigo/pmci/process/service-change.bpmn b/smardigo/pmci/process/service-change.bpmn index 060e063..6021349 100644 --- a/smardigo/pmci/process/service-change.bpmn +++ b/smardigo/pmci/process/service-change.bpmn @@ -117,6 +117,42 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -130,6 +166,7 @@ + ${service.connect_features} Flow_0v9fn99 @@ -154,13 +191,6 @@ Flow_0v9fn99 - - - - - - - Flow_0vpp8s2 @@ -193,13 +223,11 @@ Flow_0oce9k4 - Flow_1csuwvq Flow_0zlxne5 Flow_1ml3syp - @@ -213,15 +241,95 @@ Flow_1ml3syp Flow_02ixndu + + Flow_0gzv1k2 + Flow_1cqik3r + Flow_1ck8ltb + Flow_0bnixfv + Flow_19cbb6s + Flow_1xfl8v3 + Flow_0a1iw3h + + + + + ${106} + updating features + updating features + + + Flow_19cbb6s + Flow_0lvy5p2 + + + + + ${105} + updating version + updating version + + + Flow_0bnixfv + Flow_1yaoiku + + + + + ${103} + creating database backup + creating database backup + + + Flow_1xfl8v3 + Flow_1xi90u0 + + + + + ${102} + updating version + is being changed + + + Flow_1cqik3r + Flow_193l32a + + + + + + + + Flow_0zlxne5 + Flow_0gzv1k2 + + + Flow_02ixndu + Flow_0j3iasf + + + + + ${104} + restoring database backup + restoring database backup + + + Flow_1ck8ltb + Flow_0uh17wl + Flow_0j3iasf - - - - - + + Flow_0lvy5p2 + Flow_0dy0fgx + + + Flow_1yaoiku + Flow_0r181q4 + @@ -251,7 +359,7 @@ ${1} - ${4} + ${6} Flow_1vp1h3f @@ -272,7 +380,7 @@ ${1} - ${4} + ${5} Flow_00j17xn @@ -314,7 +422,7 @@ ${1} - ${3} + ${5} Flow_1lfsa3q @@ -324,7 +432,7 @@ ${1} - ${4} + ${5} Flow_0bmarci @@ -338,95 +446,118 @@ Flow_023va0a - - Flow_0gzv1k2 - Flow_1cqik3r - Flow_1ck8ltb - Flow_0bnixfv - Flow_19cbb6s - Flow_1xfl8v3 - Flow_0a1iw3h - Flow_0dy0fgx Flow_1ntkihg Flow_1123ggr - - Flow_0lvy5p2 - Flow_0dy0fgx - - - - - ${106} - updating features - updating features - - - Flow_19cbb6s - Flow_0lvy5p2 - Flow_0r181q4 Flow_15uw4p8 Flow_023va0a - - Flow_1yaoiku - Flow_0r181q4 - - + + Flow_1je7ve0 + Flow_0ole7x1 + + + Flow_0n6vvh4 + Flow_07h5sbj + + + Flow_1lm92r1 + Flow_0yadymj + + + + + + + + + + Flow_0uh17wl + Flow_0ipuvtn + + + + + + - ${105} - updating version - updating version + ${progress_current + 1} + ${simulation} + - Flow_0bnixfv - Flow_1yaoiku - - + Flow_0yadymj + Flow_08lp64c + + + + + + - ${103} - creating database backup - creating database backup + ${progress_current + 1} + ${simulation} + - Flow_1xfl8v3 - Flow_1xi90u0 - - + Flow_07h5sbj + Flow_0qanm5o + + + + + + - ${102} - updating version - is being changed + ${progress_current + 1} + ${simulation} + - Flow_1cqik3r - Flow_193l32a - - + Flow_0ole7x1 + Flow_0ltxkcz + + + Flow_08lp64c + Flow_0ljg6ld + Flow_0prbgm6 + + + def connect_features_new = service.connect_features + +def is_wordpress_active_old = connect_features_old.contains('connect_wordpress'); +def is_wordpress_active_new = connect_features_new.contains('connect_wordpress'); + +return !is_wordpress_active_old && is_wordpress_active_new; + + + + + - - - + + + + + + + [database:[backup_file:"wordpress_portal.sql.gz"]] + + ${progress_current + 1} + ${simulation} + + - Flow_0zlxne5 - Flow_0gzv1k2 - - - Flow_02ixndu - Flow_0j3iasf - - - Flow_1je7ve0 - Flow_0ole7x1 - - + Flow_0ljg6ld + Flow_0604q4z + @@ -438,7 +569,7 @@ ${progress_current + 1} - Flow_0ole7x1 + Flow_0ltxkcz Flow_1g56nyr @@ -452,7 +583,7 @@ ${progress_current + 1} - Flow_0yadymj + Flow_1t3u8x1 Flow_01w1l99 @@ -466,7 +597,7 @@ ${progress_current + 1} - Flow_07h5sbj + Flow_0qanm5o Flow_0ovpasx @@ -609,16 +740,6 @@ Flow_01w1l99 Flow_1yp3qlu - - Flow_0n6vvh4 - Flow_07h5sbj - - - - Flow_1lm92r1 - Flow_0yadymj - - @@ -629,7 +750,6 @@ Flow_11b9h1n Flow_11t9a4k - Flow_1hn4hpo Flow_037suas @@ -638,8 +758,6 @@ Flow_1mkwwyz Flow_0rwyg6o - - @@ -689,7 +807,6 @@ Flow_0qnwk1l - @@ -700,7 +817,6 @@ Flow_010j88w Flow_1ocvj3h - @@ -711,7 +827,6 @@ Flow_0w5drys Flow_1oc3z2q - @@ -722,7 +837,6 @@ Flow_1xw83gj Flow_0y7y5t2 - @@ -746,7 +860,6 @@ Flow_1ocvj3h Flow_1cjblxt - @@ -760,7 +873,6 @@ Flow_1oc3z2q Flow_0wtyliq - @@ -774,7 +886,6 @@ Flow_0y7y5t2 Flow_00oim2x - @@ -788,8 +899,6 @@ Flow_06pks0u Flow_0zsuzuy - - @@ -800,7 +909,6 @@ Flow_1cjblxt Flow_037suas - @@ -811,7 +919,6 @@ Flow_0wtyliq Flow_0nihb5l - @@ -822,7 +929,6 @@ Flow_00oim2x Flow_0br7ijt - @@ -833,28 +939,6 @@ Flow_0zsuzuy Flow_1mkwwyz - - - - - - - - - Flow_0uh17wl - Flow_0ipuvtn - - - - - ${104} - restoring database backup - restoring database backup - - - Flow_1ck8ltb - Flow_0uh17wl - @@ -868,11 +952,32 @@ ${creation_user_id} ${maintenance_topic} template(service-changed) + ${progress_current + 1} Flow_0rwyg6o Flow_11cc8o2 + + Flow_0604q4z + Flow_1otfive + Flow_1t3u8x1 + + + + + + + + + + ${progress_current + 1} + + + + Flow_0prbgm6 + Flow_1otfive + ACHTUNG: Ändert sich das Datenmodell des Tenants muss die Projektion im Wizard angepasst werden, sonst gehen die Daten verloren! @@ -881,758 +986,797 @@ ToDo Formular service-selct-wizard - - ToDo candidate groups setzen - - - ToDo candidate groups setzen - - - with data object with data object - - with data object + + - + - + - + - + - + + + + + - + - + - + - + - + - + - - + + - - + + - + - - + + - + - + - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - - - + - - + + - - - - - + + + - - + + + - - + + + - - - - - + + - - - - - + + + - - - - - + + + - - + + - - + + - - + + - + - + - + - + - + - + - + - + - + - + - + - - - - - - - - - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - - - - - - - - - + - + - + + + + - + - - - - - - - - - + - + - + - + - + - - - + + + - + - - - + + + - + - - + + - + - - + + - - + + - - + + - - + + - - + + - + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - - + + + - + - - + + - - - + + + - - - + + + - + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - - + + + - - - + + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - - + + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - - + + + - - - + + + - - - + + + - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - + + + - - - + + + - - - + + + - - - + + + - - + + - - + + - - + + + + + + diff --git a/smardigo/pmci/process/service-setup.bpmn b/smardigo/pmci/process/service-setup.bpmn index bc04cd6..bf83c8e 100644 --- a/smardigo/pmci/process/service-setup.bpmn +++ b/smardigo/pmci/process/service-setup.bpmn @@ -37,11 +37,10 @@ - + - - + @@ -112,7 +111,7 @@ - Flow_0pvr263 + Flow_1khr5z7 Flow_1f0iyrk @@ -146,7 +145,7 @@ Flow_11k5c1y Flow_1r4otto - + @@ -161,9 +160,10 @@ - Flow_1r4otto - Flow_1u7vy0j + Flow_0pvr263 + Flow_1khr5z7 + @@ -176,7 +176,7 @@ - Flow_1u7vy0j + Flow_1r4otto Flow_19vs5q0 @@ -206,45 +206,45 @@ create data object - - Server erstellen + + with data object - - - Datenbank(en) erstellen + + + with data object - + + + Datenbank(en) Backup importieren + + Realm/Client erstellen - - with data object - - Service erstellen - - with data object - - Kibana Zugriff konfigurieren - - Datenbank(en) Backup importieren + + Datenbank(en) erstellen - + + + Server erstellen + + Monitoring aktualisieren - with data object + @@ -253,51 +253,47 @@ - + - - + + - - + + - - + + - - - - - + - + - - + + - - + + - - + + - + - + @@ -326,76 +322,76 @@ + + + + - + - + - + - - + + - + - + - + - - - + + + - - - + + + - - - + + + - - - - - - + + - - - - - - + + - - + + - - - + + + + + + + - - + + - - + + @@ -411,31 +407,27 @@ - + - - + + - - + + - - - - - - + + - - + + - - + + @@ -445,6 +437,14 @@ + + + + + + + + diff --git a/smardigo/pmci/script/create-data.groovy b/smardigo/pmci/script/create-data.groovy index 727a28a..cc1c1f0 100644 --- a/smardigo/pmci/script/create-data.groovy +++ b/smardigo/pmci/script/create-data.groovy @@ -15,6 +15,7 @@ def data = [:] +/**** create connect admin user ****/ def connect_admin = [:] connect_admin["username"] = service.cluster.key + "-connect-admin" if (binding.hasVariable('connect_admin_password')) { @@ -27,6 +28,7 @@ data["connect"] = connect execution.setVariable('connect_admin', connect_admin) +/**** create wordpress admin user ****/ if (service.connect_features.contains("connect_wordpress")) { def wordpress_admin = [:] wordpress_admin["username"] = service.cluster.key + "-wordpress-admin" diff --git a/smardigo/provisioning/app/process.json b/smardigo/provisioning/app/process.json deleted file mode 100644 index 2b771af..0000000 --- a/smardigo/provisioning/app/process.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "name" : "Smardigo Provisioning", - "configKey" : "process", - "configType" : "process", - "description" : "Provisioning and configuration for smardigo instances", - "imageUrl" : "data:image/png;base64,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", - "menuItems" : [ { - "name" : "Provisioning", - "tabName" : "Provisioning", - "logoId" : "local_shipping", - "configType" : "process-search", - "processDefinitionKey" : "simple-connect", - "processDefinitionKeys" : [ "simple-connect" ], - "groups" : [ "user", "head", "maintainer", "administrator" ] - }, { - "name" : "Vorfälle", - "tabName" : "Vorfälle", - "logoId" : "report", - "configType" : "incidents", - "groups" : [ ], - "additionalProperties" : { - "showAllScopes" : false - } - } ] -} \ No newline at end of file diff --git a/smardigo/provisioning/datasource-file/connect-features.xlsx b/smardigo/provisioning/datasource-file/connect-features.xlsx deleted file mode 100644 index 4322f8ca9cba3dffa0f381cdbd3147ad4668496a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9268 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 CuOJHm diff --git a/smardigo/provisioning/datasource/awx-job-plain.json b/smardigo/provisioning/datasource/awx-job-plain.json deleted file mode 100644 index 7aed883..0000000 --- a/smardigo/provisioning/datasource/awx-job-plain.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "name": "awx-job-plain", - "restApi": true, - "configKey": "awx-job-plain", - "payloadType": "REST", - "config": [ - { - "name": "connection", - "type": "CONNECTION", - "value": "awx" - }, - { - "name": "resource", - "type": "STRING", - "value": "api/v2/jobs/${id}/" - }, - { - "name": "sqlStatement", - "type": "STRING", - "value": "SELECT id,status,failed,created,started,finished,name,description,elapsed,scm_revision FROM default_table" - } - ] -} diff --git a/smardigo/provisioning/datasource/awx-job-templates-plain.json b/smardigo/provisioning/datasource/awx-job-templates-plain.json deleted file mode 100644 index b9a07b5..0000000 --- a/smardigo/provisioning/datasource/awx-job-templates-plain.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "name" : "awx-job-templates-plain", - "restApi" : true, - "configKey" : "awx-job-templates-plain", - "payloadType" : "REST", - "config" : [ { - "name" : "connection", - "type" : "CONNECTION", - "value" : "awx" - }, { - "name" : "resource", - "type" : "STRING", - "value" : "api/v2/job_templates?search=${name}" - }, { - "name" : "sqlStatement", - "type" : "STRING", - "value" : "SELECT results FROM default_table" - } ] -} \ No newline at end of file diff --git a/smardigo/provisioning/datasource/awx-job-templates.json b/smardigo/provisioning/datasource/awx-job-templates.json deleted file mode 100644 index e0b9d21..0000000 --- a/smardigo/provisioning/datasource/awx-job-templates.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "name" : "awx-job-templates", - "restApi" : true, - "configKey" : "awx-job-templates", - "payloadType" : "POST_PROCESSING", - "config" : [ { - "name" : "datasource_key", - "type" : "STRING", - "value" : "awx-job-templates-plain" - }, { - "name" : "groovy_script", - "type" : "STRING", - "value" : "def result = []\ndata.each{templates ->\n templates.results.each{ template ->\n if (parameters['name'] == template.name) {\n result.add([id: template.id, name: template.name])\n }\n }\n}\nresult" - } ] -} \ No newline at end of file diff --git a/smardigo/provisioning/datasource/awx-job.json b/smardigo/provisioning/datasource/awx-job.json deleted file mode 100644 index 153aefa..0000000 --- a/smardigo/provisioning/datasource/awx-job.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "name": "awx-job", - "restApi": true, - "configKey": "awx-job", - "payloadType": "POST_PROCESSING", - "config": [ - { - "name": "datasource_key", - "type": "STRING", - "value": "awx-job-plain" - }, - { - "name": "groovy_script", - "type": "STRING", - "value": "def result = []\ndata.each{job ->\n if (parameters['stage']) {\n job.stage = parameters.stage\n }\n result.add(job)\n}\nresult" - } - ] -} diff --git a/smardigo/provisioning/datasource/connect-features.json b/smardigo/provisioning/datasource/connect-features.json deleted file mode 100644 index af8487a..0000000 --- a/smardigo/provisioning/datasource/connect-features.json +++ /dev/null @@ -1 +0,0 @@ -{"name":"connect-features","restApi":true,"configKey":"connect-features","payloadType":"EXCEL","config":[{"name":"file","type":"FILE","value":"connect-features.xlsx"},{"name":"columnNames","type":"STRING","value":""},{"name":"sqlStatement","type":"STRING","value":"select * from features where default in (${default})"},{"name":"columnNameLineNumber","type":"INT","value":1},{"name":"skipEmptyLines","type":"BOOLEAN","value":false},{"name":"skipEmptyColumns","type":"BOOLEAN","value":false}]} \ No newline at end of file diff --git a/smardigo/provisioning/datasource/tenants.json b/smardigo/provisioning/datasource/tenants.json deleted file mode 100644 index 00274a4..0000000 --- a/smardigo/provisioning/datasource/tenants.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "name" : "Mandanten", - "restApi" : true, - "configKey" : "tenants", - "payloadType" : "ENTITY", - "config" : [ { - "name" : "entityId", - "type" : "STRING", - "value" : "tenants" - }, { - "name" : "propertyFilterKey", - "type" : "STRING" - }, { - "name" : "propertyFilterValue", - "type" : "STRING" - } ] -} \ No newline at end of file diff --git a/smardigo/provisioning/datasource/whitelabel-docker-image-tags-plain.json b/smardigo/provisioning/datasource/whitelabel-docker-image-tags-plain.json deleted file mode 100644 index 80cebcc..0000000 --- a/smardigo/provisioning/datasource/whitelabel-docker-image-tags-plain.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "name" : "whitelabel-docker-image-tags-plain", - "restApi" : true, - "configKey" : "whitelabel-docker-image-tags-plain", - "payloadType" : "REST", - "config" : [ { - "name" : "connection", - "type" : "CONNECTION", - "value" : "harbor" - }, - { - "name" : "resource", - "type" : "STRING", - "value" : "/smardigo/connect-whitelabel-app/tags/list" - }, - { - "name" : "sqlStatement", - "type" : "STRING", - "value" : "SELECT * FROM default_table" - } ] -} diff --git a/smardigo/provisioning/datasource/whitelabel-docker-image-tags.json b/smardigo/provisioning/datasource/whitelabel-docker-image-tags.json deleted file mode 100644 index 9307b6e..0000000 --- a/smardigo/provisioning/datasource/whitelabel-docker-image-tags.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "name" : "whitelabel-docker-image-tags", - "restApi" : true, - "configKey" : "whitelabel-docker-image-tags", - "payloadType" : "POST_PROCESSING", - "config" : [ { - "name" : "datasource_key", - "type" : "STRING", - "value" : "whitelabel-docker-image-tags-plain" - }, - { - "name" : "groovy_script", - "type" : "STRING", - "value" : "def result = []\ndata.each{values ->\n values.tags.each{ value ->\n result.add([value: value, label: value])\n }\n}\nresult" - } ] -} diff --git a/smardigo/provisioning/form/approve.json b/smardigo/provisioning/form/approve.json deleted file mode 100644 index 2632169..0000000 --- a/smardigo/provisioning/form/approve.json +++ /dev/null @@ -1,178 +0,0 @@ -{ - "name" : "Dialog zur Freigabe", - "configKey" : "approve", - "display" : "form", - "page" : 0, - "components" : [ { - "label" : "Entscheidung", - "mask" : false, - "tableView" : true, - "alwaysEnabled" : false, - "type" : "select", - "input" : true, - "key" : "antrag_decission", - "defaultValue" : "", - "validate" : { - "customMessage" : "", - "json" : "", - "required" : true, - "select" : false, - "custom" : "", - "customPrivate" : false - }, - "conditional" : { - "show" : "", - "when" : "", - "json" : "", - "eq" : "" - }, - "data" : { - "custom" : "values = [\n { \"label\": \"Antrag ablehnen\", \"value\": \"antragAblehnen\" }\n];\nif (true) {\n values.splice(1, 0, { \"label\": \"Antrag genehmigen\", \"value\": \"antragGenehmigen\" });\n}", - "values" : [ ], - "json" : "", - "url" : "", - "resource" : "" - }, - "valueProperty" : "value", - "selectThreshold" : 0.3, - "encrypted" : false, - "properties" : { }, - "customConditional" : "", - "logic" : [ ], - "tags" : [ ], - "dataSrc" : "custom", - "searchEnabled" : false, - "tabs" : null, - "reorder" : false, - "lazyLoad" : false, - "selectValues" : "", - "disableLimit" : false, - "sort" : "", - "reference" : 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", - "limit" : 100, - "filter" : "", - "searchField" : "", - "minSearch" : 0, - "readOnlyValue" : false, - "authenticate" : false, - "template" : "{{ item.label }}", - "selectFields" : "", - "customSearchCriteria" : "", - "searchThreshold" : 0.3, - "fuseOptions" : { }, - "customOptions" : { }, - "infiniteScroll" : false, - "clearValueIfNotInItems" : false, - "clientSideFilter" : "", - "id" : "e9osarl" - }, { - "label" : "Bitte hinterlegen Sie einen Kommentar", - "isUploadEnabled" : false, - "showWordCount" : false, - "showCharCount" : false, - "autofocus" : true, - "tableView" : true, - "alwaysEnabled" : false, - "wysiwyg" : "", - "rows" : 5, - "type" : "textarea", - "input" : true, - "key" : "approve_comment:createComment", - "defaultValue" : "", - "validate" : { - "unique" : false, - "json" : "", - "required" : false, - "custom" : "", - "customPrivate" : false, - "minLength" : "", - "maxLength" : "", - "minWords" : "", - "maxWords" : "", - "pattern" : "" - }, - "properties" : { }, - "tags" : [ ], - "inputFormat" : "plain", - "spellcheck" : true, - "conditional" : { - "show" : "", - "when" : "", - "json" : "", - "eq" : "" - }, - "encrypted" : false, - "logic" : [ ], - "customConditional" : "", - "uploadUrl" : "", - "uploadOptions" : "", - "uploadDir" : "", - "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, - "dbIndex" : false, - "customDefaultValue" : "", - "calculateValue" : "", - "allowCalculateOverride" : false, - "widget" : { - "format" : "yyyy-MM-dd hh:mm a", - "dateFormat" : "yyyy-MM-dd hh:mm a", - "saveAs" : "text" - }, - "refreshOn" : "", - "clearOnRefresh" : false, - "validateOn" : "change", - "mask" : false, - "inputType" : "text", - "inputMask" : "", - "editor" : "", - "id" : "e3y1fri" - } ] -} \ No newline at end of file diff --git a/smardigo/provisioning/form/attachments.json b/smardigo/provisioning/form/attachments.json deleted file mode 100644 index 4d981bf..0000000 --- a/smardigo/provisioning/form/attachments.json +++ /dev/null @@ -1,87 +0,0 @@ -{ - "name" : "Anhänge", - "configKey" : "attachments", - "page" : 0, - "components" : [ { - "dropzoneConfig" : { - "maxFilesize" : "10", - "dictDefaultMessage" : "Dateien zum Anhängen/Hochladen ablegen oder durchsuchen", - "dictHelpText" : "Maximale Dateigröße: {{config.maxFilesize}}MB. Akzeptierte Dateitypen: Office-Dokumente und Bilder.", - "acceptedFiles" : ".pdf, .doc, .docx, .xls, .xlsx, .ppt, .pptx, image/*, .csv, .xml, .txt", - "paramName" : "content", - "url" : "api/scope/{{context.scopeId}}/process/{{context.processId}}/attachment" - }, - "columns" : [ { - "name" : "Name", - "property" : "name", - "value" : "", - "type" : "filename", - "width" : "20%" - }, { - "name" : "Erstellt am", - "property" : "creationDate", - "type" : "date", - "value" : "{{moment(creationDate).format('DD.MM.YYYY HH:mm:ss')}}", - "width" : "80%" - } ], - "label" : "Anlagen", - "deleteUrl" : "api/scope/{{context.scopeId}}/process/{{context.processId}}/attachment/{{attachmentId}}", - "downloadUrl" : "api/scope/{{context.scopeId}}/process/{{context.processId}}/attachment-data/{{attachmentId}}", - "resolveUserDataURL" : "api/scope/{{context.scopeId}}/process/{{context.processId}}/users?id.equals={{userId}}", - "csrfCookiePath" : "XSRF-TOKEN", - "taggingExpression" : "", - "button" : { - "iconOnly" : true, - "removeVisibleWhen" : "return false;", - "showVersion" : false, - "showOnlyCurrentVersion" : false, - "showCheckboxCurrentVersion" : false - }, - "mask" : false, - "tableView" : true, - "type" : "attachments", - "input" : true, - "key" : "anlagen", - "components" : [ ], - "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" : true, - "tabindex" : "", - "disabled" : false, - "autofocus" : false, - "dbIndex" : false, - "customDefaultValue" : "", - "calculateValue" : "", - "widget" : null, - "refreshOn" : "", - "clearOnRefresh" : false, - "validateOn" : "change", - "validate" : { - "required" : false, - "custom" : "", - "customPrivate" : false - }, - "conditional" : { - "show" : null, - "when" : null, - "eq" : "" - }, - "id" : "e9zp29e" - } ] -} \ No newline at end of file diff --git a/smardigo/provisioning/form/current-job-left.json b/smardigo/provisioning/form/current-job-left.json deleted file mode 100644 index efb5654..0000000 --- a/smardigo/provisioning/form/current-job-left.json +++ /dev/null @@ -1,168 +0,0 @@ -{ - "name" : "Current Job Left", - "configKey" : "current-job-left", - "page" : 0, - "components" : [ { - "label" : "Current Job", - "hideLabel" : true, - "persistent" : false, - "mask" : false, - "disabled" : true, - "tableView" : true, - "alwaysEnabled" : false, - "type" : "datasourcecontainer", - "input" : true, - "key" : "job", - "defaultValue" : { - "tenant" : { - "id" : "" - } - }, - "validate" : { - "customMessage" : "", - "json" : "" - }, - "conditional" : { - "show" : "", - "when" : "", - "json" : "" - }, - "data" : { - "url" : "api/v1/scopes/{{context.scopeId}}/tags/{{context.scopeTag}}/datasources/awx-job-plain/query?id={{data.current_job_id}}", - "method" : "GET", - "values" : [ { } ] - }, - "components" : [ { - "label" : "Current Job", - "hideLabel" : true, - "mask" : false, - "tableView" : true, - "alwaysEnabled" : false, - "type" : "container", - "input" : true, - "key" : "job", - "validate" : { - "customMessage" : "", - "json" : "" - }, - "conditional" : { - "show" : "", - "when" : "", - "json" : "" - }, - "components" : [ { - "label" : "Name", - "labelPosition" : "left-left", - "allowMultipleMasks" : false, - "showWordCount" : false, - "showCharCount" : false, - "tableView" : true, - "alwaysEnabled" : false, - "type" : "textfield", - "input" : true, - "key" : "name", - "defaultValue" : "", - "validate" : { - "customMessage" : "", - "json" : "" - }, - "conditional" : { - "show" : "", - "when" : "", - "json" : "" - }, - "tabs" : null, - "properties" : { }, - "inputFormat" : "plain", - "encrypted" : false, - "tags" : [ ], - "customConditional" : "", - "logic" : [ ], - "widget" : { - "type" : "" - }, - "reorder" : false - }, { - "label" : "Beschreibung", - "labelPosition" : "left-left", - "allowMultipleMasks" : false, - "showWordCount" : false, - "showCharCount" : false, - "tableView" : true, - "alwaysEnabled" : false, - "type" : "textfield", - "input" : true, - "key" : "description", - "defaultValue" : "", - "validate" : { - "customMessage" : "", - "json" : "" - }, - "conditional" : { - "show" : "", - "when" : "", - "json" : "" - }, - "tabs" : null, - "properties" : { }, - "inputFormat" : "plain", - "encrypted" : false, - "tags" : [ ], - "customConditional" : "", - "logic" : [ ], - "widget" : { - "type" : "" - }, - "reorder" : false - }, { - "label" : "Status", - "labelPosition" : "left-left", - "allowMultipleMasks" : false, - "showWordCount" : false, - "showCharCount" : false, - "tableView" : true, - "alwaysEnabled" : false, - "type" : "textfield", - "input" : true, - "key" : "status", - "defaultValue" : "", - "validate" : { - "customMessage" : "", - "json" : "" - }, - "conditional" : { - "show" : "", - "when" : "", - "json" : "" - }, - "tabs" : null, - "properties" : { }, - "inputFormat" : "plain", - "encrypted" : false, - "tags" : [ ], - "customConditional" : "", - "logic" : [ ], - "widget" : { - "type" : "" - }, - "reorder" : false - } ], - "tabs" : null, - "properties" : { }, - "tags" : [ ], - "encrypted" : false, - "customConditional" : "", - "logic" : [ ], - "reorder" : false - } ], - "tabs" : null, - "properties" : { }, - "datapath" : "0", - "encrypted" : false, - "tags" : [ ], - "customConditional" : "", - "logic" : [ ], - "reorder" : false - } ], - "display" : "form" -} \ No newline at end of file diff --git a/smardigo/provisioning/form/current-job-right.json b/smardigo/provisioning/form/current-job-right.json deleted file mode 100644 index 1e58e92..0000000 --- a/smardigo/provisioning/form/current-job-right.json +++ /dev/null @@ -1,138 +0,0 @@ -{ - "name" : "Current Job Right", - "configKey" : "current-job-right", - "page" : 0, - "components" : [ { - "label" : "Current Job", - "hideLabel" : true, - "persistent" : false, - "mask" : false, - "disabled" : true, - "tableView" : true, - "alwaysEnabled" : false, - "type" : "datasourcecontainer", - "input" : true, - "key" : "job", - "defaultValue" : { - "tenant" : { - "id" : "" - } - }, - "validate" : { - "customMessage" : "", - "json" : "" - }, - "conditional" : { - "show" : "", - "when" : "", - "json" : "" - }, - "data" : { - "url" : "api/v1/scopes/{{context.scopeId}}/tags/{{context.scopeTag}}/datasources/awx-job-plain/query?id={{data.current_job_id}}", - "method" : "GET", - "values" : [ { } ] - }, - "components" : [ { - "label" : "Current Job", - "hideLabel" : true, - "mask" : false, - "tableView" : true, - "alwaysEnabled" : false, - "type" : "container", - "input" : true, - "key" : "job", - "validate" : { - "customMessage" : "", - "json" : "" - }, - "conditional" : { - "show" : "", - "when" : "", - "json" : "" - }, - "components" : [ { - "label" : "HTML", - "labelPosition" : "left-left", - "className" : "", - "attrs" : [ { - "attr" : "", - "value" : "" - } ], - "content" : "
\n \n {{ data.status }}\n {{ data.status }}\n {{ data.status }}\n {{ data.status }}\n {{ data.status }}\n {{ data.status }}\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" : [ ], - "customConditional" : "", - "logic" : [ ], - "refreshOn" : "data", - "reorder" : false - }, { - "label" : "Status", - "labelPosition" : "left-left", - "allowMultipleMasks" : false, - "showWordCount" : false, - "showCharCount" : false, - "hidden" : true, - "tableView" : true, - "alwaysEnabled" : false, - "type" : "textfield", - "input" : true, - "key" : "status", - "defaultValue" : "", - "validate" : { - "customMessage" : "", - "json" : "" - }, - "conditional" : { - "show" : "", - "when" : "", - "json" : "" - }, - "tabs" : null, - "properties" : { }, - "inputFormat" : "plain", - "encrypted" : false, - "tags" : [ ], - "customConditional" : "", - "logic" : [ ], - "widget" : { - "type" : "" - }, - "reorder" : false - } ], - "tabs" : null, - "properties" : { }, - "tags" : [ ], - "encrypted" : false, - "customConditional" : "", - "logic" : [ ], - "reorder" : false - } ], - "tabs" : null, - "properties" : { }, - "datapath" : "0", - "encrypted" : false, - "tags" : [ ], - "customConditional" : "", - "logic" : [ ], - "reorder" : false - } ], - "display" : "form" -} \ No newline at end of file diff --git a/smardigo/provisioning/form/current-jobs.json b/smardigo/provisioning/form/current-jobs.json deleted file mode 100644 index 316d687..0000000 --- a/smardigo/provisioning/form/current-jobs.json +++ /dev/null @@ -1,397 +0,0 @@ -{ - "name" : "Current Jobs", - "configKey" : "current-jobs", - "page" : 0, - "components" : [ { - "label" : "Jobs", - "persistent" : false, - "mask" : false, - "tableView" : true, - "alwaysEnabled" : false, - "type" : "list", - "input" : true, - "key" : "jobs", - "conditional" : { - "show" : "", - "when" : "", - "json" : "" - }, - "components" : [ { - "label" : "job", - "mask" : false, - "hideLabel" : true, - "tableView" : true, - "alwaysEnabled" : false, - "customClass" : "pb-0", - "type" : "datasourcecontainer", - "input" : true, - "key" : "job", - "validate" : { - "customMessage" : "", - "json" : "" - }, - "conditional" : { - "show" : "", - "when" : "", - "json" : "" - }, - "data" : { - "url" : "api/v1/scopes/{{context.scopeId}}/tags/{{context.scopeTag}}/datasources/awx-job/query?id={{ row }}&stage={{ data.cluster.stage }}", - "method" : "GET", - "values" : [ { } ] - }, - "components" : [ { - "label" : "job", - "hideLabel" : true, - "customClass" : "pb-0", - "mask" : false, - "tableView" : true, - "alwaysEnabled" : false, - "type" : "container", - "input" : true, - "key" : "job", - "validate" : { - "customMessage" : "", - "json" : "" - }, - "conditional" : { - "show" : "", - "when" : "", - "json" : "" - }, - "components" : [ { - "label" : "Columns", - "hideLabel" : true, - "columns" : [ { - "components" : [ { - "label" : "Name", - "hideLabel" : true, - "labelPosition" : "left-left", - "allowMultipleMasks" : false, - "showWordCount" : false, - "showCharCount" : false, - "tableView" : true, - "alwaysEnabled" : false, - "type" : "textfield", - "input" : true, - "key" : "name", - "defaultValue" : "", - "validate" : { - "customMessage" : "", - "json" : "" - }, - "conditional" : { - "show" : "", - "when" : "", - "json" : "" - }, - "tabs" : null, - "properties" : { }, - "tags" : [ ], - "inputFormat" : "plain", - "encrypted" : false, - "customConditional" : "", - "logic" : [ ], - "widget" : { - "type" : "" - }, - "reorder" : false - } ], - "width" : 4, - "offset" : 0, - "push" : 0, - "pull" : 0, - "type" : "column", - "input" : false, - "hideOnChildrenHidden" : false, - "key" : "column", - "tableView" : true, - "label" : "Column" - }, { - "components" : [ { - "label" : "Name", - "hideLabel" : true, - "labelPosition" : "left-left", - "allowMultipleMasks" : false, - "showWordCount" : false, - "showCharCount" : false, - "tableView" : true, - "alwaysEnabled" : false, - "type" : "textfield", - "input" : true, - "key" : "description", - "defaultValue" : "", - "validate" : { - "customMessage" : "", - "json" : "" - }, - "conditional" : { - "show" : "", - "when" : "", - "json" : "" - }, - "tabs" : null, - "properties" : { }, - "tags" : [ ], - "inputFormat" : "plain", - "encrypted" : false, - "customConditional" : "", - "logic" : [ ], - "widget" : { - "type" : "" - }, - "reorder" : false - } ], - "width" : 4, - "offset" : 0, - "push" : 0, - "pull" : 0, - "type" : "column", - "input" : false, - "hideOnChildrenHidden" : false, - "key" : "column", - "tableView" : true, - "label" : "Column" - }, { - "width" : 2, - "offset" : 0, - "push" : 0, - "pull" : 0, - "type" : "column", - "input" : false, - "hideOnChildrenHidden" : false, - "key" : "column", - "tableView" : true, - "label" : "Column", - "components" : [ { - "label" : "Name", - "hideLabel" : true, - "labelPosition" : "left-left", - "allowMultipleMasks" : false, - "showWordCount" : false, - "showCharCount" : false, - "clearOnHide" : false, - "hidden" : true, - "tableView" : true, - "alwaysEnabled" : false, - "type" : "textfield", - "input" : true, - "key" : "status", - "defaultValue" : "", - "validate" : { - "customMessage" : "", - "json" : "" - }, - "conditional" : { - "show" : "", - "when" : "", - "json" : "" - }, - "tabs" : null, - "properties" : { }, - "tags" : [ ], - "inputFormat" : "plain", - "encrypted" : false, - "customConditional" : "", - "logic" : [ ], - "widget" : { - "type" : "" - }, - "reorder" : false - }, { - "label" : "HTML", - "labelPosition" : "left-left", - "tag" : "div", - "className" : "pb-0", - "attrs" : [ { - "attr" : "", - "value" : "" - } ], - "content" : "
\n \n {{ data.status }}\n {{ data.status }}\n {{ data.status }}\n {{ data.status }}\n {{ data.status }}\n {{ data.status }}\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" : [ ], - "customConditional" : "", - "logic" : [ ], - "refreshOn" : "data", - "reorder" : false - } ] - }, { - "width" : 2, - "offset" : 0, - "push" : 0, - "pull" : 0, - "type" : "column", - "input" : false, - "hideOnChildrenHidden" : false, - "key" : "column", - "tableView" : true, - "label" : "Column", - "components" : [ { - "label" : "Id", - "hideLabel" : true, - "labelPosition" : "left-left", - "allowMultipleMasks" : false, - "showWordCount" : false, - "showCharCount" : false, - "clearOnHide" : false, - "hidden" : true, - "tableView" : true, - "alwaysEnabled" : false, - "type" : "textfield", - "input" : true, - "key" : "id", - "defaultValue" : "", - "validate" : { - "customMessage" : "", - "json" : "" - }, - "conditional" : { - "show" : "", - "when" : "", - "json" : "" - }, - "tabs" : null, - "properties" : { }, - "tags" : [ ], - "inputFormat" : "plain", - "encrypted" : false, - "customConditional" : "", - "logic" : [ ], - "widget" : { - "type" : "" - }, - "reorder" : false - }, { - "label" : "Stage", - "hideLabel" : true, - "labelPosition" : "left-left", - "allowMultipleMasks" : false, - "showWordCount" : false, - "showCharCount" : false, - "clearOnHide" : false, - "hidden" : true, - "tableView" : true, - "alwaysEnabled" : false, - "type" : "textfield", - "input" : true, - "key" : "stage", - "defaultValue" : "", - "validate" : { - "customMessage" : "", - "json" : "" - }, - "conditional" : { - "show" : "", - "when" : "", - "json" : "" - }, - "tabs" : null, - "properties" : { }, - "tags" : [ ], - "inputFormat" : "plain", - "encrypted" : false, - "customConditional" : "", - "logic" : [ ], - "widget" : { - "type" : "" - }, - "reorder" : false - }, { - "label" : "HTML", - "labelPosition" : "left-left", - "tag" : "div", - "className" : "pb-0", - "attrs" : [ { - "attr" : "", - "value" : "" - } ], - "content" : "
\n öffnen\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" : [ ], - "customConditional" : "", - "logic" : [ ], - "refreshOn" : "data", - "reorder" : false - } ] - } ], - "customClass" : "pb-0", - "mask" : false, - "tableView" : false, - "alwaysEnabled" : false, - "type" : "columns", - "input" : false, - "key" : "columns", - "conditional" : { - "show" : "", - "when" : "", - "json" : "" - }, - "tabs" : null, - "properties" : { }, - "tags" : [ ], - "customConditional" : "", - "logic" : [ ], - "reorder" : false - } ], - "tabs" : null, - "properties" : { }, - "tags" : [ ], - "encrypted" : false, - "customConditional" : "", - "logic" : [ ], - "reorder" : false - } ], - "tabs" : null, - "properties" : { }, - "tags" : [ ], - "datapath" : "0", - "encrypted" : false, - "customConditional" : "", - "logic" : [ ], - "reorder" : false - } ], - "tabs" : null, - "customConditional" : "", - "properties" : { }, - "tags" : [ ], - "logic" : [ ], - "reorder" : false - } ], - "display" : "form" -} \ No newline at end of file diff --git a/smardigo/provisioning/form/header.json b/smardigo/provisioning/form/header.json deleted file mode 100644 index ba26d64..0000000 --- a/smardigo/provisioning/form/header.json +++ /dev/null @@ -1,509 +0,0 @@ -{ - "name" : "Kopfzeile", - "configKey" : "header", - "page" : 0, - "components" : [ { - "input" : false, - "tableView" : false, - "columns" : [ { - "components" : [ { - "labelPosition" : "left-right", - "label" : "Ersteller", - "mask" : false, - "disabled" : true, - "tableView" : true, - "type" : "select", - "input" : true, - "key" : "creation_user_id", - "validate" : { - "unique" : false, - "customMessage" : "", - "json" : "", - "required" : false, - "custom" : "", - "customPrivate" : false - }, - "data" : { - "headers" : [ { - "key" : "", - "value" : "" - } ], - "url" : "api/v1/scopes/{{context.scopeId}}/processes/{{context.processId}}/users?id.equals={{data.creation_user_id}}", - "values" : [ ], - "json" : "", - "resource" : "", - "custom" : "" - }, - "properties" : { }, - "tags" : [ ], - "defaultValue" : "", - "dataSrc" : "url", - "lazyLoad" : false, - "valueProperty" : "id", - "selectValues" : "", - "disableLimit" : false, - "template" : "{{[item.firstName, item.lastName].filter(Boolean).join(' ')}}", - "searchEnabled" : 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, - "widget" : null, - "refreshOn" : "", - "clearOnRefresh" : false, - "validateOn" : "change", - "conditional" : { - "show" : null, - "when" : null, - "eq" : "" - }, - "limit" : 100, - "filter" : "", - "searchField" : "", - "minSearch" : 0, - "readOnlyValue" : false, - "authenticate" : false, - "selectFields" : "", - "customSearchCriteria" : "", - "searchThreshold" : 0.3, - "fuseOptions" : { }, - "customOptions" : { }, - "infiniteScroll" : false, - "clearValueIfNotInItems" : false, - "clientSideFilter" : "", - "id" : "evydmbo" - } ], - "width" : 4, - "offset" : 0, - "push" : 0, - "pull" : 0, - "type" : "column", - "input" : false, - "key" : "column1", - "tableView" : true, - "label" : "", - "hideOnChildrenHidden" : 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", - "validate" : { - "required" : false, - "custom" : "", - "customPrivate" : false - }, - "conditional" : { - "show" : null, - "when" : null, - "eq" : "" - }, - "id" : "e9u3jbf" - }, { - "components" : [ { - "labelPosition" : "left-right", - "label" : "Erstellt am", - "format" : "dd.MM.yyyy", - "mask" : false, - "tableView" : true, - "type" : "datetime", - "input" : true, - "key" : "creation_date", - "suffix" : true, - "widget" : { - "type" : "calendar", - "displayInTimezone" : "viewer", - "language" : "en", - "useLocaleSettings" : false, - "allowInput" : true, - "mode" : "single", - "enableTime" : true, - "noCalendar" : false, - "format" : "dd.MM.yyyy", - "defaultDate" : "", - "hourIncrement" : 1, - "minuteIncrement" : 1, - "time_24hr" : false, - "minDate" : null, - "maxDate" : null, - "icons" : "fontawesome", - "i18n" : { - "lng" : "en", - "resources" : { - "de" : { - "translation" : { - "complete" : "Eingabe vollständig", - "error" : "Bitte beheben Sie vor dem Abschicken folgende Fehler.", - "required" : "{{field}} ist ein Pflichtfeld", - "pattern" : "{{field}} entspricht nicht dem Muster {{pattern}}", - "minLength" : "{{field}} muss länger als {{length}} Zeichen sein.", - "maxLength" : "{{field}} muss kürzer als {{length}} Zeichen sein.", - "min" : "{{field}} darf nicht kleiner als {{min}} sein.", - "max" : "{{field}} darf nicht größer als {{max}} sein.", - "invalid_email" : "{{field}} ist keine valide E-Mail-Adresse.", - "invalid_regex" : "{{field}} entspricht nicht dem Muster {{regex}}.", - "invalid_date" : "{{field}} ist kein valides Datum.", - "mask" : "{{field}} entspricht nicht der Maske.", - "stripe" : "{{stripe}}", - "month" : "Monat", - "day" : "Tag", - "year" : "Jahr", - "january" : "Januar", - "february" : "Februar", - "march" : "März", - "april" : "April", - "may" : "Mai", - "june" : "Juni", - "july" : "Juli", - "august" : "August", - "september" : "September", - "october" : "Oktober", - "november" : "November", - "december" : "Dezember", - "next" : "Weiter", - "previous" : "Zurück", - "cancel" : "Abbrechen", - "submit" : "Vorgang starten", - "dualMultiselect_filterPlaceholder" : "Tippen um zu filtern.", - "dualMultiselect_labelAll" : "Alle Werte", - "dualMultiselect_labelSelected" : "Ausgewählte Werte", - "dualMultiselect_buttonSelectAll" : "Alle auswählen", - "dualMultiselect_buttonDeselectAll" : "Alle abwählen", - "listSelection_buttonSelectAriaLabel" : "Eintrag Auswählen", - "mapView_zoomInButton" : "Vergrößern", - "mapView_zoomOutButton" : "Verkleinern", - "selectComponent_searchPlaceholder" : "Tippe um zu Suchen...", - "selectComponent_noChoicesText" : "Keine Elemente zur Auswahl", - "selectComponent_noResultsText" : "Keine Ergebnisse gefunden" - } - } - } - } - }, - "defaultValue" : "", - "placeholder" : "", - "prefix" : "", - "customClass" : "", - "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", - "validate" : { - "required" : false, - "custom" : "", - "customPrivate" : false - }, - "conditional" : { - "show" : null, - "when" : null, - "eq" : "" - }, - "useLocaleSettings" : false, - "allowInput" : true, - "enableDate" : true, - "enableTime" : true, - "defaultDate" : "", - "displayInTimezone" : "viewer", - "timezone" : "", - "datepickerMode" : "day", - "datePicker" : { - "showWeeks" : true, - "startingDay" : 0, - "initDate" : "", - "minMode" : "day", - "maxMode" : "year", - "yearRows" : 4, - "yearColumns" : 5, - "minDate" : null, - "maxDate" : null - }, - "timePicker" : { - "hourStep" : 1, - "minuteStep" : 1, - "showMeridian" : true, - "readonlyInput" : false, - "mousewheel" : true, - "arrowkeys" : true - }, - "id" : "ef2amw" - } ], - "width" : 4, - "offset" : 0, - "push" : 0, - "pull" : 0, - "type" : "column", - "input" : false, - "key" : "column2", - "tableView" : true, - "label" : "", - "hideOnChildrenHidden" : 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", - "validate" : { - "required" : false, - "custom" : "", - "customPrivate" : false - }, - "conditional" : { - "show" : null, - "when" : null, - "eq" : "" - }, - "id" : "efau92d" - }, { - "components" : [ { - "input" : true, - "tableView" : false, - "label" : "Status", - "key" : "vorgang_status_text", - "defaultValue" : "", - "persistent" : false, - "clearOnHide" : false, - "conditional" : { - "show" : "", - "when" : null, - "eq" : "" - }, - "type" : "textfield", - "labelPosition" : "left-right", - "tags" : [ ], - "properties" : { - "" : "" - }, - "labelWidth" : 40, - "disabled" : true, - "lockKey" : true, - "widget" : null, - "placeholder" : "", - "prefix" : "", - "customClass" : "", - "suffix" : "", - "multiple" : false, - "protected" : false, - "unique" : false, - "hidden" : false, - "dataGridLabel" : false, - "labelMargin" : 3, - "description" : "", - "errorLabel" : "", - "tooltip" : "", - "hideLabel" : false, - "tabindex" : "", - "autofocus" : false, - "dbIndex" : false, - "customDefaultValue" : "", - "calculateValue" : "", - "allowCalculateOverride" : false, - "refreshOn" : "", - "clearOnRefresh" : false, - "validateOn" : "change", - "validate" : { - "required" : false, - "custom" : "", - "customPrivate" : false, - "minLength" : "", - "maxLength" : "", - "minWords" : "", - "maxWords" : "", - "pattern" : "" - }, - "mask" : false, - "inputType" : "text", - "inputMask" : "", - "id" : "ea7hs5" - } ], - "width" : 4, - "offset" : 0, - "push" : 0, - "pull" : 0, - "type" : "column", - "input" : false, - "key" : "column3", - "tableView" : true, - "label" : "", - "hideOnChildrenHidden" : 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", - "validate" : { - "required" : false, - "custom" : "", - "customPrivate" : false - }, - "conditional" : { - "show" : null, - "when" : null, - "eq" : "" - }, - "id" : "ez9z05q" - } ], - "type" : "columns", - "tags" : [ ], - "conditional" : { - "show" : "", - "when" : null, - "eq" : "" - }, - "properties" : { - "" : "" - }, - "label" : "Columns", - "key" : "columns", - "placeholder" : "", - "prefix" : "", - "customClass" : "", - "suffix" : "", - "multiple" : false, - "defaultValue" : null, - "protected" : false, - "unique" : false, - "persistent" : false, - "hidden" : false, - "clearOnHide" : false, - "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 - }, - "autoAdjust" : false, - "hideOnChildrenHidden" : false, - "id" : "eqtnze" - } ] -} \ No newline at end of file diff --git a/smardigo/provisioning/form/progress-bar.json b/smardigo/provisioning/form/progress-bar.json deleted file mode 100644 index 6c4c6b2..0000000 --- a/smardigo/provisioning/form/progress-bar.json +++ /dev/null @@ -1,98 +0,0 @@ -{ - "name" : "Progress Bar", - "configKey" : "progress-bar", - "page" : 0, - "components" : [ { - "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 - } ], - "display" : "form" -} \ No newline at end of file diff --git a/smardigo/provisioning/form/select-connect-feature-set.json b/smardigo/provisioning/form/select-connect-feature-set.json deleted file mode 100644 index ecbd919..0000000 --- a/smardigo/provisioning/form/select-connect-feature-set.json +++ /dev/null @@ -1,202 +0,0 @@ -{ - "configKey" : "select-connect-feature-set", - "name" : "select-connect-feature-set", - "components" : [ { - "label" : "Status", - "mask" : false, - "tableView" : true, - "alwaysEnabled" : false, - "type" : "well", - "input" : false, - "key" : "status2", - "conditional" : { - "show" : "", - "when" : "", - "json" : "", - "eq" : "" - }, - "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" : "", - "required" : false, - "custom" : "", - "customPrivate" : false - }, - "conditional" : { - "show" : "", - "when" : "", - "json" : "", - "eq" : "" - }, - "tabs" : null, - "encrypted" : false, - "properties" : { }, - "tags" : null, - "customConditional" : "", - "logic" : [ ], - "reorder" : false, - "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", - "tag" : "p", - "id" : "e2e6mdi" - }, { - "label" : "Optionale Features", - "mask" : false, - "tableView" : true, - "alwaysEnabled" : false, - "type" : "dualmultiselect", - "input" : true, - "key" : "connect-features", - "defaultValue" : [ ], - "validate" : { - "customMessage" : "", - "json" : "", - "required" : false, - "custom" : "", - "customPrivate" : false - }, - "conditional" : { - "show" : "", - "when" : "", - "json" : "", - "eq" : "" - }, - "data" : { - "url" : "api/v1/scopes/{{ context.scopeId }}/processes/{{ context.processId }}/datasources/connect-features/query?default='0','1'", - "values" : [ { } ] - }, - "template" : "{{ item.key }}", - "tabs" : null, - "properties" : { }, - "tags" : [ ], - "encrypted" : false, - "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" : "e7k5sf" - } ], - "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" : "enh5f1d" - } ] -} \ No newline at end of file diff --git a/smardigo/provisioning/form/select-connect-version.json b/smardigo/provisioning/form/select-connect-version.json deleted file mode 100644 index eaf1da8..0000000 --- a/smardigo/provisioning/form/select-connect-version.json +++ /dev/null @@ -1,218 +0,0 @@ -{ - "configKey" : "select-connect-version", - "name" : "select-connect-version", - "components" : [ { - "label" : "Connect", - "mask" : false, - "tableView" : true, - "alwaysEnabled" : false, - "type" : "container", - "input" : true, - "key" : "connect", - "validate" : { - "customMessage" : "", - "json" : "", - "required" : false, - "custom" : "", - "customPrivate" : false - }, - "conditional" : { - "show" : "", - "when" : "", - "json" : "", - "eq" : "" - }, - "components" : [ { - "label" : "Connect", - "hideLabel" : true, - "mask" : false, - "tableView" : true, - "alwaysEnabled" : false, - "type" : "well", - "input" : false, - "key" : "connect2", - "conditional" : { - "show" : "", - "when" : "", - "json" : "", - "eq" : "" - }, - "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" : "", - "required" : false, - "custom" : "", - "customPrivate" : false - }, - "conditional" : { - "show" : "", - "when" : "", - "json" : "", - "eq" : "" - }, - "data" : { - "url" : "api/v1/scopes/{{context.scopeId}}/tags/{{context.scopeTag}}/datasources/whitelabel-docker-image-tags/query", - "headers" : [ { - "key" : "", - "value" : "" - } ], - "values" : [ ], - "json" : "", - "resource" : "", - "custom" : "" - }, - "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, - "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, - "calculateValue" : "", - "allowCalculateOverride" : false, - "widget" : null, - "refreshOn" : "", - "clearOnRefresh" : false, - "validateOn" : "change", - "limit" : 100, - "filter" : "", - "searchEnabled" : true, - "searchField" : "", - "minSearch" : 0, - "readOnlyValue" : false, - "authenticate" : false, - "template" : "{{ item.label }}", - "selectFields" : "", - "customSearchCriteria" : "", - "searchThreshold" : 0.3, - "fuseOptions" : { }, - "customOptions" : { }, - "infiniteScroll" : false, - "clearValueIfNotInItems" : false, - "clientSideFilter" : "", - "id" : "e0qkvu" - } ], - "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" : "", - "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" : "e0jo9ps" - } ], - "tabs" : null, - "encrypted" : false, - "properties" : { }, - "tags" : 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, - "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" : "er94pcr" - } ] -} \ No newline at end of file diff --git a/smardigo/provisioning/form/simple-connect-create.json b/smardigo/provisioning/form/simple-connect-create.json deleted file mode 100644 index 37dd95e..0000000 --- a/smardigo/provisioning/form/simple-connect-create.json +++ /dev/null @@ -1,464 +0,0 @@ -{ - "name" : "Simple Connect Wizard", - "configKey" : "simple-connect-create", - "display" : "wizard", - "page" : 0, - "numPages" : 8, - "components" : [ { - "labelPosition" : "left", - "label" : "Auswahl Mandant", - "title" : "Auswahl Mandant", - "tableView" : false, - "type" : "panel", - "components" : [ { - "label" : "Mandant auswählen", - "hideLabel" : true, - "optionsLabelPosition" : "right", - "values" : [ { - "label" : "Mandant anlegen", - "value" : "create_new_tenant", - "shortcut" : "" - }, { - "shortcut" : "", - "label" : "Mandant auswählen", - "value" : "choose_tenant" - } ], - "inline" : false, - "persistent" : false, - "clearOnHide" : false, - "mask" : false, - "tableView" : true, - "alwaysEnabled" : false, - "type" : "radio", - "input" : true, - "key" : "wizard_selection", - "validate" : { - "unique" : false, - "customMessage" : "", - "json" : "", - "required" : true - }, - "properties" : { }, - "tags" : [ ], - "conditional" : { - "show" : "", - "when" : "", - "json" : "" - }, - "customConditional" : "", - "logic" : [ ], - "defaultValue" : "choose_tenant", - "encrypted" : false, - "tabs" : null, - "reorder" : false - }, { - "label" : "Mandant", - "hideLabel" : true, - "mask" : false, - "tableView" : true, - "type" : "container", - "input" : true, - "key" : "tenant", - "components" : [ { - "label" : "Mandant", - "customClass" : "ml-4", - "clearOnHide" : false, - "mask" : false, - "tableView" : true, - "alwaysEnabled" : false, - "type" : "listselection", - "input" : true, - "key" : "selected_tenant", - "data" : { - "url" : "/api/v1/scopes/{{context.scopeId}}/tags/{{context.scopeTag}}/datasources/tenants/query", - "requestBody" : "", - "values" : [ { } ] - }, - "columns" : [ { - "name" : "Name", - "prop" : "name", - "value" : "", - "width" : "", - "sortable" : true - }, { - "name" : "Schlüssel", - "prop" : "key", - "value" : "", - "width" : "", - "sortable" : true - } ], - "projection" : [ { - "key" : "id", - "prop" : "id" - }, { - "key" : "name", - "prop" : "name" - }, { - "key" : "key", - "prop" : "key" - } ], - "identity" : "id", - "validate" : { - "required" : true, - "unique" : false, - "customMessage" : "", - "json" : "" - }, - "properties" : { }, - "tags" : [ ], - "conditional" : { - "show" : "", - "when" : "", - "json" : "" - }, - "customConditional" : "show = data.wizard_selection == 'choose_tenant';", - "logic" : [ { - "name" : "if wizard_selection = 'create_new_tenant' then clear", - "trigger" : { - "type" : "javascript", - "javascript" : "result = data.wizard_selection == 'create_new_tenant';" - }, - "actions" : [ { - "name" : "clear", - "type" : "clear" - } ] - } ], - "tabs" : null, - "datapath" : "", - "defaultFilter" : "", - "encrypted" : false, - "reorder" : false - } ], - "properties" : { }, - "clearOnHide" : false - }, { - "label" : "Mandant bearbeiten", - "shortcut" : "", - "customClass" : "ml-4", - "persistent" : false, - "clearOnHide" : false, - "mask" : false, - "tableView" : true, - "alwaysEnabled" : false, - "type" : "checkbox", - "input" : true, - "key" : "edit_tenant", - "validate" : { - "unique" : false, - "customMessage" : "", - "json" : "" - }, - "conditional" : { - "show" : "", - "when" : "", - "json" : "" - }, - "customConditional" : "show = data.wizard_selection == 'choose_tenant';", - "properties" : { }, - "tags" : [ ], - "defaultValue" : false, - "tabs" : null, - "reorder" : false, - "encrypted" : false, - "logic" : [ ] - } ], - "input" : false, - "key" : "ChooseTenant", - "tags" : [ ], - "conditional" : { - "show" : "" - }, - "properties" : { - "" : "" - } - }, { - "label" : "Mandant bearbeiten", - "title" : "Mandant bearbeiten", - "clearOnHide" : true, - "mask" : false, - "tableView" : false, - "type" : "panel", - "key" : "page2", - "input" : false, - "components" : [ { - "label" : "tenant", - "hideLabel" : true, - "mask" : false, - "tableView" : true, - "type" : "container", - "input" : true, - "key" : "tenant", - "components" : [ { - "labelPosition" : "left-left", - "columns" : [ { - "components" : [ { - "label" : "Name", - "labelPosition" : "left-left", - "allowMultipleMasks" : false, - "showWordCount" : false, - "showCharCount" : false, - "clearOnHide" : false, - "tableView" : true, - "alwaysEnabled" : false, - "type" : "textfield", - "input" : true, - "key" : "name", - "defaultValue" : "", - "validate" : { - "unique" : false, - "customMessage" : "Zeichenkette ohne Sonderzeichen, mindestens 4 und höchstens 20 Zeichen", - "json" : "", - "required" : true, - "minLength" : null, - "maxLength" : null, - "minWords" : null, - "maxWords" : null, - "pattern" : "^[ a-zA-Z0-9-]{4,20}$" - }, - "inputFormat" : "plain", - "properties" : { }, - "tags" : [ ], - "conditional" : { - "show" : "", - "when" : "", - "json" : "" - }, - "tabs" : null, - "encrypted" : false, - "customConditional" : "", - "logic" : [ ], - "widget" : { - "type" : "" - }, - "reorder" : false - }, { - "label" : "Id", - "mask" : false, - "tableView" : true, - "type" : "hidden", - "input" : true, - "key" : "id", - "properties" : { }, - "tags" : [ ] - } ], - "width" : 6, - "offset" : 0, - "push" : 0, - "pull" : 0, - "type" : "column", - "input" : false, - "key" : "column1", - "tableView" : true, - "label" : "", - "clearOnHide" : false, - "hideOnChildrenHidden" : false - }, { - "components" : [ { - "label" : "Key", - "labelPosition" : "left-left", - "allowMultipleMasks" : false, - "showWordCount" : false, - "showCharCount" : false, - "tableView" : true, - "alwaysEnabled" : false, - "type" : "textfield", - "input" : true, - "key" : "key", - "defaultValue" : "", - "validate" : { - "customMessage" : "Zeichenkette ohne Sonderzeichen, mindestens 4 und höchstens 10 Zeichen, alles kleingeschrieben", - "json" : "", - "required" : true, - "minLength" : null, - "maxLength" : null, - "minWords" : null, - "maxWords" : null, - "pattern" : "^[a-z]{4,10}$" - }, - "conditional" : { - "show" : "", - "when" : "", - "json" : "" - }, - "tabs" : null, - "properties" : { }, - "inputFormat" : "plain", - "encrypted" : false, - "tags" : null, - "customConditional" : "", - "logic" : [ ], - "widget" : { - "type" : "" - }, - "reorder" : false - } ], - "width" : 6, - "offset" : 0, - "push" : 0, - "pull" : 0, - "type" : "column", - "input" : false, - "key" : "column2", - "tableView" : true, - "label" : "", - "clearOnHide" : false, - "hideOnChildrenHidden" : false - } ], - "label" : "Mengenrabattnr.", - "mask" : false, - "tableView" : false, - "type" : "columns", - "input" : false, - "key" : "columns" - } ], - "clearOnHide" : false - } ], - "conditional" : { - "show" : "", - "when" : "", - "json" : "" - }, - "customConditional" : "show = data.wizard_selection == 'choose_tenant' && !!data.edit_tenant && !!data.tenant && !!data.tenant.id;" - }, { - "label" : "Mandant erfassen", - "title" : "Mandant erfassen", - "mask" : false, - "tableView" : false, - "type" : "panel", - "key" : "page2", - "input" : false, - "components" : [ { - "label" : "tenant", - "hideLabel" : true, - "mask" : false, - "tableView" : true, - "type" : "container", - "input" : true, - "key" : "tenant", - "components" : [ { - "labelPosition" : "left-left", - "columns" : [ { - "components" : [ { - "label" : "Name", - "labelPosition" : "left-left", - "allowMultipleMasks" : false, - "showWordCount" : false, - "showCharCount" : false, - "clearOnHide" : false, - "tableView" : true, - "alwaysEnabled" : false, - "type" : "textfield", - "input" : true, - "key" : "name", - "defaultValue" : "", - "validate" : { - "unique" : false, - "customMessage" : "Zeichenkette ohne Sonderzeichen, mindestens 4 und höchstens 20 Zeichen", - "json" : "", - "required" : true, - "minLength" : null, - "maxLength" : null, - "minWords" : null, - "maxWords" : null, - "pattern" : "^[ a-zA-Z0-9-]{4,20}$" - }, - "inputFormat" : "plain", - "properties" : { }, - "tags" : [ ], - "conditional" : { - "show" : "", - "when" : "", - "json" : "" - }, - "tabs" : null, - "encrypted" : false, - "customConditional" : "", - "logic" : [ ], - "widget" : { - "type" : "" - }, - "reorder" : false - } ], - "width" : 6, - "offset" : 0, - "push" : 0, - "pull" : 0, - "type" : "column", - "input" : false, - "key" : "column3", - "tableView" : true, - "label" : "", - "clearOnHide" : false, - "hideOnChildrenHidden" : false - }, { - "components" : [ { - "label" : "Key", - "labelPosition" : "left-left", - "allowMultipleMasks" : false, - "showWordCount" : false, - "showCharCount" : false, - "tableView" : true, - "alwaysEnabled" : false, - "type" : "textfield", - "input" : true, - "key" : "key", - "defaultValue" : "", - "validate" : { - "customMessage" : "Zeichenkette ohne Sonderzeichen, mindestens 4 und höchstens 10 Zeichen, alles kleingeschrieben", - "json" : "", - "required" : true, - "minLength" : null, - "maxLength" : null, - "minWords" : null, - "maxWords" : null, - "pattern" : "^[a-z]{4,10}$" - }, - "conditional" : { - "show" : "", - "when" : "", - "json" : "" - }, - "tabs" : null, - "properties" : { }, - "tags" : [ ], - "inputFormat" : "plain", - "encrypted" : false, - "customConditional" : "", - "logic" : [ ], - "widget" : { - "type" : "" - }, - "reorder" : false - } ], - "width" : 6, - "offset" : 0, - "push" : 0, - "pull" : 0, - "type" : "column", - "input" : false, - "key" : "column4", - "tableView" : true, - "label" : "", - "clearOnHide" : false, - "hideOnChildrenHidden" : false - } ], - "label" : "Mengenrabattnr.", - "mask" : false, - "tableView" : false, - "type" : "columns", - "input" : false, - "key" : "columns" - } ], - "clearOnHide" : false - } ], - "conditional" : { - "show" : "", - "when" : "", - "json" : "" - }, - "customConditional" : "show = data.wizard_selection == 'create_new_tenant';", - "logic" : [ ], - "properties" : { }, - "tags" : [ ] - } ] -} \ No newline at end of file diff --git a/smardigo/provisioning/form/simple-connect.json b/smardigo/provisioning/form/simple-connect.json deleted file mode 100644 index 587a3c1..0000000 --- a/smardigo/provisioning/form/simple-connect.json +++ /dev/null @@ -1,808 +0,0 @@ -{ - "name" : "Simple Connect", - "configKey" : "simple-connect", - "page" : 0, - "components" : [ { - "label" : "Features", - "mask" : false, - "tableView" : true, - "alwaysEnabled" : false, - "type" : "well", - "input" : false, - "key" : "features", - "conditional" : { - "show" : "", - "when" : "", - "json" : "" - }, - "components" : [ { - "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?default='0','1'", - "values" : [ { } ] - }, - "template" : "{{ item.key }}", - "tabs" : null, - "properties" : { }, - "tags" : [ ], - "encrypted" : false, - "customConditional" : "", - "logic" : [ ], - "projection" : "key", - "reorder" : false - } ], - "tabs" : null, - "reorder" : false, - "properties" : { }, - "tags" : null, - "customConditional" : "", - "logic" : [ ] - }, { - "label" : "Links", - "mask" : false, - "tableView" : true, - "alwaysEnabled" : false, - "type" : "well", - "input" : false, - "key" : "links", - "conditional" : { - "show" : "", - "when" : "", - "json" : "" - }, - "components" : [ { - "label" : "Columns", - "columns" : [ { - "components" : [ { - "label" : "connect_admin_username", - "allowMultipleMasks" : false, - "showWordCount" : false, - "showCharCount" : false, - "clearOnHide" : false, - "disabled" : true, - "tableView" : true, - "alwaysEnabled" : false, - "type" : "textfield", - "input" : true, - "key" : "connect_admin_username", - "defaultValue" : "", - "validate" : { - "customMessage" : "", - "json" : "" - }, - "conditional" : { - "show" : "", - "when" : "", - "json" : "" - }, - "tabs" : null, - "inputFormat" : "plain", - "encrypted" : false, - "properties" : { }, - "tags" : [ ], - "customConditional" : "", - "logic" : [ ], - "widget" : { - "type" : "" - }, - "reorder" : false - }, { - "label" : "connect_admin_password", - "hideLabel" : true, - "labelPosition" : "left-left", - "showWordCount" : false, - "showCharCount" : false, - "clearOnHide" : false, - "disabled" : true, - "tableView" : true, - "alwaysEnabled" : false, - "type" : "textfield", - "input" : true, - "key" : "connect_admin_password", - "defaultValue" : "", - "validate" : { - "customMessage" : "", - "json" : "" - }, - "conditional" : { - "show" : "", - "when" : "", - "json" : "" - }, - "tabs" : null, - "inputFormat" : "plain", - "encrypted" : false, - "properties" : { }, - "tags" : [ ], - "customConditional" : "", - "logic" : [ ], - "widget" : { - "type" : "" - }, - "reorder" : false - } ], - "width" : 3, - "offset" : 0, - "push" : 0, - "pull" : 0, - "type" : "column", - "input" : false, - "hideOnChildrenHidden" : false, - "key" : "column", - "tableView" : true, - "label" : "Column" - }, { - "components" : [ { - "label" : "HTML", - "labelPosition" : "left-left", - "className" : "", - "attrs" : [ { - "attr" : "", - "value" : "" - } ], - "content" : "
\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 - } ], - "width" : 9, - "offset" : 0, - "push" : 0, - "pull" : 0, - "type" : "column", - "input" : false, - "hideOnChildrenHidden" : false, - "key" : "column", - "tableView" : true, - "label" : "Column" - }, { - "width" : 3, - "offset" : 0, - "push" : 0, - "pull" : 0, - "type" : "column", - "input" : false, - "hideOnChildrenHidden" : false, - "key" : "column", - "tableView" : true, - "label" : "Column", - "components" : [ ] - }, { - "width" : 9, - "offset" : 0, - "push" : 0, - "pull" : 0, - "type" : "column", - "input" : false, - "hideOnChildrenHidden" : false, - "key" : "column", - "tableView" : true, - "label" : "Column", - "components" : [ { - "label" : "HTML", - "labelPosition" : "left-left", - "className" : "", - "attrs" : [ { - "attr" : "", - "value" : "" - } ], - "content" : "
\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
", - "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 - } ] - }, { - "width" : 3, - "offset" : 0, - "push" : 0, - "pull" : 0, - "type" : "column", - "input" : false, - "hideOnChildrenHidden" : false, - "key" : "column", - "tableView" : true, - "label" : "Column", - "components" : [ { - "label" : "wordpress_admin_username", - "allowMultipleMasks" : false, - "showWordCount" : false, - "showCharCount" : false, - "clearOnHide" : false, - "disabled" : true, - "tableView" : true, - "alwaysEnabled" : false, - "type" : "textfield", - "input" : true, - "key" : "wordpress_admin_username", - "defaultValue" : "", - "validate" : { - "customMessage" : "", - "json" : "" - }, - "conditional" : { - "show" : "", - "when" : "", - "json" : "" - }, - "tabs" : null, - "inputFormat" : "plain", - "encrypted" : false, - "properties" : { }, - "tags" : [ ], - "customConditional" : "show = data['connect-features'].includes(\"connect_wordpress\") ", - "logic" : [ ], - "widget" : { - "type" : "" - }, - "reorder" : false - }, { - "label" : "wordpress_admin_password", - "hideLabel" : true, - "labelPosition" : "left-left", - "showWordCount" : false, - "showCharCount" : false, - "clearOnHide" : false, - "disabled" : true, - "tableView" : true, - "alwaysEnabled" : false, - "type" : "textfield", - "input" : true, - "key" : "wordpress_admin_password", - "defaultValue" : "", - "validate" : { - "customMessage" : "", - "json" : "" - }, - "conditional" : { - "show" : "", - "when" : "", - "json" : "" - }, - "tabs" : null, - "properties" : { }, - "tags" : [ ], - "inputFormat" : "plain", - "encrypted" : false, - "customConditional" : "show = data['connect-features'].includes(\"connect_wordpress\") ", - "logic" : [ ], - "widget" : { - "type" : "" - }, - "reorder" : false - } ] - }, { - "width" : 9, - "offset" : 0, - "push" : 0, - "pull" : 0, - "type" : "column", - "input" : false, - "hideOnChildrenHidden" : false, - "key" : "column", - "tableView" : true, - "label" : "Column", - "components" : [ { - "label" : "HTML", - "labelPosition" : "left-left", - "className" : "", - "attrs" : [ { - "attr" : "", - "value" : "" - } ], - "content" : "
\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" : "html5", - "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 - } ] - }, { - "width" : 3, - "offset" : 0, - "push" : 0, - "pull" : 0, - "type" : "column", - "input" : false, - "hideOnChildrenHidden" : false, - "key" : "column", - "tableView" : true, - "label" : "Column", - "components" : [ { - "label" : "keycloak_admin_username", - "allowMultipleMasks" : false, - "showWordCount" : false, - "showCharCount" : false, - "clearOnHide" : false, - "disabled" : true, - "tableView" : true, - "alwaysEnabled" : false, - "type" : "textfield", - "input" : true, - "key" : "keycloak_admin_username", - "defaultValue" : "", - "validate" : { - "customMessage" : "", - "json" : "" - }, - "conditional" : { - "show" : "", - "when" : "", - "json" : "" - }, - "tabs" : null, - "inputFormat" : "plain", - "encrypted" : false, - "properties" : { }, - "tags" : [ ], - "customConditional" : "", - "logic" : [ ], - "widget" : { - "type" : "" - }, - "reorder" : false - }, { - "label" : "keycloak_admin_password", - "hideLabel" : true, - "labelPosition" : "left-left", - "showWordCount" : false, - "showCharCount" : false, - "clearOnHide" : false, - "disabled" : true, - "tableView" : true, - "alwaysEnabled" : false, - "type" : "textfield", - "input" : true, - "key" : "keycloak_admin_password", - "defaultValue" : "", - "validate" : { - "customMessage" : "", - "json" : "" - }, - "conditional" : { - "show" : "", - "when" : "", - "json" : "" - }, - "tabs" : null, - "properties" : { }, - "tags" : [ ], - "inputFormat" : "plain", - "encrypted" : false, - "customConditional" : "", - "logic" : [ ], - "widget" : { - "type" : "" - }, - "reorder" : false - } ] - }, { - "width" : 9, - "offset" : 0, - "push" : 0, - "pull" : 0, - "type" : "column", - "input" : false, - "hideOnChildrenHidden" : false, - "key" : "column", - "tableView" : true, - "label" : "Column", - "components" : [ { - "label" : "HTML", - "labelPosition" : "left-left", - "className" : "", - "attrs" : [ { - "attr" : "", - "value" : "" - } ], - "content" : "
\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 - } ] - } ], - "mask" : false, - "tableView" : false, - "alwaysEnabled" : false, - "type" : "columns", - "input" : false, - "key" : "columns2", - "conditional" : { - "show" : "", - "when" : "", - "json" : "" - }, - "tabs" : null, - "properties" : { }, - "tags" : null, - "customConditional" : "", - "logic" : [ ], - "reorder" : false - } ], - "tabs" : null, - "properties" : { }, - "tags" : null, - "customConditional" : "", - "logic" : [ ], - "reorder" : false - }, { - "label" : "Connect", - "mask" : false, - "tableView" : true, - "alwaysEnabled" : false, - "type" : "container", - "input" : true, - "key" : "connect", - "validate" : { - "customMessage" : "", - "json" : "" - }, - "conditional" : { - "show" : "", - "when" : "", - "json" : "" - }, - "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/whitelabel-docker-image-tags/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, - "encrypted" : false, - "properties" : { }, - "tags" : null, - "customConditional" : "", - "logic" : [ ], - "reorder" : false - }, { - "label" : "Cluster", - "mask" : false, - "tableView" : true, - "alwaysEnabled" : false, - "type" : "container", - "input" : true, - "key" : "cluster", - "validate" : { - "customMessage" : "", - "json" : "" - }, - "conditional" : { - "show" : "", - "when" : "", - "json" : "" - }, - "components" : [ { - "label" : "Cluster", - "mask" : false, - "tableView" : true, - "alwaysEnabled" : false, - "type" : "well", - "input" : false, - "key" : "cluster_well", - "conditional" : { - "show" : "", - "when" : "", - "json" : "" - }, - "components" : [ { - "label" : "Stage", - "labelPosition" : "left-left", - "allowMultipleMasks" : false, - "showWordCount" : false, - "showCharCount" : false, - "disabled" : true, - "tableView" : true, - "alwaysEnabled" : false, - "type" : "textfield", - "input" : true, - "key" : "stage", - "defaultValue" : "", - "validate" : { - "customMessage" : "", - "json" : "", - "required" : true, - "minLength" : null, - "maxLength" : null, - "minWords" : null, - "maxWords" : null - }, - "conditional" : { - "show" : "", - "when" : "", - "json" : "" - }, - "tabs" : null, - "inputFormat" : "plain", - "encrypted" : false, - "properties" : { }, - "tags" : [ ], - "customConditional" : "", - "logic" : [ ], - "widget" : { - "type" : "" - }, - "reorder" : false - }, { - "label" : "Name", - "labelPosition" : "left-left", - "allowMultipleMasks" : false, - "showWordCount" : false, - "showCharCount" : false, - "tableView" : true, - "alwaysEnabled" : false, - "type" : "textfield", - "input" : true, - "key" : "name", - "defaultValue" : "", - "validate" : { - "customMessage" : "Zeichenkette ohne Sonderzeichen, mindestens 4 und höchstens 15 Zeichen, alles kleingeschrieben", - "json" : "", - "required" : true, - "minLength" : null, - "maxLength" : null, - "minWords" : null, - "maxWords" : null, - "pattern" : "^[a-z0-9]{4,15}$" - }, - "conditional" : { - "show" : "", - "when" : "", - "json" : "" - }, - "tabs" : null, - "inputFormat" : "plain", - "encrypted" : false, - "properties" : { }, - "tags" : [ ], - "customConditional" : "", - "logic" : [ ], - "widget" : { - "type" : "" - }, - "reorder" : false - }, { - "label" : "Size", - "labelPosition" : "left-left", - "mask" : false, - "disabled" : true, - "tableView" : true, - "alwaysEnabled" : false, - "type" : "number", - "input" : true, - "key" : "size", - "validate" : { - "customMessage" : "", - "json" : "", - "required" : true, - "min" : null, - "max" : null - }, - "conditional" : { - "show" : "", - "when" : "", - "json" : "" - }, - "tabs" : null, - "properties" : { }, - "tags" : [ ], - "delimiter" : false, - "requireDecimal" : false, - "encrypted" : false, - "decimalLimit" : null, - "customConditional" : "", - "logic" : [ ], - "reorder" : false - }, { - "label" : "Service", - "labelPosition" : "left-left", - "allowMultipleMasks" : false, - "showWordCount" : false, - "showCharCount" : false, - "disabled" : true, - "tableView" : true, - "alwaysEnabled" : false, - "type" : "textfield", - "input" : true, - "key" : "service", - "defaultValue" : "", - "validate" : { - "customMessage" : "", - "json" : "", - "required" : true, - "minLength" : null, - "maxLength" : null, - "minWords" : null, - "maxWords" : null - }, - "conditional" : { - "show" : "", - "when" : "", - "json" : "" - }, - "tabs" : null, - "inputFormat" : "plain", - "encrypted" : false, - "properties" : { }, - "tags" : [ ], - "customConditional" : "", - "logic" : [ ], - "widget" : { - "type" : "" - }, - "reorder" : false - } ], - "tabs" : null, - "properties" : { }, - "tags" : [ ], - "customConditional" : "", - "logic" : [ ], - "reorder" : false - } ], - "tabs" : null, - "encrypted" : false, - "properties" : { }, - "tags" : [ ], - "customConditional" : "", - "logic" : [ ], - "reorder" : false - } ], - "display" : "form" -} \ No newline at end of file diff --git a/smardigo/provisioning/form/tenant.json b/smardigo/provisioning/form/tenant.json deleted file mode 100644 index be04508..0000000 --- a/smardigo/provisioning/form/tenant.json +++ /dev/null @@ -1,423 +0,0 @@ -{ - "name" : "Mandnat", - "configKey" : "tenant", - "page" : 0, - "components" : [ { - "label" : "Mandant", - "mask" : false, - "tableView" : true, - "alwaysEnabled" : false, - "type" : "datasourcecontainer", - "input" : true, - "key" : "tenant", - "defaultValue" : { - "tenant" : { - "id" : "", - "name" : "", - "key" : "" - } - }, - "validate" : { - "customMessage" : "", - "json" : "", - "required" : false, - "custom" : "", - "customPrivate" : false - }, - "conditional" : { - "show" : "", - "when" : "", - "json" : "", - "eq" : "" - }, - "data" : { - "url" : "api/v1/scopes/{{context.scopeId}}/tags/{{context.scopeTag}}/datasources/tenants/query?id={{data.tenant_id}}", - "method" : "GET", - "values" : [ { } ] - }, - "components" : [ { - "label" : "Mandant", - "hideLabel" : true, - "mask" : false, - "tableView" : true, - "alwaysEnabled" : false, - "type" : "container", - "input" : true, - "key" : "tenant", - "validate" : { - "customMessage" : "", - "json" : "", - "required" : false, - "custom" : "", - "customPrivate" : false - }, - "conditional" : { - "show" : "", - "when" : "", - "json" : "", - "eq" : "" - }, - "components" : [ { - "label" : "Mandant", - "mask" : false, - "tableView" : true, - "alwaysEnabled" : false, - "type" : "well", - "input" : false, - "key" : "tenant", - "conditional" : { - "show" : "", - "when" : "", - "json" : "", - "eq" : "" - }, - "components" : [ { - "label" : "Id", - "labelPosition" : "left-left", - "allowMultipleMasks" : false, - "showWordCount" : false, - "showCharCount" : false, - "tableView" : true, - "alwaysEnabled" : false, - "type" : "textfield", - "input" : true, - "key" : "id", - "defaultValue" : "", - "validate" : { - "customMessage" : "", - "json" : "", - "required" : false, - "custom" : "", - "customPrivate" : false, - "minLength" : "", - "maxLength" : "", - "minWords" : "", - "maxWords" : "", - "pattern" : "" - }, - "conditional" : { - "show" : "", - "when" : "", - "json" : "", - "eq" : "" - }, - "tabs" : null, - "properties" : { }, - "inputFormat" : "plain", - "encrypted" : false, - "tags" : null, - "customConditional" : "", - "logic" : [ ], - "widget" : { - "type" : "", - "format" : "yyyy-MM-dd hh:mm a", - "dateFormat" : "yyyy-MM-dd hh:mm a", - "saveAs" : "text" - }, - "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" : "ehjc0fj" - }, { - "label" : "Name", - "labelPosition" : "left-left", - "allowMultipleMasks" : false, - "showWordCount" : false, - "showCharCount" : false, - "tableView" : true, - "alwaysEnabled" : false, - "type" : "textfield", - "input" : true, - "key" : "name", - "properties" : { }, - "tags" : [ ], - "defaultValue" : "", - "validate" : { - "customMessage" : "", - "json" : "", - "required" : false, - "custom" : "", - "customPrivate" : false, - "minLength" : "", - "maxLength" : "", - "minWords" : "", - "maxWords" : "", - "pattern" : "" - }, - "conditional" : { - "show" : "", - "when" : "", - "json" : "", - "eq" : "" - }, - "tabs" : null, - "inputFormat" : "plain", - "encrypted" : false, - "customConditional" : "", - "logic" : [ ], - "widget" : { - "type" : "", - "format" : "yyyy-MM-dd hh:mm a", - "dateFormat" : "yyyy-MM-dd hh:mm a", - "saveAs" : "text" - }, - "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" : "ep46nvg" - }, { - "label" : "Key", - "labelPosition" : "left-left", - "allowMultipleMasks" : false, - "showWordCount" : false, - "showCharCount" : false, - "tableView" : true, - "alwaysEnabled" : false, - "type" : "textfield", - "input" : true, - "key" : "key", - "defaultValue" : "", - "validate" : { - "customMessage" : "", - "json" : "", - "required" : false, - "custom" : "", - "customPrivate" : false, - "minLength" : "", - "maxLength" : "", - "minWords" : "", - "maxWords" : "", - "pattern" : "" - }, - "conditional" : { - "show" : "", - "when" : "", - "json" : "", - "eq" : "" - }, - "tabs" : null, - "widget" : { - "type" : "", - "format" : "yyyy-MM-dd hh:mm a", - "dateFormat" : "yyyy-MM-dd hh:mm a", - "saveAs" : "text" - }, - "properties" : { }, - "reorder" : false, - "inputFormat" : "plain", - "encrypted" : false, - "tags" : null, - "customConditional" : "", - "logic" : [ ], - "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" : "esggboj" - } ], - "tabs" : null, - "properties" : { }, - "tags" : [ ], - "reorder" : false, - "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" : "exeapht" - } ], - "tabs" : null, - "properties" : { }, - "tags" : [ ], - "encrypted" : false, - "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" : "", - "tabindex" : "", - "disabled" : false, - "autofocus" : false, - "dbIndex" : false, - "customDefaultValue" : "", - "calculateValue" : "", - "allowCalculateOverride" : false, - "widget" : null, - "refreshOn" : "", - "clearOnRefresh" : false, - "validateOn" : "change", - "tree" : true, - "id" : "embfag" - } ], - "tabs" : null, - "properties" : { }, - "datapath" : "0", - "encrypted" : false, - "tags" : [ ], - "customConditional" : "", - "logic" : [ ], - "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", - "tree" : true, - "id" : "esiqho" - } ] -} \ No newline at end of file diff --git a/smardigo/provisioning/layout/simple-connect.json b/smardigo/provisioning/layout/simple-connect.json deleted file mode 100644 index cf26272..0000000 --- a/smardigo/provisioning/layout/simple-connect.json +++ /dev/null @@ -1,107 +0,0 @@ -{ - "name" : "simple-connect", - "configKey" : "simple-connect", - "tabExpression" : "{{ data.cluster.stage }}-{{ data.tenant.key }}-{{ data.cluster.name }}", - "readonlyExpression" : "data.vorgang_status > 10", - "components" : [ { - "type" : "columns", - "key" : "dossier", - "columns" : [ { - "components" : [ { - "type" : "form", - "key" : "header", - "readonlyExpression" : "true" - }, { - "type" : "html", - "content" : "
" - }, { - "type" : "columns", - "key" : "first-column", - "columns" : [ { - "components" : [ { - "type" : "page", - "key" : "dossier-page", - "toc" : "left", - "sections" : [ { - "type" : "section", - "key" : "aktionen", - "title" : "Aktionen", - "visibleExpression" : "(data.vorgang_status >= 40 && data.vorgang_status < 50)||(data.vorgang_status >= 60)", - "components" : [ { - "type" : "form", - "key" : "progress-bar", - "readonlyExpression" : "true" - }, { - "type" : "columns", - "key" : "a_key", - "columns" : [ { - "width" : "75%", - "components" : [ { - "type" : "form", - "key" : "current-job-left", - "readonlyExpression" : "true" - } ] - }, { - "width" : "25%", - "components" : [ { - "type" : "form", - "key" : "current-job-right", - "readonlyExpression" : "true" - } ] - } ] - }, { - "type" : "form", - "key" : "current-jobs", - "readonlyExpression" : "true" - } ] - }, { - "type" : "section", - "key" : "smardigo", - "title" : "Smardigo", - "components" : [ { - "type" : "form", - "key" : "simple-connect" - } ] - }, { - "type" : "section", - "key" : "stammdaten", - "title" : "Stammdaten", - "components" : [ { - "type" : "form", - "key" : "tenant", - "readonlyExpression" : "true" - } ] - }, { - "type" : "section", - "key" : "dossier-comments", - "title" : "Kommentare", - "components" : [ { - "type" : "comments", - "key" : "comments" - } ] - }, { - "type" : "section", - "key" : "dossier-history", - "title" : "Protokoll", - "components" : [ { - "type" : "history", - "key" : "history" - } ] - } ] - } ], - "width" : "9" - }, { - "components" : [ { - "type" : "help-text", - "key" : "help-text" - }, { - "type" : "action-list", - "key" : "action-list" - } ], - "width" : "350px" - } ] - } ], - "width" : "12" - } ] - } ] -} \ No newline at end of file diff --git a/smardigo/provisioning/mail-template/smardigo-up-and-running.html b/smardigo/provisioning/mail-template/smardigo-up-and-running.html deleted file mode 100644 index 85a81e1..0000000 --- a/smardigo/provisioning/mail-template/smardigo-up-and-running.html +++ /dev/null @@ -1,64 +0,0 @@ - - - - Neue Smardigo-Instanz erfolgreich aufgesetzt - - - - -

- Sehr geehrte Damen und Herren, -

-

-

- ihre Smardigo-Instanz ist nun einsatzbereit. -

-

- Zum Abschließen der Installation müssen Sie sich mit den folgend angegebenen initialen Zugangsdaten - anmelden. Sie werden danach aufgefordert, Ihre eigenen Passwörter zu setzen. Beachten Sie, dass die - zugehörigen Benutzer über alle Ihre Smardigo-Instanzen hin geteilt werden. Die initialen Passwörter - können nur für die allererste Anmeldung verwendet werden. Von Ihnen gesetzte Passwörter werden nicht - überschrieben. -

-

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
ServiceBenutzerPasswortLink
Connectsome-usernamesome-passwordsome-link
Keycloaksome-usernamesome-passwordsome-link
Wordpresssome-usernamesome-passwordsome-link
ELKsome-usernamesome-passwordsome-link
-

-

- Hier geht es zum Antrag: Link -

-

- Hinweis: Diese Mail wurde durch Smardigo automatisch erzeugt. -

- - diff --git a/smardigo/provisioning/meta.info b/smardigo/provisioning/meta.info deleted file mode 100644 index 98c600c..0000000 --- a/smardigo/provisioning/meta.info +++ /dev/null @@ -1 +0,0 @@ -scopeId=provisioning \ No newline at end of file diff --git a/smardigo/provisioning/policy/policy.json b/smardigo/provisioning/policy/policy.json deleted file mode 100644 index 9037bd9..0000000 --- a/smardigo/provisioning/policy/policy.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "configKey" : "policy", - "configType" : "policy", - "name" : "Policies", - "policies" : [ { - "id" : "allow_delete_process_all", - "name" : "Processes delete all", - "effect" : "allow", - "actions" : [ "delete" ], - "resources" : [ "processes:simple-connect" ], - "conditions" : [ "${vorgang_status_text == 'Neu'}" ] - }, { - "id" : "allow_read_write_variables_all", - "name" : "Variables read/write all", - "effect" : "allow", - "actions" : [ "read", "write" ], - "resources" : [ "variables:simple-connect:*" ], - "conditions" : [ ] - } ] -} \ No newline at end of file diff --git a/smardigo/provisioning/process-search/simple-connect-fallback.json b/smardigo/provisioning/process-search/simple-connect-fallback.json deleted file mode 100644 index e1fa601..0000000 --- a/smardigo/provisioning/process-search/simple-connect-fallback.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "name" : "Simple Connect", - "configKey" : "simple-connect-fallback", - "processDefinitionKey" : "simple-connect", - "columns" : [ ], - "sorts" : [ ], - "filters" : [ ] -} \ No newline at end of file diff --git a/smardigo/provisioning/process-search/simple-connect.json b/smardigo/provisioning/process-search/simple-connect.json deleted file mode 100644 index a8e898b..0000000 --- a/smardigo/provisioning/process-search/simple-connect.json +++ /dev/null @@ -1,99 +0,0 @@ -{ - "name" : "Simple Connect", - "configKey" : "simple-connect", - "processDefinitionKey" : "simple-connect", - "columns" : [ { - "key" : "id", - "name" : "ID", - "width" : 50, - "hidden" : true - }, { - "key" : "process_definition_key", - "name" : "Prozess", - "width" : 100, - "hidden" : true - }, { - "key" : "creation_date", - "name" : "Erstelldatum", - "width" : 100 - }, { - "key" : "tenant.name", - "name" : "Mandant Name", - "width" : 100 - }, { - "key" : "tenant.key", - "name" : "Mandant Schlüssel", - "width" : 100 - }, { - "key" : "cluster.name", - "name" : "Cluster Name", - "width" : "100" - }, { - "key" : "connect.version", - "name" : "Version", - "width" : "100" - }, { - "key" : "creation_user_id", - "name" : "Ersteller", - "width" : 150 - }, { - "key" : "vorgang_status_text", - "name" : "Status", - "width" : 100, - "render" : { - "type" : "nominal_classification", - "dataclassdefinitions" : [ { - "value" : "Neu", - "style" : "traffic-light-blue" - }, { - "value" : "Antrag gesendet", - "style" : "traffic-light-blue" - }, { - "value" : "Antrag freigegeben", - "style" : "traffic-light-yellow" - }, { - "value" : "Service wird gestartet", - "style" : "traffic-light-yellow" - }, { - "value" : "Service wird aktualisiert", - "style" : "traffic-light-yellow" - }, { - "value" : "Service gestartet", - "style" : "traffic-light-green" - }, { - "value" : "Antrag abgebrochen", - "style" : "traffic-light-red" - }, { - "value" : "Service wird gelöscht", - "style" : "traffic-light-red" - }, { - "value" : "Service gelöscht", - "style" : "traffic-light-red" - } ] - } - }, { - "key" : "candidateGroups", - "name" : "Gruppen", - "width" : 100, - "hidden" : true - } ], - "filters" : [ { - "name" : "Ersteller", - "key" : "creation_user_id", - "defaultOption" : { - "key" : "default", - "name" : "Alle" - } - }, { - "name" : "Status", - "key" : "vorgang_status_text", - "defaultOption" : { - "key" : "default", - "name" : "Alle" - } - } ], - "sorts" : [ { - "key" : "creation_date", - "direction" : "desc" - } ] -} \ 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 deleted file mode 100644 index 5596203..0000000 --- a/smardigo/provisioning/process-variable-declaration/simple-connect.json +++ /dev/null @@ -1,197 +0,0 @@ -{ - "name" : "Simple Connect", - "configKey" : "simple-connect", - "configType" : "process-variable-declaration", - "variableDeclarations" : { - "antrag_decission" : { - "type" : "string", - "classification" : "PRIVATE" - }, - "approve_comment" : { - "type" : "string", - "classification" : "PRIVATE" - }, - "awxPath" : { - "type" : "string", - "classification" : "PRIVATE" - }, - "candidateGroups" : { - "type" : "string", - "classification" : "PRIVATE", - "searchable" : true, - "label" : "Gruppen" - }, - "cluster" : { - "type" : "object", - "classification" : "PRIVATE", - "fields" : { - "name" : { - "type" : "string", - "classification" : "PRIVATE", - "searchable" : true, - "label" : "Cluster Name" - } - } - }, - "connect" : { - "type" : "object", - "classification" : "PRIVATE", - "fields" : { - "version" : { - "type" : "string", - "classification" : "PRIVATE", - "searchable" : true, - "label" : "Version" - } - } - }, - "connect_admin_password" : { - "type" : "string", - "classification" : "PRIVATE" - }, - "connect_admin_username" : { - "type" : "string", - "classification" : "PRIVATE" - }, - "connect-features" : { - "type" : "object", - "classification" : "PRIVATE" - }, - "creation_date" : { - "type" : "date", - "classification" : "PRIVATE", - "searchable" : true, - "label" : "Erstelldatum" - }, - "creation_user_id" : { - "type" : "userId", - "classification" : "PRIVATE", - "searchable" : true, - "label" : "Ersteller" - }, - "edit_tenant" : { - "type" : "boolean", - "classification" : "PRIVATE" - }, - "extra_vars" : { - "type" : "object", - "classification" : "PRIVATE" - }, - "id" : { - "type" : "string", - "classification" : "PRIVATE", - "searchable" : true, - "label" : "ID" - }, - "job_template_id" : { - "type" : "string", - "classification" : "PRIVATE" - }, - "jobs" : { - "type" : "object", - "classification" : "PRIVATE" - }, - "key" : { - "type" : "string", - "classification" : "PRIVATE" - }, - "keycloak_admin_password" : { - "type" : "string", - "classification" : "PRIVATE" - }, - "keycloak_admin_username" : { - "type" : "string", - "classification" : "PRIVATE" - }, - "name" : { - "type" : "string", - "classification" : "PRIVATE" - }, - "process_definition_key" : { - "type" : "string", - "classification" : "PRIVATE", - "searchable" : true, - "label" : "Prozess" - }, - "progress_current" : { - "type" : "long", - "classification" : "PRIVATE" - }, - "progress_max" : { - "type" : "long", - "classification" : "PRIVATE" - }, - "pruefer_id" : { - "type" : "string", - "classification" : "PRIVATE" - }, - "selected_tenant" : { - "type" : "object", - "classification" : "PRIVATE" - }, - "sendUpAndRunningMail" : { - "type" : "boolean", - "classification" : "PRIVATE" - }, - "service" : { - "type" : "string", - "classification" : "PRIVATE" - }, - "service_url" : { - "type" : "string", - "classification" : "PRIVATE" - }, - "size" : { - "type" : "long", - "classification" : "PRIVATE" - }, - "stage" : { - "type" : "string", - "classification" : "PRIVATE" - }, - "tenant" : { - "type" : "object", - "classification" : "PRIVATE", - "fields" : { - "name" : { - "type" : "string", - "classification" : "PRIVATE", - "searchable" : true, - "label" : "Mandant Name" - }, - "key" : { - "type" : "string", - "classification" : "PRIVATE", - "searchable" : true, - "label" : "Mandant Schlüssel" - } - } - }, - "tenant_id" : { - "type" : "string", - "classification" : "PRIVATE" - }, - "vorgang_status" : { - "type" : "string", - "classification" : "PRIVATE" - }, - "vorgang_status_text" : { - "type" : "string", - "classification" : "PRIVATE", - "searchable" : true, - "label" : "Status" - }, - "wizard_selection" : { - "type" : "string", - "classification" : "PRIVATE" - }, - "wordpress_admin_password" : { - "type" : "string", - "classification" : "PRIVATE" - }, - "wordpress_admin_username" : { - "type" : "string", - "classification" : "PRIVATE" - } - } -} \ No newline at end of file diff --git a/smardigo/provisioning/process/investigator.dmn b/smardigo/provisioning/process/investigator.dmn deleted file mode 100644 index e50a91c..0000000 --- a/smardigo/provisioning/process/investigator.dmn +++ /dev/null @@ -1,28 +0,0 @@ - - - - - - - tenant_id - - - - - - - - - - "head" - - - - - - - - - - - - diff --git a/smardigo/provisioning/process/simple-connect.bpmn b/smardigo/provisioning/process/simple-connect.bpmn deleted file mode 100644 index 398d487..0000000 --- a/smardigo/provisioning/process/simple-connect.bpmn +++ /dev/null @@ -1,2277 +0,0 @@ - - - - - - - - - - - Flow_1w2pl97 - Flow_0l51s9z - - - Flow_1rtcnw8 - - - Flow_17rbwn1 - Flow_13jykf9 - Flow_1hsqawc - - - - - ${15} - Antrag gesendet - - - Flow_1hsqawc - Flow_0ex5zxa - - - Flow_0dybqr7 - Flow_17rbwn1 - - - - - ${10} - Neu - - - Flow_1gqgiz8 - Flow_0dybqr7 - - - - - ${tenant.id} - - - Flow_0btq5mg - Flow_1gqgiz8 - - - Flow_13jykf9 - - - - - - - - - ${0} - ${1} - - - ${envStage} - - ${1} - connect - - - - - - - - - wordpress-admin - - - - connect-realm-admin - wordpress-admin - connect-admin - ${envStage != 'dev'} - - - Flow_1rtcnw8 - Flow_0btq5mg - - - Flow_0ex5zxa - Flow_0zcb7z2 - Flow_1qghkm9 - Flow_0qc2wxt - - - - - ${30} - Antrag freigegeben - - - Flow_14pzxys - Flow_052tizj - Flow_1w2pl97 - - - - - - - - - - Flow_1qghkm9 - Flow_0l2gvw9 - - - Flow_1n08t19 - - - Flow_09j614s - - - - Flow_19oh3q2 - Flow_0qhadmy - - - Flow_0l2gvw9 - Flow_14pzxys - - Flow_0oy4ldu - - - Flow_0oy4ldu - Flow_0wzmz4j - - - - Flow_0wzmz4j - - - - - - Flow_0qc2wxt - - - Flow_14qlmwl - Flow_03lhlpu - - - - - ${40} - Service wird gestartet - - - Flow_0l51s9z - Flow_0bzl5jh - - - - - - - - - ${progress_current + 1} - - - Flow_0utt18n - Flow_0kli6wa - - - Flow_1c2a31w - - Flow_0j5ui0o - - - - - - - - - ${5} - - - Flow_07sf9z8 - Flow_1c6reic - - - - - ${1} - ${4} - - - Flow_0r057gs - Flow_07sf9z8 - - - - - ${41} - Service wird aktualisiert - - - Flow_1lbjdee - Flow_18y954i - - - Flow_0j5ui0o - Flow_1yyd3eu - Flow_1lt30rz - - - - - - - - - - ${42} - Datenbanken werden gesichert - - - Flow_0obgxao - Flow_0k8emzg - - - - - ${1} - ${3} - - - Flow_0nhy074 - Flow_1pt1vey - - - - - - - - ${$action=='sichern'} - - - - - - - - - - - - - backup - - - ${progress_current + 1} - - - Flow_1pt1vey - Flow_0pukv52 - - - - Flow_1lt30rz - Flow_1lbjdee - Flow_0obgxao - Flow_15yi07j - Flow_0bhv1gi - Flow_09x0w6y - - - - - - - - ${$action=='aktualisieren'} - - - - - - - - - - Flow_18y954i - Flow_0r057gs - - - - - - - - - - - Flow_0k8emzg - Flow_0nhy074 - - - - Flow_1wmjqng - - - - Flow_05an5rx - Flow_0fu5s0o - Flow_0e5dqc8 - Flow_0pukv52 - Flow_00jy6ae - Flow_0ju2tch - Flow_0s7lukd - Flow_1bdsym1 - - - - - - ${43} - Datenbanken werden wiederhergestellt - - - Flow_15yi07j - Flow_0yusy35 - - - - - ${1} - ${5} - - - Flow_1c39717 - Flow_09id3fl - - - - - - - - - - Flow_0yusy35 - Flow_1c39717 - - - - - - - - - - - ${$action=='wiederherstellen'} - - - Flow_1yyd3eu - - - - - - - - - - - - - down - - - ${progress_current + 1} - - - Flow_09id3fl - Flow_1xmeor7 - - - - - - - - - - - - backup - - - ${progress_current + 1} - - - Flow_1xmeor7 - Flow_00a7lij - - - - - - - - - - - - up - - - ${progress_current + 1} - - - Flow_00a7lij - Flow_00jy6ae - - - - - - - - - - ${progress_current + 1} - - - Flow_1c6reic - Flow_0e5dqc8 - - - - - - - - - - ${5} - - - Flow_140km0x - Flow_0iaarud - - - - - ${1} - ${4} - - - Flow_0ekn24z - Flow_140km0x - - - - - ${44} - Service wird aktualisiert - - - Flow_0bhv1gi - Flow_1fy2say - - - - - - - - - - Flow_01vwyx0 - Flow_0ekn24z - - - - - - - - - ${progress_current + 1} - - - Flow_0iaarud - Flow_0ju2tch - - - - - - - - ${$action=='auf-neue-version-aktualisieren'} - - - - Flow_1fy2say - Flow_0lmp48m - - - Flow_0lmp48m - Flow_01vwyx0 - Flow_05an5rx - - - ${$action == 'ok'} - - - ${$action == 'abbrechen'} - - - - - - - - - ${5} - - - Flow_0swo8uc - Flow_0sjgl0x - - - - - ${1} - ${4} - - - Flow_05exzhl - Flow_0swo8uc - - - - - ${45} - Service wird aktualisiert - - - Flow_09x0w6y - Flow_16vxkhf - - - - - - - - - - Flow_0dd4zj2 - Flow_05exzhl - - - - - - - - - ${progress_current + 1} - - - Flow_0sjgl0x - Flow_0s7lukd - - - Flow_16vxkhf - Flow_0x16obd - - - Flow_0x16obd - Flow_0dd4zj2 - Flow_0fu5s0o - - - - - - - - ${$action == 'ok'} - - - - ${$action=='features-aktualisieren'} - - - ${$action == 'abbrechen'} - - - - - ${50} - Service gestartet - - - Flow_05lm53t - Flow_1wmjqng - - - - - - - - - - ${progress_current + 1} - - - Flow_1bdsym1 - Flow_05lm53t - - - - - Flow_042d7e6 - - - Flow_1x24mk0 - - - - Flow_0fqbjt7 - Flow_1x24mk0 - - - - - - ${91} - Antrag abgebrochen - - - Flow_0xsem7d - Flow_0fqbjt7 - - - Flow_0xsem7d - - - - Flow_00t49db - - - - - - - - - - ${progress_current + 1} - - - Flow_00t49db - Flow_1in0ur5 - - - Flow_1in0ur5 - - - Flow_042d7e6 - - ${vorgang_status >= 60} - - - - Flow_03lhlpu - - ${vorgang_status == 92} - - - - Flow_14qlmwl - - ${vorgang_status == 50} - - - - Flow_0qhadmy - - ${vorgang_status == 92} - - - - Flow_19oh3q2 - - ${vorgang_status == 30} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ${$action == 'senden'} - - - - - - - - - ${$action == 'abbrechen'} - - - - - - - - - - - - - - - - - - - - - - Flow_09j614s - - ${vorgang_status == 92} - - - - Flow_1n08t19 - - ${vorgang_status == 30} - - - - Flow_0zcb7z2 - Flow_052tizj - - Flow_1xk6340 - - - - - ${tenant.id} - - - Flow_1xk6340 - Flow_18sqo48 - - - - - - import de.tolina.connect.common.variable.Variables -def authenticatedUserId = users.currentUserId() -Variables.userId(authenticatedUserId) - - - - Flow_18sqo48 - Flow_0cqe2bp - Flow_0xvqt4u - - - Flow_0xvqt4u - Flow_1j32s69 - - - Flow_1j32s69 - Flow_0cqe2bp - Flow_1az29g1 - - - Flow_1az29g1 - Flow_0135fm5 - Flow_0tivdau - - - - ${$action == 'abbrechen'} - - - - - ${$action == 'speichern'} - - - - Flow_0135fm5 - - - ${antrag_decission== 'antragGenehmigen'} - - - - - ${92} - Antrag abgebrochen - - - Flow_0tivdau - - - ${antrag_decission== 'antragAblehnen'} - - - - - - - - - - - - ${progress_current + 1} - - - Flow_14qi17c - Flow_0utt18n - - - - - - - - - ${progress_current + 1} - - - Flow_0lugtf9 - Flow_14qi17c - - - - - - - - - ${progress_current + 1} - - - Flow_04gf2u4 - Flow_0lugtf9 - - - - - ${1} - ${6} - - - Flow_1hoe8au - Flow_04gf2u4 - - - - - - - - - - Flow_14gp1tg - Flow_1hoe8au - - - - - ${60} - Service wird gelöscht - - - Flow_090j3ro - Flow_14gp1tg - - - - - - import de.tolina.connect.common.variable.Variables -def authenticatedUserId = users.currentUserId() -Variables.userId(authenticatedUserId) - - - - Flow_0yh3rtc - Flow_090j3ro - - - Flow_1381iar - Flow_0yh3rtc - Flow_1c2a31w - - - - - ${1} - ${8} - - - Flow_0bzl5jh - Flow_11ki58f - - - - - - - - - ${progress_current + 1} - - - Flow_11ki58f - Flow_1eku1o4 - - - - - - - - - ${progress_current + 1} - - - Flow_1eku1o4 - Flow_0pvr263 - - - - - - - - - ${progress_current + 1} - - - Flow_0pvr263 - Flow_1f0iyrk - - - - - - - - - ${progress_current + 1} - - - Flow_1f0iyrk - Flow_11k5c1y - - - - - - - - - ${progress_current + 1} - - - Flow_11k5c1y - Flow_1r4otto - - - - - - - - - - - wordpress_portal.sql.gz - - - ${progress_current + 1} - - - Flow_1r4otto - Flow_1u7vy0j - - - Flow_1u7vy0j - Flow_1gzjfsr - Flow_0d1wzgo - - - Flow_0d1wzgo - - - - ${sendUpAndRunningMail} - - - Flow_1gzjfsr - Flow_0y3ipyp - Flow_1qxegy2 - - - - - - - - - - - ${creation_user_id} - Neue Smardigo Instanz - template(smardigo-up-and-running) - - - Flow_0y3ipyp - Flow_10y7ypm - - - Flow_1qxegy2 - Flow_10y7ypm - Flow_1d07vge - - - - - - ${50} - Service gestartet - - - Flow_1d07vge - Flow_1381iar - - - - - - - - - ${progress_current + 1} - - - Flow_0kli6wa - Flow_11fywti - - - - - - ${70} - Service gelöscht - - - Flow_11fywti - Flow_13do7kt - - - Flow_13do7kt - - - - - - - - - - - - - - Flow_1ow8whd - - - - - - - - - - - - - - - - ${extra_vars} - - - - - Flow_1nqz9ya - Flow_1kxc9t0 - - - Flow_1ow8whd - Flow_0qfq760 - - - - - - - - - Flow_0qfq760 - Flow_11nxxg5 - - - - - - datasources.query('awx-job-templates').processScope(contextScopeId, contextProcessId).parameters([name:smardigoManagementAction]).list()[0]['id']; - - - - Flow_11nxxg5 - Flow_1cnt5hf - - - - - /api/v2/job_templates/${job_template_id}/launch/ - - - - - - Flow_1cnt5hf - Flow_1nqz9ya - - - Flow_1kxc9t0 - Flow_1nuku1o - def jobs = processes.byId(contextScopeId, contextProcessId).getVariable('jobs') -jobs = !!jobs ? jobs : [] -jobs.add(0, awxResponse.job) -processes.byId(contextScopeId, contextProcessId).setVariable('jobs', jobs) - -processes.byId(contextScopeId, contextProcessId).setVariable('current_job_id', awxResponse.job) - -processes.byId(contextScopeId, contextProcessId).createComment('current_job_id := ' + awxResponse.job) - - - Flow_1nuku1o - Flow_0gcsmj7 - - - - Flow_0gcsmj7 - Flow_1ju13h8 - - - Flow_1ju13h8 - - - - - - Flow_1nu8qqa - - - - - - - - - - - - Flow_1nu8qqa - Flow_127qqnb - - - Flow_127qqnb - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/smardigo/provisioning/role-policy-mapping/role-policy-mapping.json b/smardigo/provisioning/role-policy-mapping/role-policy-mapping.json deleted file mode 100644 index d843bb5..0000000 --- a/smardigo/provisioning/role-policy-mapping/role-policy-mapping.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "name" : "Policy Mapping", - "configKey" : "role-policy-mapping", - "configType" : "role-policy-mapping", - "rolePolicyMapping" : { - "user" : [ "allow_read_write_variables_all" ], - "maintainer" : [ "allow_delete_process_all" ], - "administrator" : [ "allow_delete_process_all" ] - } -} \ No newline at end of file diff --git a/smardigo/provisioning/roles/roles.json b/smardigo/provisioning/roles/roles.json deleted file mode 100644 index 44c16c9..0000000 --- a/smardigo/provisioning/roles/roles.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "name" : "roles", - "configKey" : "roles", - "configType" : "roles", - "roles" : [ { - "id" : "user", - "name" : "User" - }, { - "id" : "head", - "name" : "Head" - }, { - "id" : "maintainer", - "name" : "Maintainer" - }, { - "id" : "administrator", - "name" : "Administrator" - } ] -} \ No newline at end of file diff --git a/smardigo/provisioning/script/ansible-end.groovy b/smardigo/provisioning/script/ansible-end.groovy deleted file mode 100644 index e08ddf8..0000000 --- a/smardigo/provisioning/script/ansible-end.groovy +++ /dev/null @@ -1 +0,0 @@ -processes.byId(contextScopeId, contextProcessId).createComment(comment + ' beendet') \ No newline at end of file diff --git a/smardigo/provisioning/script/ansible-start.groovy b/smardigo/provisioning/script/ansible-start.groovy deleted file mode 100644 index 38d0487..0000000 --- a/smardigo/provisioning/script/ansible-start.groovy +++ /dev/null @@ -1,43 +0,0 @@ -def cluster_features = ['connect'] + execution.getVariable('connect-features') - -def env = [ - cluster_features: cluster_features, - cluster_name: cluster.name, - cluster_service: cluster.service, - cluster_size: cluster.size, - connect_image_version: binding.hasVariable('connect') ? connect.version : 'latest', - 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, - connect_client_admin_username: connect_admin_username, - connect_client_admin_password: connect_admin_password, - connect_realm_admin_username: keycloak_admin_username, - connect_realm_admin_password: keycloak_admin_password, - wordpress_admin_username: wordpress_admin_username, - wordpress_admin_password: wordpress_admin_password -] -if (binding.hasVariable('extraVariables')) { - env << extraVariables -} - -def filename = 'xvars-' + smardigoManagementAction + '-' + execution.getProcessInstanceId() + '.yml' -def ansibleCommand= 'ansible-playbook ' + smardigoManagementAction + '.yml --vault-password-file ~/vault-pass-' + envStage + ' -e "@' + filename + '"' -def ansibleVariables= 'cat < ' + filename + '\n' -ansibleVariables+= '---\n' -env.each { key, val -> - if (val instanceof List) { - ansibleVariables+= key + ':\n- \'' + val.join('\'\n- \'') + '\'\n' - } else { - ansibleVariables+= key + ': \'' + val + '\'\n' - } -} -ansibleVariables+= 'EOT' - -processes.byId(contextScopeId, contextProcessId).createComment(comment + ' gestartet') -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 deleted file mode 100644 index f02d681..0000000 --- a/smardigo/provisioning/script/create-awx-paramaters.groovy +++ /dev/null @@ -1,27 +0,0 @@ -def cluster_features = ['connect'] + execution.getVariable('connect-features') - -def env = [ - cluster_features: cluster_features, - cluster_name: cluster.name, - cluster_service: cluster.service, - cluster_size: cluster.size, - connect_version: binding.hasVariable('connect') ? connect.version : 'latest', - 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, - connect_client_admin_username: binding.hasVariable('connect_admin_username') ? connect_admin_username : '', - connect_client_admin_password: binding.hasVariable('connect_admin_password') ? connect_admin_password : '', - connect_realm_admin_username: binding.hasVariable('keycloak_admin_username') ? keycloak_admin_username : '', - connect_realm_admin_password: binding.hasVariable('keycloak_admin_password') ? keycloak_admin_password : '', - wordpress_admin_username: binding.hasVariable('wordpress_admin_username') ? wordpress_admin_username : '', - wordpress_admin_password: binding.hasVariable('wordpress_admin_password') ? wordpress_admin_password : '' -] -if (binding.hasVariable('extraVariables')) { - env << extraVariables -} - -env \ No newline at end of file diff --git a/smardigo/provisioning/script/create-password.groovy b/smardigo/provisioning/script/create-password.groovy deleted file mode 100644 index 935f273..0000000 --- a/smardigo/provisioning/script/create-password.groovy +++ /dev/null @@ -1,26 +0,0 @@ -def pool_length = 20; -def digits = [0..9].flatten() - [ 'O', '0', 'l', '1', 'I' ] -def upperCase = ['A'..'Z'].flatten() - [ 'O', '0', 'l', '1', 'I' ] -def lowerCase = ['a'..'z'].flatten() - [ 'O', '0', 'l', '1', 'I' ] -def special = ['~','!','#','%','&','(',')','{','}','[',']','-','+'] - -def pool = digits + upperCase + lowerCase + special - -Random rand = new Random(System.currentTimeMillis()); -def passChars = (0..pool_length - 1).collect { pool[rand.nextInt(pool.size())] }; - -passChars[0] = special[rand.nextInt(special.size())] -passChars[pool_length - 0] = special[rand.nextInt(special.size())] - -passChars[1] = upperCase[rand.nextInt(upperCase.size())] -passChars[pool_length - 1] = upperCase[rand.nextInt(upperCase.size())] - -passChars[2] = lowerCase[rand.nextInt(lowerCase.size())] -passChars[pool_length - 2] = lowerCase[rand.nextInt(lowerCase.size())] - -passChars[3] = digits[rand.nextInt(digits.size())] -passChars[pool_length - 3] = digits[rand.nextInt(digits.size())] - -def PASSWORD = passChars.join(''); - -PASSWORD \ No newline at end of file diff --git a/smardigo/provisioning/script/create-teams-message.groovy b/smardigo/provisioning/script/create-teams-message.groovy deleted file mode 100644 index 12b424b..0000000 --- a/smardigo/provisioning/script/create-teams-message.groovy +++ /dev/null @@ -1,45 +0,0 @@ -def smardigoUrl = "https://" + cluster.stage + "-management-01-connect.smardigo.digital/api/redirect/process/" + contextScopeId + "/dossier/simple-connect/" + contextProcessId -def smardigoMessageUrl = "https://" + cluster.stage + "-management-01-connect.smardigo.digital/api/v1/scopes/" + contextScopeId + "/processes/" + contextProcessId + "/messages" - -def message = [:] -message["@type"] = "MessageCard" -message["@context"] = "http://schema.org/extensions" -message["themeColor"] = "0076D7" -message["summary"] = "Neue Aufgabe: " + comment - -def section = [:] -section["activityTitle"] = activityTitle -section["activitySubtitle"] = activitySubtitle -section["activityImage"] = "https://smardigo.de/wp-content/uploads/2020/01/smardigo-min.png" -section["facts"] = [ - [name:"Stage",value:cluster.stage], - [name:"Name",value:cluster.name], - [name:"Service",value:cluster.service], - [name:"Mandant",value:tenant.name] -] -message.sections = [section] - -def potentialAction = [] - -def openInSmardigo = [:] -openInSmardigo["@type"] = "ViewAction" -openInSmardigo["@context"] = "http://schema.org" -openInSmardigo["name"] = "Vorgang öffnen" -openInSmardigo["target"] = [smardigoUrl] -potentialAction.add(openInSmardigo) - -if (vorgang_status < 30) { - def approveInSmardigo = [:] - approveInSmardigo["@type"] = "HttpPOST" - approveInSmardigo["name"] = "Server freigeben" - approveInSmardigo["target"] = smardigoMessageUrl - approveInSmardigo["body"] = "{\"message\":\"process-approved-" + contextProcessId + "\"}" - approveInSmardigo["headers"] = [ - [name:"Smardigo-User-Token",value:envSmardigoUserToken] - ] - potentialAction.add(approveInSmardigo) -} - -message.potentialAction = potentialAction - -message \ No newline at end of file diff --git a/smardigo/provisioning/script/external-task-mock.groovy b/smardigo/provisioning/script/external-task-mock.groovy deleted file mode 100644 index 91b1368..0000000 --- a/smardigo/provisioning/script/external-task-mock.groovy +++ /dev/null @@ -1,24 +0,0 @@ -/**************************************** - insert process variable values start -*****************************************/ -def processVariables = [:] -processVariables.result = creation_user_id + " is not a cat" - -/**************************************** - insert process variable values end -*****************************************/ -/**************************************** - insert local variable values start -*****************************************/ -def localVariables = [:] - -/**************************************** - insert local variable values end -*****************************************/ - -def result = [ - processVariables:processVariables, - localVariables:localVariables -] - -return result; \ No newline at end of file diff --git a/smardigo/provisioning/script/initialize-connect-features.groovy b/smardigo/provisioning/script/initialize-connect-features.groovy deleted file mode 100644 index cf66253..0000000 --- a/smardigo/provisioning/script/initialize-connect-features.groovy +++ /dev/null @@ -1,10 +0,0 @@ - -def parameters = [:] -parameters["default"] = "'1'" - -def defaultFeatures = datasources.query("connect-features").processScope(contextScopeId, contextScopeTag).parameters(parameters).list(); - -def features = [] -defaultFeatures.each { val -> features+= val.key } - -features \ No newline at end of file diff --git a/smardigo/template/process/primary-process.bpmn b/smardigo/template/process/primary-process.bpmn index 1b330be..c41bfb5 100644 --- a/smardigo/template/process/primary-process.bpmn +++ b/smardigo/template/process/primary-process.bpmn @@ -40,15 +40,6 @@ - - - - - - - - - diff --git a/smardigo/wordpress_portal.sql.gz b/smardigo/wordpress_portal.sql.gz index 3c9d9be2da609096d51d0d67be4a6c92ceb37a7b..df8fe72b95e00842275d094ffdf005182a9f0b4b 100644 GIT binary patch literal 73266 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
k=nfdv5!vyA5iI?36 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�>hj#RQ>D@QB&(E&t1JPZAK?^fBf7Hs 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¿?f*LdCnH1%x!P8zKp0^J#5# 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

-XXZKopc?a-I(vB#)JsZ5>mui-t#LldUzEJ63Q7 z+R#=a_17A9>k6ONd~j73v*aRb5B!o6qm4%scKLN#7uEOP_D-qBWf(&`wq_*(jInpB z2Y}t?dyllO$W6&7SNl(ndpeqWxn9f#`NXb>cvgxmf#OenAcC0A)Zvf)=Snz@MR?k5 zC`cQ=BK)>dSjQ*$W{_lXvoVb~5T#Ef^2B|F!lwJ~g(}n}=Mh^FE2iT&qg$^>A5>UV z0D3~Sm-SFKO8>58XV+z6S-q_CH4|ikfV*yiDdKkV#f%#-4MWq%X;By$J|xZnyn<=dbe0g zA=T((mhrXgC7kh4-&hc#7_(u)rz^J}5l5=TwqwlSUSHLfO{|L+P^}AD27eO&)6wW; zf1g6LCTAPbv^|BuD%)6aP*=Fb5u4r8ox`{&=O(1j6n0=Z4m64ww$VKw8xyz*g9*Z^ zYj)@@kchS(F6k=2 z(L~}E2m_u5o*MRXx#zL727rRToS*1GYtq|k%O@;eLE8`d*ZOAoY4|g1p^0=achcU` z-0XD;KYsm0(FYm{?$ze6p! z@5u41D{8Pd+4EOesA-lyW>AqxV^I?JsSo9KC9TYC(_Nq;4B=6=7$NLZ;vd@f&_9x+ zNTCy7M2_4jQ7%h12RL)N8+jsnjq8gmMI~__VApSv$KHJ}{;{5Qbd47a;VB7MflWy+ z>0Spwv-a)%51aMM4e@Sh`jUr`0M=uoZV$<+?W{khh4bg!f6iHVe!f^;W#ez#*@xdM zLP44T_V+K&pFNs?`n+f#{qvvJpPj!vzu#29tN-**tM9&AUOk!R4uUN%MxXbO?wy?7+y6U^KED;E?RS19!RP%x2fJjGzb^AR+pV4(S0oB( z*{J!X$k9)XBmBf2q`T^%7_LWMc`~sZQ@4{IdW~}p5U+5nGzH>l#6`pXbJLtO1XjS(nHH8J zu>r$xXLTAA!ebkewy(iXE(s4yc1d5+p(RCrW0d3`7|~K1q_jECE0sc1kp}p$<^^|G zgCfH~rpp?hVd)g_5(&BWZl1c?RVEvi=>V;QRbJvS?OKJ`D4%`4+t81X+gyMzkmv#^ zG3(-uT4(s&YN+DpZ7;C%x z;0u7cvwT^;EvMXfX87pGP_~jMYoWN{dP&-zHC|d~&vG; z>LkVt=+Dqfm(YUK7RpAC>PT+298X#AmJ80%q12gfZb0fE5jG(8&wbQ@gm~}Q#UxKY@3eT6ONAAWsj@3ZHi`ZJq24+0 zQ!TE}a2T_ooQm_hhZFc+AytFRveE)oH}3VK6G)ru3_w^Hv%UyGLVZ0cw~=fLe7#)? zq2zf>@40C`73vDW`KhiK=D|k-*Ro6hJ*jh4M)GqlSfp*d7S8`bewW#_llfx*2D_?F{fxrInV`9Z&o-)L)qW~ zvPPdxa-KU~e_4_ju`5FJParxMEE6|y#m-=#jc;s{Yr;B+oU)arLcm_$NDMqKLMQ3Q zjEH&ZWRv25rDf0eFVU$4Hm^{2ID5z0kOOMapq*GvfQRe5KYRMgr}kdpenG|%b0nZa zX{h^&X5vgrhG+1B8e{7F?mBSd9ILgaqwLjn<1oF(;k*3Pn#iNYd?cwnHh3iHEWn8n z!on+Z@Gwa)tuf+uOm6S-jL#_&7tSI9)KuRr5p&-h0-1vwlK2UNA?GK^^txCnK|yTI zSNkquB@1p1Rbvg)bO4}2I^9Xp-C*6!_$4C+7gh`d*>+rtBO|Rb;0xm@hQTx;pTczw zYh}yE@9&eeaVW{BT;|N?ER1A0Vhz?Pc~qB^QuGJ-v~5I4|Mlu#cW1y zu7(}gNbT`3xPxV9F(lgi&9)&^6m_c#`0q`nsvV|h+N~=wSRygM#aX*BFZI%UsRraL zYW;I@Q+HZ0u^($?OPK-}OZ)B{+cIxtz(^oO2aqb>7}}syNl}TDM@N@c8mvpocX;Ni zCAYnE=DD5RG|F&%{%!U$Wt;&mHN(k@J)~v`%k{`@?wkirOTxjmv@2+m^|tkF9P)0r zjmP`!#c8ciCc?DEsI1S@jmx)0%L%}Zy<8bdIU5i|kp}3dBg%BW0z*Cr$44OmospAE zUdM2m@G>o^66hmaMJxl8%bAi;vA3W1G|B>`gE>I`0YH!lxfoZa6?$8(i@kaZ7LG)Z z)C6R#h$KU|I4~c$C3lSa{aFWQq>p(Sk* zGmOpMBOGL=Aa-mXtRYX*t!;q5E6$=RbSov8uwG7-MUU^KmVlG$blV1jiATzDH46FD zFMpRn->xJCxfPX!ID{s?<%*c8Fk_GRQ?}bvlbMqa1?RKgRn7QAB+LC?e!5Pjs2JY{ z3q0wJomGfhxUF045Gq(dyIO~(i)!!W=Hs;BgX6!yEcDya19kV; zk%m4c!kSm7kKhke8Q)9JwPYXrdCzEk^708k5B%=>P$I zUoyz?c^1Z=Pn4lMkZ;7jNjD7|{;!;mHFd^{Bsi@se8kGvke`m=(RXPJ8ar0%eMNu@ zb~Mr1kgBvw@ULg3H0Gl*O1E|C0Sugxuvn0Ni0h9<(Lj-;C zkpk2kOS?XAb>A5?d?`DZbnU!21VG(Mp`6)iJu~k0`)BchPVVfFzg^8gZrjCg z4}fSP;Uv8NJZYEXe_hsaO^QcoRGf|Z16RADi1(VRFN97N6+7DxP`D4k3bnhu?Au?ta)x`;ZUS z@RrMqE-M$zv)yQ(M<`SZ!rXJo(8h;az**ojMT4WTO$m6UK(mjN zrxLFzmhP>ZD-Gm#&YTW&#V5M@oS0Jd4G+xyvWZ}ba&av&suoj zmf0s-+ejM^Pkj8ves!coj_)u~B{fYf1A&?*GS6thJ5oxR%|E z@jdRDr7c1_a@~?|Nx0k?E(3m#+ZwWQC?gJu83U3Y=?@@C82)bbZG!S@FA*!i7pq9eel_$fMktSk zn%8bpb{IxhyKanRB z&1LIe9*p+&uT6dJ@Y3A%>-fstZ5~B;<)ool|Lw22;kpj}!tcG}zVx@iE46=FNk&_g z*zg8CcUy&ZGY8t62u@I}3U@2q@v&3qSY~{2xYV1_7#nW1iH{RV>SgHcKx(2ve*Dw% zEGnI>l>F_5_?WI!h?7NslkY_59ousW91~m1=x-E0sSnO>vdueQ-r*n0QBb5{Kj-oX zvFZF2a|C9qIwSHh(LWFC>Mwu(w@!(>+}@W4$^fiJ6x04`ZA3WOa}WNjGf}YqR!PXV zGHO{RaNxY}Sn8pCJb4|5gYYQfU5Z4KvRPvvPd$_m|bdlOH=lOD?g` z(3L-bPUrO3k<&Ri#9IO&=JRq{wD+8!t<5)|W(%QvjLhvQzHI=S&b+=4BoSKUun3%e z6dszH*Z7w||L^Q}fa3c^s`Zk05AL45tqGu`lPGoK>%Y+A-uk}7(~~>LZ)@u3;OOYp z6R;+$bk2Q7VkgvI#d!?d=X9dm%nISOo`tfw&>eUqTP)3k?$&TS{MKiO4o;5ukC`6& z=y81m=9?Kx>hgDn&@lv^^Wh_%YNAt>rYz=R3hRFq=&KqIXNE#;{VsreUX&~6WWE$s zBTt!t!tTc1g-qq3W50EKG**O3w|FawyO78^;2Qyj=X=F@D_-mqz;GO z8qO5Ba&Bc)APx_P ze%WOkrEf9L8juBU?Xfes5TW>Q|Mh?UKg7DfUp8}K(1%Zn$=qz4`AWJ0B8@gBOgZXd zonXg|(`YAo<@$I9?6#UP2pVfT?AhxBZh%1~3QM6&i~Hq;ftH2owXvb}$+?Y-TD{Zf<t<#!1z4JaeR5 ze(rn#`-OW#h2*B;=q2A~-+h;?%B&*X_^?w%OWlX5Y@M5^0#V=d7pjeJA!81)URQv~8CO+-~5AyMJGC{3du!kPZ`!@ayy}-FN@DET=UVBn(SLz{Hg2E-v&e8|~|`mI)ug zchd>vE~fIw3DZwFD)*mi1;4;iNF49;VxCPm0h&UX-Pv*CK7U{7C;9;#L$^d?NxeVm z4bgsunbiGzPZ4G4;Wa^Ff z(0Ax$SMGL&G1QY>xcD(bif>87)jO9W2qSPsqMX;gcBe{1sQA+U6xnmQY$DNbHq-so zw`H~If_vrXz%C@|kLU>y1i^{IbN|J`CW9xb)~yZtW_V75ih8PC5e7T986KMFY)a@d zArJQagAq7h3~~05y}BAH2Vsb^-n4NfL6acz3&Dvr(KhI)*Sz_Z>0(d>uwzcqsgpzV zn)K02H}gPqybpGqn88h6l;-xL)EOB-QrKhXgPv=WG=lg9{gPCF(d}BnI2wPS;PhYX z2BvbqJplAxU<7Ue{Yp$P?f{&tHoK^cE)u2`l%ktEbD7JcP9vE!YuSTW6c~#M7qB!=t^% zwAQ%cByY>SdQ7bTL?pT992XcZfSUk|k`G$#pzzps>-xLb+qpJ1FhNo>L2jsU0)2`> z4QiQIe{f@w?0$Js@br~J?GJjm4i3g!2~r&IDBjS!kc^dbcsSqKVsih*EiZkP&Z!Mf z>cK&J;Pl|(LHeyTt1*2$`a`~wksk)8G4{tUdA2iqzD5vD*vo>mnOawG92M*3IoQzBegvp20qad6^nLj!Xd!ZoH&-)EH~_Pz ztkLUK_7%-1R{7!1VE5Q!17!(;|64BJM5s&%?KC>IM**SB!-;Zo=5ugdA3}ZLa+&X z*H~MULrEs67p<6S$+vEE;J4MrafA`ANF4|IQN2)o#A)Q7R8aDEf?yQ(O}&XRRJ#!l z&i1-;C4Qt`yto-~RpPY~x``gH=kDXeP!}`9GnUxjU>+$wH&bqZ!ih zx|UEPnP%yC&Nae8OqU>BCot_e^L} zQG+x^AREjxFj-1fB8@p+1Zl5?c5zl2AMqGDMwnytDFpny>^@E&1Cps&>5?Hb<@OnU z#Y2;oRV;4r+@gG1c8}K+27D}z?#^D@Oyeq=<$Ubi#$u7TlN^Ofb5bq@B2UVp0h=g&3*ZHXJ@E`lGLkG|Gd< zX7RL1PHuB{-r{x9Xb)_Rg8%dxbkw8EPt?;LC7%ida_l&m$bBjq=Sy-_Drt+}rg%JW zJDHf|3&bOF?{_wf7M)Z(BA2XjVNKh@$mnE2+?HlTzvCwmhX-zP7iEYtqYIkd8PxbfC9+ohU*xRwm zFXN6r)G7nEbNE`RtI(jWeA3(2J#G#u7>a~!P@&Xl(K5qZ!wTb9Q!+k%{(O(GPM<}C z^t6nCc~&hX{rB%493~jSU|*v7q4B6KWe&6L&BM-ad9V-N1gy$13ZZBOYZkWGNwXv? z?%bL^`qJ_lr~JrjnLPO9xttM771L9wlw2cAl>BpDFU4)<@GR^T;nsx;pl< z%dqp@a_Ro-eOo{kIJEIph;0#l_JyWP1kSR${ z80A6+{_3f%?bz|+cY}O-rF8&(2cjo!U+QBm&gsw4PpinDp+J*FnBh(f$&BqaYTV~L ze0<=<%F7K?Zm3C;uNKZKg0L|6LX@k}CL|og_SK$m)W4vJf?-lHOtg@C0>Lfxz|=Rr zgo22qN4!J5D%DpQg#Vi}NSdsfUWv7%0AbSO5q-P|OVDbN3r6qQSVh@;V$d3<)OsYo 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
#B}MKE}afSc+i)vAQAx55&8k6QIM`fbeKE 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 diff --git a/tasks/pmci_set_default_variables.yml b/tasks/pmci_set_default_variables.yml new file mode 100644 index 0000000..bb726be --- /dev/null +++ b/tasks/pmci_set_default_variables.yml @@ -0,0 +1,29 @@ +--- +- name: "Setting pmci default variables" + ansible.builtin.set_fact: + ansible_ssh_host: "{{ stage_server_domain }}" + tenant_id: "{{ tenant.key }}" # legacy paramater, backwards compatibility + cluster_name: "{{ cluster.key }}" # legacy paramater, backwards compatibility + current_realm_name: "{{ tenant.key }}" # legacy paramater, backwards compatibility + management_base_url: "{{ stage }}-management-01-connect.{{ domain }}" + +- name: "Setting pmci connect variables" + ansible.builtin.set_fact: + connect_version: "{{ data.connect.version }}" # legacy paramater, backwards compatibility + connect_client_admin_username: "{{ data.connect.admin.username | default(cluster.key + '-connect-admin') }}" # legacy paramater, backwards compatibility + when: + - data.connect is defined + +- name: "Setting pmci wordpress variables" + ansible.builtin.set_fact: + connect_wordpress_admin_username: "{{ data.wordpress.admin.username | default(cluster.key + '-wordpress-admin') }}" # legacy paramater, backwards compatibility + connect_wordpress_admin_password: "{{ data.wordpress.admin.password | default(cluster.key + '-wordpress-admin') }}" # legacy paramater, backwards compatibility + wordpress_connect_username: "{{ data.wordpress.connect.username | default(cluster.key + '-wordpress-connect') }}" # legacy paramater, backwards compatibility + when: + - data.wordpress is defined + +- name: "Setting pmci database variables" + ansible.builtin.set_fact: + database_backup_file: "{{ data.database.backup_file }}" # legacy paramater, backwards compatibility + when: + - data.database is defined diff --git a/templates/wordpress/config/config.ini b/templates/wordpress/config/config.ini new file mode 100644 index 0000000..0f0134d --- /dev/null +++ b/templates/wordpress/config/config.ini @@ -0,0 +1,5 @@ +file_uploads = On +memory_limit = 256M +upload_max_filesize = 64M +post_max_size = 64M +max_execution_time = 600 diff --git a/templates/wordpress/data/plugins/index.php b/templates/wordpress/data/plugins/index.php deleted file mode 100644 index 6220032..0000000 --- a/templates/wordpress/data/plugins/index.php +++ /dev/null @@ -1,2 +0,0 @@ - to hosts" - add_host: - name: "{{ stage }}-virtual-host-to-read-groups-vars" - groups: - - "stage_{{ stage }}" - changed_when: False - -############################################################# -# Creating inventory dynamically for given parameters -############################################################# - -- hosts: "{{ stage }}-virtual-host-to-read-groups-vars" - serial: "{{ serial_number | default(1) }}" - gather_facts: false - connection: local - - pre_tasks: - - name: "Import autodiscover pre-tasks" - import_tasks: tasks/autodiscover_pre_tasks.yml - become: false - tags: - - always - - tasks: - - name: "Add all servers for stage {{ stage }} to inventory" - add_host: - name: "{{ item.name }}" - groups: - - "stage_{{ stage }}" - - "{{ item.service }}" - stage_server_infos: "{{ stage_server_infos }}" - changed_when: False - with_items: "{{ stage_server_infos }}" - -############################################################# -# Updating monitoring for all servers -############################################################# - -- hosts: "{{ stage }}-prometheus-01" - serial: "{{ serial_number | default(1) }}" - remote_user: root - vars: - ansible_ssh_host: "{{ stage_server_domain }}" - - tasks: - - include_role: - name: prometheus - tasks_from: _update_config - - include_role: - name: prometheus - tasks_from: _reload_config - -############################################################# -# Sending smardigo management message to process -############################################################# - -- hosts: "{{ stage }}-virtual-host-to-read-groups-vars" - serial: "{{ serial_number | default(1) }}" - gather_facts: false - connection: local - run_once: true - vars: - connect_jwt_username: "{{ management_admin_username }}" - - tasks: - - name: "Sending smardigo management message to <{{ shared_service_url_management }}>" - include_tasks: tasks/smardigo_management_message.yml diff --git a/update-service-state.yml b/update-service-state.yml deleted file mode 100644 index 2f8df41..0000000 --- a/update-service-state.yml +++ /dev/null @@ -1,89 +0,0 @@ ---- - -# Parameters: -# playbook inventory -# stage := the name of the stage (e.g. devnso, qanso, prodnso) -# tenant_id := (unique key for the tenant, e.g. customer) -# cluster_name := (business name for the cluster, e.g. product, department ) -# cluster_features := (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) -# process_instance_id := (process instance id of the management process) -# smardigo_management_action := (smardigo management action anme of the management process) - -############################################################# -# Creating inventory dynamically for given parameters -############################################################# - -- hosts: localhost - gather_facts: false - connection: local - - pre_tasks: - - name: "Import constraints check" - import_tasks: tasks/constraints_check.yml - become: false - tags: - - always - -# add virtual server to load stage specific variables as context - - name: "Add <{{ stage }}-virtual-host-to-read-groups-vars> to hosts" - add_host: - name: "{{ stage }}-virtual-host-to-read-groups-vars" - 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_service] + cluster_features }}" - with_sequence: start=1 end={{ cluster_size | default(1) }} - changed_when: False - -############################################################# -# Stopping services for created inventory -############################################################# - -- hosts: "stage_{{ stage }}:!{{ stage }}-virtual-host-to-read-groups-vars" - serial: "{{ serial_number | default(1) }}" - remote_user: root - vars: - service_state: up - ansible_ssh_host: "{{ stage_server_domain }}" - - pre_tasks: - - name: "Import autodiscover pre-tasks" - import_tasks: tasks/autodiscover_pre_tasks.yml - become: false - tags: - - always - - roles: - - role: service_state - vars: - service_id: "{{ connect_id }}" - when: "'connect' in group_names" - - - role: service_state - vars: - service_id: "{{ wordpress_id }}" - when: "'connect_wordpress' in group_names" - -############################################################# -# Sending smardigo management message to process -############################################################# - -- hosts: "{{ stage }}-virtual-host-to-read-groups-vars" - serial: "{{ serial_number | default(1) }}" - gather_facts: false - connection: local - run_once: true - vars: - connect_jwt_username: "{{ management_admin_username }}" - - tasks: - - name: "Sending smardigo management message to <{{ shared_service_url_management }}>" - include_tasks: tasks/smardigo_management_message.yml diff --git a/upload-database-dump.yml b/upload-database-dump.yml index d227d8d..c188c61 100644 --- a/upload-database-dump.yml +++ b/upload-database-dump.yml @@ -18,47 +18,26 @@ # Creating inventory dynamically for given parameters ############################################################# -- hosts: localhost - connection: local - gather_facts: false - - pre_tasks: - - name: "Import constraints check" - import_tasks: tasks/constraints_check.yml - become: false - tags: - - always - - tasks: - - name: "Add maria servers to hosts if necessary" - add_host: - name: "{{ shared_service_maria_primary }}" - groups: - - "stage_{{ stage }}" - - "{{ item }}" - changed_when: False - with_items: "{{ cluster_features }}" - when: item in ['connect_wordpress'] - -############################################################# -# Uploading database backups for created inventory -############################################################# - -- hosts: "stage_{{ stage }}" - serial: "{{ serial_number | default(1) }}" - remote_user: root +- name: 'apply setup to {{ host | default("maria") }}' + hosts: '{{ host | default("postgress,maria") }}' + serial: "{{ serial_number | default(5) }}" + become: yes vars: ansible_ssh_host: "{{ stage_server_domain }}" pre_tasks: - - name: "Import autodiscover pre-tasks" - import_tasks: tasks/autodiscover_pre_tasks.yml - become: false + - name: "Check if ansible version is at least {{ ansible_minimal_version }}" + assert: + that: + - ansible_version.string is version(ansible_minimal_version, ">=") + msg: "The ansible version has to be at least {{ ansible_minimal_version }}" tags: - always roles: - role: upload_local_file - when: - - "'connect_wordpress' in group_names" - - "upload_file is defined" + vars: + upload_owner: "{{ backupuser_user_name }}" + upload_group: "{{ backupuser_user_name }}" + upload_file: "smardigo/wordpress_portal.sql.gz" + uploaded_file: "backups/wordpress_portal.sql.gz"