Skip to content

How to Update Teranode with Kubernetes Helm

Last modified: 6-March-2025

Introduction

This guide provides instructions for updating Teranode in a Kubernetes environment using Helm.

Prerequisites

Ensure you have:

  • Access to the ECR registry
  • AWS CLI configured
  • Helm installed
  • Existing Teranode deployment

Update Process

kubernetesOperatorUpdateProcess.svg

1. Set Version Variables

# Set new versions
export OPERATOR_VERSION=<new-version>
export TERANODE_VERSION=<new-version>
export ECR_REGISTRY=ghcr.io/bsv-blockchain/teranode

2. Update Images

# Pull new images
docker pull $ECR_REGISTRY/teranode-operator:$OPERATOR_VERSION
docker pull $ECR_REGISTRY/teranode-public:$TERANODE_VERSION

# Load into Minikube
minikube image load $ECR_REGISTRY/teranode-operator:$OPERATOR_VERSION
minikube image load $ECR_REGISTRY/teranode-public:$TERANODE_VERSION

3. Update Operator

# Update operator
helm upgrade teranode-operator oci://ghcr.io/bsv-blockchain/teranode/teranode-operator \
    -n teranode-operator \
    -f kubernetes/teranode/teranode-operator.yaml

4. Verify Update

# Check all pods are running
kubectl get pods -n teranode-operator | grep -E 'aerospike|postgres|kafka|teranode-operator'

# Check Teranode services are ready
kubectl wait --for=condition=ready pod -l app=blockchain -n teranode-operator --timeout=300s

# View Teranode logs
kubectl logs -n teranode-operator -l app=blockchain -f

Production Considerations

For production deployments:

  • Create backups before updating
  • Review release notes for breaking changes
  • Test updates in a staging environment first
  • Monitor system during and after update
  • Have a rollback plan prepared

Other Resources