Skip to content

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.

  1. Environment Set Up
    Confirm platform requirements and tooling, including Kubernetes, Helm and Istio

  2. Identity Set Up
    Deploy Keycloak and OIDC for managing identity and access

  3. Build Components
    Deploy main Helm charts for the IA Node, Management Node, Federators and Kafka

  4. Run & Validate
    Start a federation topology and validate communication between Federator clients and servers using a test pod

  5. 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.