Upgrade Enterprise Enterprise Edition
The process to migrate your instance of Infrahub Enterprise to the latest version will vary depending on your deployment of Infrahub Enterprise. However, at a high-level, it will involve getting the latest version and performing any needed Database Migrations and Schema updates.
For installation instructions, please refer to our Enterprise installation guide.
Follow the instructions below for your current release version and deployment method.
Even though a "smooth" migration is anticipated, we nonetheless strongly suggest creating a backup beforehand. For detailed information, see our Backup guide.
In Infrahub 1.2 and later, the upgrade process has been streamlined with a unified upgrade command. For earlier versions, please refer to the release notes for specific upgrade instructions.
Upgrading to Infrahub Enterprise 1.2 and after​
- Docker
- Helm
# Stop the current instance
docker compose down
# Retrieve the latest docker-compose version
curl https://infrahub.opsmill.io/enterprise > docker-compose.yml
# Run the unified upgrade command
docker compose run infrahub-server infrahub upgrade
# Restart the instance
docker compose up -d
Old Docker images of Infrahub may remain on your machine and consume disk space after an upgrade. To free up space and keep disk usage under control, consider removing unused images.
You can do this with: docker image prune -a
# Upgrade the Helm release
helm upgrade
# Run the unified upgrade command inside the server pod
kubectl exec infrahub-infrahub-server-xxxxxx -- infrahub upgrade
# Restart deployments to apply changes
kubectl rollout restart deployment/prefect-server
kubectl rollout restart deployment/infrahub-infrahub-server
kubectl rollout restart deployment/infrahub-infrahub-task-worker
# Wait for the restarted pods to be ready
kubectl rollout status deployment/infrahub-infrahub-server
kubectl rollout status deployment/infrahub-infrahub-task-worker
Restart the task workers as well as the server. Task worker pods that started before infrahub upgrade ran can keep the schema from before the migration until they restart. While the workers have loaded different schemas, Infrahub can mark a new branch with no changes as Schema differs from default branch.
Once the restarted pods are ready, run this query in the GraphQL sandbox to confirm that every active worker loaded the same schema. It returns "schema_hash_synced": true when all active workers report the same schema hash.
query {
InfrahubStatus {
summary {
schema_hash_synced
}
}
}