Skip to content
The Things Stack documentation home
Getting Started Concepts Cloud Enterprise Integrations API Hardware
Getting Started Concepts
Cloud Enterprise
Integrations API Hardware
Get The Things Stack

    Recent searches

      Popular pages

      • Getting Started
      • Adding Gateways
      • Adding Devices
      • Payload Formatters
      • Webhooks
      • Authentication

      No results for “”.

      • Check the spelling, or try fewer or more general words.
      • Ask the community on The Things Network Forum
      • Contact support
      ↑↓ to navigate ↵ to open Esc to close

      The Things Stack Enterprise

      • Overview
      • AWS
      • Kubernetes
        • Generic
        • Azure
          • Architecture
          • Prerequisites
          • Configuration
          • Deployment
          • Upgrading
          • Troubleshooting
      • Docker
      • The Things Join Server
      • Manage The Things Stack

      Upgrading

      Updated 23 June 2026 Edit on GitHub
      Copy page
      • View as MarkdownThis page as plain text
      • Open in ChatGPTAsk questions about this page
      • Open in ClaudeAsk questions about this page

      This page describes the steps for upgrading The Things Stack on Azure Kubernetes Service.

      Database Migration

      The Things Stack database schema is managed between minor versions using database migrations.

      Note:

      User are informed of required migrations for each version via the Release Notes. It’s mandatory to run required database migrations for The Things Stack to function properly.

      To migrate the database during an upgrade set the respective Terraform variables to true.

      Service Variable
      IS is-db-migrate
      NOC noc-db-migrate

      Note:

      For example to migrate Identity Server and Network Operations Center databases run the following command.

      $ terraform apply -var='is-db-migrate=true' -var='noc-db-migrate=true'
      

      Kubernetes version upgrade

      AKS Kubernetes version upgrades have to be performed sequentially for each minor version. For example to upgrade from 1.25 to 1.27 it’s necessary to upgrade to version 1.26 first as an intermediate step. For more information refer to the official documentation.

      Upgrading from Helm chart 1.x.x to 2.x.x

      New in 2.0.0 Workload Identity is no longer wired up automatically from global.blob.provider: azure. Users must now set the annotation and pod label explicitly in values:

      global:
        serviceAccount:
          annotations:
            azure.workload.identity/client-id: "<client-id>"
          podLabels:
            azure.workload.identity/use: "true"
      

      The pod label has also moved from Deployment selector labels to pod template labels. Existing Azure deployments must delete their Deployments before upgrading. Use --cascade=orphan to keep pods running during the migration:

      RELEASE="<your-release-name>"
      NAMESPACE="<your-namespace>"
      for component in is as ns gs js dcs gcs console noc pba; do # Drop pba and/or noc from the list if not enabled.
        kubectl delete deployment "${RELEASE}-${component}" -n "${NAMESPACE}" --cascade=orphan
      done
      helm upgrade "${RELEASE}" . -n "${NAMESPACE}" -f <your-values-file>
      

      This is required because Kubernetes does not allow changes to spec.selector.matchLabels on existing Deployments. The --cascade=orphan flag ensures pods continue running while the Deployment objects are recreated by Helm.

      ← Deployment Troubleshooting →

      On this page

      • Database Migration
      • Kubernetes version upgrade
      • Upgrading from Helm chart 1.x.x to 2.x.x

      Sections

      Getting Started

      Concepts

      Cloud

      Enterprise

      Integrations

      API

      Hardware

      Sitemap

      View our Sitemap

      Contributing

      GitHub

      About Us

      The Things Industries

      Privacy Policy

      Cookie settings

      Cookie Settings

      We use cookies to enhance your experience, analyze site traffic and deliver personalized content. Read our Privacy Policy.

      Cookie categories