Installation

Tools & Dependencies

Before installing the charts, you will need a few tools installed on your machine.

Windows (PowerShell)

Tip: winget is the easiest way to get these tools on Windows 10/11.

  1. Install Kubernetes CLI (kubectl)

    winget install Kubernetes.kubectl
  2. Install Helm (Package Manager)

    winget install Helm.Helm

macOS

Tip: We recommend using Homebrew to manage dependencies.

  1. Install Kubernetes CLI (kubectl)

    brew install kubectl
  2. Install Helm (Package Manager)

    brew install helm

Linux

Note: These commands assume a Debian/Ubuntu-based distribution. For others, please refer to the official Kubernetes and Helm documentation.

  1. Install Kubernetes CLI (kubectl)

    # Install kubectl
    curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl"
    sudo install -o root -g root -m 0755 kubectl /usr/local/bin/kubectl
  2. Install Helm (Package Manager)

    curl https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | bash

Verify Installation

Ensure the tools are installed correctly by checking their versions:

kubectl version --client
helm version

Cluster Setup

1. Kubernetes Cluster

You will need a running Kubernetes cluster (Version 1.23+). If you don’t have one, Docker Desktop (with Kubernetes enabled) or Kind are great options for local development.

2. Cert-Manager

These charts rely on cert-manager for automatic SSL certificate generation (specifically for the Gateway Network).

  1. Install Cert-Manager

    Install it directly from the official manifest:

    kubectl apply -f https://github.com/cert-manager/cert-manager/releases/download/v1.14.4/cert-manager.yaml
  2. Wait for Readiness

    Wait for the pods to be ready in the cert-manager namespace:

    kubectl get pods -n cert-manager

3. Cluster Issuer

The charts default to looking for a ClusterIssuer named cluster-issuer.

Caution: Without a valid ClusterIssuer, the Gateway Network certificates will not be generated, and redundancy/scaleout will fail to connect.

For local development or internal networks, a Self-Signed issuer is the easiest way to get started.

  1. Create Issuer Manifest

    Create a file named issuer.yaml with the following content:

    apiVersion: cert-manager.io/v1
    kind: ClusterIssuer
    metadata:
      name: cluster-issuer
    spec:
      selfSigned: {}
  2. Apply to Cluster

    kubectl apply -f issuer.yaml

Installing the Charts

Adding the Repository

Add the Helm repository to your local client:

helm repo add ignition-charts https://apollogeddon.github.io/ignition-helm
helm repo update

Installation Options

Failover (Standard Redundancy)

This deploys a standard Master/Backup pair.

helm install my-ignition ignition-charts/ignition-failover \
  --set ignition.secrets.GATEWAY_ADMIN_PASSWORD=mysecretpassword

Scaleout (Frontend/Backend)

This deploys separate Frontend and Backend clusters.

helm install my-scaleout ignition-charts/ignition-scaleout \
  --set backend.secrets.GATEWAY_ADMIN_PASSWORD=mysecretpassword