Understand Chart Deployment
This is the description of the Semarchy Data Platform Self-Hosted chart version 1.0.0.
Jobs and Pods Orchestration
When starting SDP Helm Chart deployment multiple jobs and pods are run sequentially until installation is successful.
Here is a description of the global sequence:

Jobs and Pods Descriptions and Communications

Job/Pod name | Tasks Description | Input Needed | Frequent issues |
sdp-log-explorer-service-setup | | Opensearch started opensearch-provider secret Network to opensearch open User and credentials set in Opensearch
| Infinite loop if Opensearch never starts or is not reachable Opensearch is protected with self-signed certificate : Connection Refused Opensearch is not reachable : Unknow Host / Connection Refused Error 403 when permissions or credentials are not correct
|
sdp-semarchy-iam-setup-tf-apply | | |
|
sdp-keycloak-wait-service | | | Infinite loop if Keycloak never starts or is not reachable Keycloak is protected with self-signed certificate: Connection Refused Keycloak is not reachable: Unknow Host / Connection Refused
|
sdp-self-hosted-keycloak-0 | | PostgreSQL and Kafka started Network to Kafka and PostgreSQL open User and credentials already set in Kafka and PostgreSQL keycloak-postgres and kafka-keycloak secret
| PostgreSQL is not accessible Kafka is not accessible Semarchy registry is not accessible Wrong values.yaml according to secret (Unexpected handshake request with client mechanism SCRAM-SHA-512, enabled mechanisms are …) Ensure Kafka is configured with SCRAM, the secret is using the right port, the security protocol is present in the secret, JAAS is configured for broker/listener communication and IP address is accessible from inside the cluster
|

Job/Pod name | Tasks Description | Input Needed | Frequent issues |
sdp-semarchy-iam-finalize-tf-apply | Finalize IAM wiring for the management plane Creates secret keycloak-provider with informations to connect to keycloak (url, username, login, port…)
|
| |
sdp-billing-service-setup-tf-apply | Set up access to billing and keycloak. Generates a keycloak client secret. Creates kubernetes_secret billing-keycloak. Creates Keycloak OpenID client billing_service. Creates a billing_admin role and maps it to the service account
|
| - Keycloak is not started job fails - Secret missing or wrong values.yaml configuration |
sdp-self-hosted-billing-service-xxxx | |
| |

Job/Pod name | Tasks Description | Input Needed | Frequent issues |
sdp-tenant-settings-tf-apply
| Apply tenant settings infrastructure/config (base layer) | | |
sdp-tenant-settings-finalize-keycloak-realms
| Attaches tenant-settings scope to multiple clients: billing-service, sem-admin-ui, sem-di-migration, sem-xdg-datahub, sem-xdg-fe. | | |
sdp-self-hosted-log-explorer-xxx | | |
|

Job/Pod name | Tasks Description | Input Needed | Frequent issues |
sdp-self-hosted-site-admin | | |
|
sdp-self-hosted-user-profile- | | |
|
sdp-self-hosted-welcome- | | |
|

Job/Pod name | Tasks Description | Input Needed | Frequent issues |
sdp-dm-setup-main-tf-apply | Stand up Semarchy xDM backend (DB + SSO integration) PostgreSQL: creates schemas (repository, extensions), enables extensions (uuid_ossp, fuzzystrmatch), and sets grants. Keycloak: creates OpenID clients xdm and xdm_api, many protocol mappers (username, names, email, locale, number/date formats, timezone, company, avatarUrl, realm roles, densityMode, site_id_token, group membership), roles (xdm_admin, xdm_designer, xdm_user), and role/scope mappings. Kubernetes: creates secret xdm-keycloak used by xDM to talk to Keycloak.
| | Any of the prerequisites is not fully installed. Missing DNS on Kubernetes Load-Balancer. (UnknowHost Exception, Connection Refused)
|
sdp-dm-core-active-wait-service | | | |
sdp-self-hosted-dm-core-active- | | Keycloak up and running PostgreSQL up and running Kafka up and running DM access to keycloak from external URL (DNS setup) dm-postgres secret, dm-kafka and opensearch-provider secret
| Wrong values in PostgreSQL secret Access denied or PostgreSQL unreachable Topic authorization failed for topics [topic-user] : Apply ACLS command
|
sdp-self-hosted-dm-setup-dm-auto-provisioning | | PostgreSQL up and running DM active POD up and running dm-postgres-datasource-1 and dm-postgres-datasource-2 secrets
|
|
sdp-semarchy-data-platform-invite-site-admin | | | Job fail if mail user is not well configured SMTP is not well configured Failed to send execute actions email: Error when attempting to send the email to the server
|
Understand Internal and User Communications After Setup
