This repository contains the deployment manifests and configurations for the SIMPL-Open Common Components. The deployment is highly configurable, supporting both scalable multi-node environments and an optional local, single-node Kubernetes (e.g., k3s) deployment mode for development and testing.
The Common Components form the foundational infrastructure (including Kafka, PostgreSQL, OpenBao, etc.) that is required by all other SIMPL-Open data space agents (Governance Authority, Data Provider, Data Consumer).
This guide is designed for users who want to deploy the Common Components using ArgoCD.
Before deploying the Common Components, ensure your environment meets the following requirements:
- Running Kubernetes Cluster: A standard multi-node cluster or a local single-node cluster (like k3s). Ensure
MetalLBand an Ingress Controller (e.g.,nginx) are present. - ArgoCD Installed: ArgoCD must be running in your cluster to process the application manifests.
- DNS Routing: A wildcard DNS record (e.g.,
*.common.yourdomain.com) pointing to your cluster's public/ingress IP.
All configuration for the deployment is managed through a single file: ArgoCD/common_components_manifest.yaml.
Open this file and verify or update the values block to match your environment:
-
Namespace Tag & Domain: Update the identifier for your namespace and your base domain:
namespaceTag: common # identifier of deployment and part of fqdn domainSuffix: ds.helsinki.tfds.io # last part of fqdn
-
Agent List: Define the agents that will interact with these common components:
agentList: authorities: - authority consumers: - consumer providers: - dataprovider
-
Single Node / Resource Optimizations: To enable a lighter footprint for single-node deployments, adjust the following:
resourcePreset: low(Disables strict resource requests/limits, allowing pods to schedule on constrained nodes).kafka.ha: false(Deploys 1 replica of Kafka components instead of 3).
-
Monitoring (Elastic Stack): Configure the centralized monitoring stack:
monitoring: enabled: false # set to true to enable monitoring features
- Impact if
false: Skips deploying the heavy Elastic stack (eck-operator, Elasticsearch, Kibana), saving significant CPU and memory (Recommended for single-node). - Impact if
true: Installs the full observability stack for production-grade insights.
- Impact if
Once your configuration is set, you can trigger the deployment using ArgoCD:
kubectl apply -f ArgoCD/common_components_manifest.yamlArgoCD will automatically read the configuration and begin spinning up the Common Components in the specified namespace.
After the Common Components are successfully running, you can proceed to deploy the individual SIMPL-Open agents: