Getting Started
Getting started with the Ignition Helm Chart is easy. You'll need a few prerequisites to get started.
- Helm version 3 or later
- A Kubernetes cluster, v1.29 or higher, and relevant management tools (i.e.
kubectl
)
You can review which context you're currently using (which will be shared by kubectl
and helm
utilities) with:
# List the current K8s contexts in your configuration
kubectl config get-contexts
Make sure to exercise any examples in this documentation on a cluster dedicated to testing!
Examples in this documentation will assume a POSIX shell such as can be found in Linux/WSL2/macOS.
Setting up the Helm repo​
We publish to a traditional Helm chart repository. You can add the repository to your local Helm configuration and refer to it via a helpful name, such as inductiveautomation
.
# Add the IA Helm Charts Repository
helm repo add inductiveautomation https://charts.ia.io
This processes the index.yaml and makes Helm aware of what charts are available and where they can be downloaded.
Verifying Chart Provenance and Signature​
The steps in this section are not required to use the chart; they are recommended to help ensure that the chart you're using is authentic and hasn't been tampered with.
We sign each release of the Helm chart with a PGP keypair from IA Helm Charts <charts@ia.io>
. You can use the public key to verify the authenticity of the chart .tgz file using the steps below:
- Download the public key and inspect:
curl -fsSL -O https://github.com/inductiveautomation/ignition-helm-chart/raw/main/publickey.gpg.asc
gpg --show-keys publickey.gpg.asc
The key should have fingerprint: 7D09D98C884BAE9248186059EFF55DC769C5C70D
- Import the public key and export your current set of public keys to a keyring file (used by Helm):
# Import the public key
gpg --import publickey.gpg.asc
# Export to public keys to legacy keyring format used by Helm CLI
gpg --export > ~/.gnupg/pubring.gpg
- Verify the downloaded chart:
$ helm repo add inductiveautomation https://charts.ia.io
$ helm pull inductiveautomation/ignition --prov
$ helm verify ignition-*.tgz
Signed by: IA Helm Charts <charts@ia.io>
Using Key With Fingerprint: 7D09D98C884BAE9248186059EFF55DC769C5C70D
Chart Hash Verified: sha256:xxxxxxxxx
Understanding Versioning​
The Ignition Helm Chart uses semantic versioning. In the table below, you can find information on the chart versions that are available.
Version Constraint | Ignition Version | Description |
---|---|---|
~0.1.x | 8.1.43+ | Preview, compatible with Ignition 8.1.x |
~0.2.x | 8.3.0+ | Preview, compatible with Ignition 8.3.x |
^1.0.0 (future) | 8.1.43+ | Compatible with Ignition 8.1.x |
^2.0.0 (future) | 8.3.0+ | Compatible with Ignition 8.3.x |
You can use the version constraints shown above to "pin" to a compatible version of the chart for your needs. Without any version constraints applied, the latest version of the chart will be used. Take a look at the docs for Helm commands such as helm install to learn more about using the --version
option. For more information on version constraint syntax, refer to Masterminds/semver.
Reviewing the CHANGELOG​
We maintain a changelog that lists updates to the chart with each new version. It is packaged with the chart under CHANGELOG.md
, but you can also review it online here.
Inspecting the default configuration values​
Each Helm chart comes with a set of pre-defined configurations, called "values". These are stored in the chart under a values.yaml
file and are applied when you install the chart with no additional overrides. Each value is documented with helpful information. The various examples in this documentation will omit these comments for brevity, so make sure you refer to the default values in detail as you configure the chart. The example below shows how you can retrieve a copy of the default values for review:
# Show default values of the chart
helm show values inductiveautomation/ignition
Installing Ignition​
You can install Ignition as a "release" into a namespace of your cluster with the default values like below:
# Install into "demo" namespace
helm upgrade --install ignition inductiveautomation/ignition -n demo --create-namespace
# Change current K8s context to default to "demo" namespace
kubectl config set-context --current --namespace=demo
From this point forward, any further commands (such as ones in this guide) will now default to resources in the "demo" namespace.
Customizing chart values​
Various sections in this documentation may refer to setting specific values directly with an inline mention (e.g. commissioning.edition=standard
). You can apply value overrides to your release in a couple of equivalent ways.
Example 1 - Set values directly via the helm
CLI
helm upgrade --install ignition inductiveautomation/ignition -n demo --create-namespace \
--set commissioning.edition=standard \
--set commissioning.acceptIgnitionEULA=true
This is helpful for iterative testing, but overriding many values on the command line can become burdensome. Instead, consider placing values in a YAML file, such as testing.yaml
:
# testing.yaml
commissioning:
edition: standard
acceptIgnitionEULA: true
Example 2 - Set values via a file
helm upgrade --install ignition inductiveautomation/ignition -n demo --create-namespace \
--values testing.yaml
Uninstalling Ignition​
If you've installed the "ignition" release into the "demo" namespace as shown above, you can uninstall it just as simply.
# Uninstall the "ignition" release
helm uninstall ignition -n demo
By default, Persistent Volume Claim[s] (PVC) will be retained on an uninstall as a safety measure against accidental deletion. If you're doing repetitive testing you can set gateway.persistentVolumeClaimRetentionPolicy=Delete
to have the PVC removed upon helm uninstall
. Otherwise, you may need to remove them manually.