Helm charts
Purpose
The Integration Architecture (IA) Node is an open-source digital component developed as part of the National Digital Twin Programme (NDTP), to support managing and sharing information across organisations. This guide will show you how to perform a first-time deployment of the IA Node (Integration Architecture Node) using Helm charts. This includes the deployment of a Management Node, Federators and supporting identity and access management tools. This guide is aimed towards deployments in local Development environments and should NOT be used as Production without modifications.
For a conceptual overview of how the Node works, see Concepts: IA Node.
For the source developer documentation, see Helm Chart README on Github.
As of 17/03/2026, this guide applies to the 'develop' branch of https://github.com/National-Digital-Twin/helm-charts/.
Outcome
By completing this guide you will:
- Run a local Kubernetes server with an Istio service mesh
- Run a Keycloak instance to enable OIDC and OAuth2
- Run a MongoDB server to support Attribute-Based Access Control (ABAC)
- Deploy Apache Kafka and Strimzi for data streaming
- Set up a Management Node
- Set up Server and Client Federators
- Test secure data transmission between Server and Client
Guide Structure
The guide follows the same staged lifecycle as the IA Node documentation. Each section introduces and validates a distinct capability.
-
Environment Set Up
Confirm platform requirements and tooling, including Kubernetes, Helm and Istio -
Identity Set Up
Deploy Keycloak and OIDC for managing identity and access -
Build Components
Deploy main Helm charts for the IA Node, Management Node, Federators and Kafka -
Run & Validate
Start a federation topology and validate communication between Federator clients and servers using a test pod -
Reference
Topologies, configuration reference, troubleshooting guidance, and operational checks.
Prerequisites
Platform
- Linux, or Windows with WSL2 only
- Run from the WSL filesystem (e.g.
~/src) - Do not run from
/mnt/c(Docker volume semantics may cause permission and performance issues)
Required tools
- Docker CLI or Docker Desktop
- Java 21
- Git
- curl
Assumptions
- Familiarity with deploying and monitoring containerised applications using Docker and Kubernetes
Next step
Proceed to Environment Set Up to confirm your platform and tooling are ready.