Aztec Client’s Update-checker Module – What It Is and Why It Matters
All credit goes to @alexghr who gave this update in the Sentinel channel.
This post is a quick overview of the update-checker module in the Aztec client — an important piece of infrastructure for maintaining node consistency and network health during rapid iterations.
What is the update-checker?
The update-checker is a background module in the Aztec client that enables global coordination of updates. It allows the protocol team to:
- Push configuration changes to all nodes
- Trigger shutdowns so that nodes can pull the latest image version
- Apply hotfixes quickly
- Coordinate node resets after a governance upgrade, especially when a new canonical rollup is published to the Registry
This module ensures that upgrades and fixes propagate smoothly without requiring manual intervention from every node operator.
Auto-Update Behavior & Best Practices
Recommended Defaults
- Use the
:latesttag for your Aztec image. It is continuously updated and stable. - The old
alpha-testnettag is deprecated and should not be used. - Keep the
config-and-versiondefault value for theupdate-checker.
Protocol Compatibility
We now run a test that prevents accidental protocol-breaking changes from being released without proper handling, which ensures updates remain safe and compatible.
Image Pulling in Different Environments
- Aztec CLI (
aztec start): Pulls the latest image on restart.imagePullPolicy: Alwaysis enforced. - Kubernetes: Set
imagePullPolicy: Alwaysto always get the latest image. - Docker Compose:
docker-composedoes not respect pull policies on container restarts. To handle updates properly, add Watchtower to your stack. Also ensure you’re running with--auto-update configor--auto-update notify.
Configuring Auto-Update
You can control the update-checker via two environment variables:
AUTO_UPDATE: Controls the update behavior (disabled,notify,config,config-and-version). This is set in the clie via --auto-updateAUTO_UPDATE_URL: Specifies the remote URL to check for updates (typically defaults to our update endpoint)
AUTO_UPDATE Modes
disabled: Disables the update checker entirely.notify: Prints a log message when a new version or rollup is detected, but takes no action.config: Includesnotifybehavior and also applies remote config updates. If your node is following the canonical rollup and the rollup changes, the node shuts down. Restarting will wipe the local DB and sync from the new canonical rollup.config-and-version: Includesconfigbehavior, and also shuts down the node if the remote version differs from the local version.
Note: If you set the ROLLUP_VERSION manually (non-default), the node will not follow the canonical rollup and won’t shut down automatically on governance upgrades that deploy a new canonical rollup.
Let us know in Discord if you run into update issues or want help setting up a more resilient deployment flow.