Install Semarchy xDM on Kubernetes
You can install Semarchy xDM into a Kubernetes cluster using a Helm chart. The default configuration establishes a high-availability setup, featuring one active node and multiple passive nodes, as per xDM high-availability terminology.
Prerequisites and requirements
You will need the following to install Semarchy xDM on Kubernetes using a Helm chart.
-
A Kubernetes cluster and appropriate access rights: ensure you have a functional Kubernetes cluster set up, whether on premises or with a cloud provider like AWS, Azure, or GCP. Confirm you have the necessary permissions and access rights to deploy resources to the Kubernetes cluster.
-
Helm installed: install Helm, the Kubernetes package manager, on your local machine or the machine from which you plan to deploy the Helm chart. For more information, see the official Helm documentation.
-
(Optional) SSL certificate: if enabling SSL, ensure you have a domain and necessary configurations for certificate issuance.
The Helm chart integrates with LetsEncrypt to generate signed certificates automatically using the HTTP01 solver.
Architecture

The ingress exposes a single IP address externally. Ensure to register two DNS names against this address—one for the active service and another for the passive service.
Installation steps
-
Access the Helm chart on GitHub.
-
Follow the example sequence below to install xDM, adjusting parameters to match your configuration.
-
Install the
CustomResourceDefinitionresources.kubectl apply -f https://github.com/cert-manager/cert-manager/releases/download/v1.13.2/cert-manager.crds.yaml -
Install xDM using Helm.
helm install xdm . \ --create-namespace \ --namespace dev \ --set "cert-manager.enabled"=true \ --set acme_registration_email=john.smith@contoso.com \ --set active_host_name=xdma.mydomain.com \ --set passive_host_name=xdm.mydomain.com \ --set semarchy_setup_token=my_secret_token \ --set xdm_repository_driver=org.postgresql.Driver \ --set xdm_repository_url=jdbc:postgresql://<cluster-ip-address>:<cluster-port>/semarchy_repository \ --set xdm_repository_username=semarchy_repository \ --set xdm_repository_password=semarchy_repository \ --set xdm_repository_ro_username=semarchy_repository_ro \ --set xdm_repository_ro_password=semarchy_repository_ro -
Retrieve ingress IP address.
kubectl get ingress xdm-ingress -n dev
-
|
Security considerations
The provided Helm chart leverages Kubernetes Secrets in the deployment of xDM to manage sensitive information securely, with the option to enhance security through integration with external secrets management tools. |