Upgrades
How to upgrade Laminar to newer versions.
Before You Upgrade
- Check release notes for breaking changes
- Backup your database (see Backup & Restore)
- Test in staging before production
- Plan for downtime if required by the upgrade
Upgrade Methods
Check Current Version
helm list -n laminarUpdate Helm Repository
helm repo update laminarView Available Versions
helm search repo laminar/laminar --versionsUpgrade to Latest
helm upgrade laminar laminar/laminar \
--namespace laminar \
--reuse-valuesUpgrade to Specific Version
helm upgrade laminar laminar/laminar \
--namespace laminar \
--version 1.2.0 \
--reuse-valuesUpgrade with New Values
helm upgrade laminar laminar/laminar \
--namespace laminar \
--version 1.2.0 \
-f new-values.yamlUpgrade Strategies
Rolling Update (Zero Downtime)
Default strategy for most upgrades:
api:
strategy:
type: RollingUpdate
rollingUpdate:
maxUnavailable: 0
maxSurge: 1Blue-Green Deployment
For major version upgrades:
- Deploy new version alongside existing
- Verify new version works
- Switch traffic to new version
- Remove old version
# Install new version with different release name
helm install laminar-v2 laminar/laminar \
--namespace laminar \
--version 2.0.0 \
-f values.yaml
# Verify new version
kubectl get pods -n laminar -l app.kubernetes.io/instance=laminar-v2
# Update ingress/service to point to new version
# ...
# Remove old version
helm uninstall laminar -n laminarDatabase Migrations
Laminar handles database migrations automatically during startup. For major versions:
Check Migration Status
kubectl logs -n laminar -l app=laminar-api --tail=100 | grep -i migrationManual Migration (if needed)
# Scale down controller
kubectl scale deployment -n laminar laminar-controller --replicas=0
# Run migrations
kubectl exec -n laminar deploy/laminar-api -- laminar migrate
# Scale back up
kubectl scale deployment -n laminar laminar-controller --replicas=2Rollback
Using Helm
# View history
helm history laminar -n laminar
# Rollback to previous
helm rollback laminar -n laminar
# Rollback to specific revision
helm rollback laminar 3 -n laminarUsing ArgoCD
# View history
argocd app history laminar
# Rollback
argocd app rollback laminar <revision>Version Compatibility
Component Versions
| Laminar Version | PostgreSQL | Redis | Kubernetes |
|---|---|---|---|
| 1.x | 14+ | 7+ | 1.26-1.30 |
| 2.x | 15+ | 7+ | 1.28-1.30 |
Upgrade Path
Always follow the supported upgrade path:
| From | To | Notes |
|---|---|---|
| 1.0.x | 1.1.x | Direct upgrade supported |
| 1.1.x | 1.2.x | Direct upgrade supported |
| 1.x | 2.x | Follow migration guide |
Troubleshooting Upgrades
Pods Not Starting
# Check pod status
kubectl get pods -n laminar
# Check events
kubectl get events -n laminar --sort-by='.lastTimestamp'
# Check logs
kubectl logs -n laminar -l app=laminar-api --previousDatabase Connection Issues
# Verify database is accessible
kubectl exec -n laminar deploy/laminar-api -- \
psql $DATABASE_URL -c "SELECT 1"Helm Upgrade Failed
# Check release status
helm status laminar -n laminar
# If stuck in pending-upgrade
helm rollback laminar -n laminarNext Steps
- Backup & Restore - Backup before upgrading
- Troubleshooting - Common issues