Tillered Docs
Maintenance

Upgrades

How to upgrade Arctic to a new version

This guide covers the process of upgrading Arctic agents and the CLI to a new version.

Pre-upgrade checklist

Before upgrading, verify:

  • All peers are healthy: arctic health --all-contexts
  • No active configuration changes are in progress
  • You have a backup of /opt/tillered/arctic.db on each peer
  • You have reviewed the release notes for breaking changes

Upgrading the Arctic Agent

Upgrade each node running the agent:

  1. Shell into the node

  2. Download the agent binary:

curl -L https://releases.tillered.com/arctic/latest/agent-amd64 -o ./agent
chmod +x ./agent
  1. Run the upgrade:
./agent upgrade

This automatically stops the running agent, upgrades the binary, and enables and starts the service.

Rolling upgrade across a cluster

Upgrade one peer at a time to maintain cluster availability:

  1. Start with non-critical peers first
  2. On each peer, download the agent binary and run ./agent upgrade
  3. After each peer upgrade, verify cluster health before proceeding:
arctic health --all-contexts
arctic peers list
  1. Upgrade the remaining peers one at a time

Upgrading the Arctic CLI

Download the new CLI binary:

curl -L https://releases.tillered.com/arctic/latest/arctic-linux-amd64 -o arctic
chmod +x ./arctic

You can either use it directly from the current directory or install it to a location on your PATH:

sudo mv ./arctic /usr/local/bin/arctic

There is no service to stop or start. The CLI reads ~/.config/arctic/config.yaml for authentication automatically.

Post-upgrade verification

Use the CLI to verify the state of your agents after upgrading:

  1. Verify all peers are running the expected version:
arctic health --all-contexts
  1. Verify services are operational:
arctic services list
  1. Test traffic flow through representative services

  2. Check agent logs for any warnings:

journalctl -u arctic --since "10 minutes ago"

Agents in a cluster can run different versions, but using newer features against older agents may cause failures or unexpected behaviour. Upgrade all agents before relying on new functionality.