diff --git a/send-message.yml b/send-message.yml new file mode 100644 index 0000000..9625fcf --- /dev/null +++ b/send-message.yml @@ -0,0 +1,64 @@ +--- + +# Parameters: +# playbook inventory +# stage := the type of the stage (e.g. dev, int, qa, prod) +# tenant_id := (unique key for the tenant, e.g. customer) +# cluster_name := (business name for the cluster, e.g. product, department ) +# cluster_size := (WIP node count for the cluster) +# cluster_services := (services to setup, e.g. ['connect', 'wordpress', ...]) +# 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: "Check if ansible version is at least 2.10.x" + assert: + that: + - ansible_version.major >= 2 + - ansible_version.minor >= 10 + msg: "The ansible version has to be at least ({{ ansible_version.full }})" + + 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_count | default(1) }} + changed_when: False + +############################################################# +# Sending smardigo management message to process +############################################################# + +- hosts: "stage_{{ stage }}" + serial: "{{ serial_number | default(5) }}" + connection: local + gather_facts: false + + post_tasks: + - name: "Sending smardigo management message <{{ smardigo_management_action }}> to <{{ scope_id }}/{{ process_instance_id }}>" + uri: + url: "{{ smardigo_management_url }}" + method: POST + body_format: json + body: "{{ lookup('template','smardigo-process-approved-message.json.j2') }}" + headers: + accept: "*/*" + Content-Type: "application/json" + Smardigo-User-Token: "{{ smardigo_management_token }}" + status_code: [200] + retries: 5 + delay: 5 + delegate_to: 127.0.0.1 diff --git a/smardigo/provisioning/process/simple-connect.bpmn b/smardigo/provisioning/process/simple-connect.bpmn index b2968c6..427d6d6 100644 --- a/smardigo/provisioning/process/simple-connect.bpmn +++ b/smardigo/provisioning/process/simple-connect.bpmn @@ -122,6 +122,7 @@ Variables.userId(authenticatedUserId) Flow_1cvz8xm + Flow_14pzxys Flow_1w2pl97 @@ -523,7 +524,7 @@ Variables.userId(authenticatedUserId) Flow_090j3ro Flow_0yckijr - + @@ -535,9 +536,6 @@ Variables.userId(authenticatedUserId) Flow_1qghkm9 Flow_121fu5x - - Flow_121fu5x - @@ -563,6 +561,22 @@ Variables.userId(authenticatedUserId) Flow_1u7vy0j + + Flow_151ouxn + + + + + + Flow_1cpqveb + Flow_14pzxys + + + + Flow_121fu5x + Flow_151ouxn + Flow_1cpqveb + Shared Service Server bei Hetzner erstellen @@ -745,7 +759,7 @@ Keycloak Realm mit Administrator Account - https://qa-management-smardigo-01-connect.smardigo.digital/#/process/${contextScopeId}/dossier/${contextProcessDefinitionKey}/${contextProcessId} + https://${cluster.stage}-management-smardigo-01-connect.smardigo.digital/api/redirect/process/${contextScopeId}/dossier/simple-connect/${contextProcessId} ${activityTitle} @@ -834,18 +848,31 @@ Keycloak Realm mit Administrator Account Flow_18kjr7f + + + + + + + + + + + + + - + @@ -1117,6 +1144,9 @@ Keycloak Realm mit Administrator Account + + + @@ -1160,7 +1190,7 @@ Keycloak Realm mit Administrator Account - + @@ -1295,9 +1325,6 @@ Keycloak Realm mit Administrator Account - - - @@ -1307,6 +1334,15 @@ Keycloak Realm mit Administrator Account + + + + + + + + + diff --git a/templates/smardigo-process-approved-message.json.j2 b/templates/smardigo-process-approved-message.json.j2 new file mode 100644 index 0000000..dda4028 --- /dev/null +++ b/templates/smardigo-process-approved-message.json.j2 @@ -0,0 +1,5 @@ +{ + "message": "process-approved-{{ process_instance_id }}", + "localVariables": {}, + "processVariables": {} +} \ No newline at end of file