This guide combines the steps for Cluster Setup, Network Setup, and Installation for Linux users.
This guide provides instructions to set up a Kubernetes cluster required for running the Umbrella Chart.
You can also follow the guide with the help of the tutorial video.
setup.3.mp4
Warning
The video may not be displayed depending on your browser and browser version, try using different one if you are not able to see it. You can also dowload it from the previus link.
| CPU (Cores) | Memory (GB) |
|---|---|
| 4 | 6 |
The above specifications are the minimum requirements for a local development setup. Adjust resources based on your workload for larger or production environments.
Start a Minikube cluster with the following command:
minikube start --cpus=4 --memory=6gbThis guide provides instructions to configure the network setup required for running the Umbrella Chart in a Kubernetes cluster.
To enable ingress for local access, use the following command with Minikube:
minikube addons enable ingressMake sure that the DNS resolution for the hosts is in place:
minikube addons enable ingress-dnsAnd execute installation step 3 Add the minikube ip as a DNS server for your OS
The following ingresses are configured and available:
-
Authentication Services
-
Portal Services
-
Discovery
-
Data Exchange Services
-
Additional Services
Proper DNS resolution is required to map local domain names to the Minikube IP address.
-
Open the hosts file you find here
/etc/hostsand insert the values from below.<MINIKUBE_IP> centralidp.tx.test <MINIKUBE_IP> sharedidp.tx.test <MINIKUBE_IP> portal.tx.test <MINIKUBE_IP> portal-backend.tx.test <MINIKUBE_IP> semantics.tx.test <MINIKUBE_IP> sdfactory.tx.test <MINIKUBE_IP> ssi-credential-issuer.tx.test <MINIKUBE_IP> dataconsumer-1-dataplane.tx.test <MINIKUBE_IP> dataconsumer-1-controlplane.tx.test <MINIKUBE_IP> dataprovider-dataplane.tx.test <MINIKUBE_IP> dataprovider-controlplane.tx.test <MINIKUBE_IP> dataprovider-submodelserver.tx.test <MINIKUBE_IP> dataconsumer-2-dataplane.tx.test <MINIKUBE_IP> dataconsumer-2-controlplane.tx.test <MINIKUBE_IP> bdrs-server.tx.test <MINIKUBE_IP> business-partners.tx.test <MINIKUBE_IP> pgadmin4.tx.test <MINIKUBE_IP> ssi-dim-wallet-stub.tx.test <MINIKUBE_IP> smtp.tx.test -
Replace
<MINIKUBE_IP>with the output of the following command:minikube ip
-
Test DNS resolution by pinging one of the configured hostnames.
-
Identify your DNS resolver by checking the contents of
/etc/resolv.conf. -
Update the resolver configuration based on your system:
-
resolvconf: Add the following to
/etc/resolvconf/resolv.conf.d/base:search test nameserver $(minikube ip) timeout 5
If your Linux OS uses
systemctl, run the following commands:sudo resolvconf -u systemctl disable --now resolvconf.service
See https://linux.die.net/man/5/resolver for more information.
-
NetworkManager: NetworkManager can run integrated caching DNS server -
dnsmasqplugin and can be configured to use separate nameservers per domain.Edit
/etc/NetworkManager/NetworkManager.confand enabledns=dnsmasqby adding:[main] dns=dnsmasq
Also see
dns=in NetworkManager.conf.Configure dnsmasq to handle domain names ending with
.test:sudo mkdir -p /etc/NetworkManager/dnsmasq.d/ echo "server=/test/$(minikube ip)" | sudo tee /etc/NetworkManager/dnsmasq.d/minikube.conf
Restart NetworkManager:
systemctl restart NetworkManager.service
Ensure your
/etc/resolv.confcontains only single nameserver:cat /etc/resolv.conf | grep nameserver nameserver 127.0.0.1 -
systemd-resolved: Run the following commands to add the minikube DNS for
.testdomains:sudo mkdir -p /etc/systemd/resolved.conf.d sudo tee /etc/systemd/resolved.conf.d/minikube.conf << EOF [Resolve] DNS=$(minikube ip) Domains=~test EOF sudo systemctl restart systemd-resolved
-
-
Test DNS resolution by pinging one of the configured hostnames.
Once the DNS resolution or hosts file is configured:
- Ensure ingress is working by accessing a service endpoint, such as http://portal.tx.test
For common issues and solutions, please refer to the Troubleshooting Guide.
Make sure to clone the tractus-x-umbrella repository beforehand.
Update the chart dependencies of the umbrella helm chart and their dependencies.
bash ./hack/helm-dependencies.bashNavigate to the charts/umbrella directory.
cd charts/umbrella/❔ Command explanation
helm installis used to install a Helm chart.
-f your-values.yaml|-f values-*.yamlspecifies the values file to use for configuration.
umbrellais the release name for the Helm chart.
.specifies the path to the chart directory.
--namespace umbrellaspecifies the namespace in which to install the chart.
--create-namespacecreate a namespace with the nameumbrella.
Install your chosen components by having them enabled in a your-values.yaml file:
helm install -f your-values.yaml umbrella . --namespace umbrella --create-namespaceIn general, all your specific configuration and secret values should be set by installing with an own values file.
Choose to install one of the predefined subsets (currently in focus of the E2E Adopter Journey):
The Data Exchange subset enables secure data sharing between participants in the network.
helm install -f values-adopter-data-exchange.yaml umbrella . --namespace umbrella --create-namespaceTo enable an additional data consumer (dataconsumerTwo), follow these steps:
-
Update the
values-adopter-data-exchange.yamlfile to setdataconsumerTwoas enabled:dataconsumerTwo: enabled: true
-
Apply the changes by upgrading the Helm release:
helm upgrade -f values-adopter-data-exchange.yaml umbrella . --namespace umbrella
The Portal subset provides a user-friendly interface for participant onboarding and management.
helm install -f values-adopter-portal.yaml umbrella . --namespace umbrella --create-namespaceAfter successfully deploying the Umbrella Chart, you can explore the following guides to continue your journey:
-
Guides:
- Data Exchange Guide - Learn how to provide and consume data.
- Portal Usage Guide - Instructions on how to use the Portal.
- Database Access - How to access the databases.
- Observability - Monitoring and logging.
- Hausanschluss Bundles - Information about Hausanschluss bundles.
- External Secrets - Managing external secrets.
-
Secrets Management:
- Secrets Overview - Comprehensive guide on secrets management.
This work is licensed under the CC-BY-4.0.
- SPDX-License-Identifier: CC-BY-4.0
- SPDX-FileCopyrightText: 2025 Contributors to the Eclipse Foundation
- Source URL: https://github.com/eclipse-tractusx/tractus-x-umbrella