Work in Progress: This page is under development. Use the feedback button on the bottom right to help us improve it.

Upgrades

How to upgrade Laminar to newer versions.

Before You Upgrade

  1. Check release notes for breaking changes
  2. Backup your database (see Backup & Restore)
  3. Test in staging before production
  4. Plan for downtime if required by the upgrade

Upgrade Methods

Check Current Version

helm list -n laminar

Update Helm Repository

helm repo update laminar

View Available Versions

helm search repo laminar/laminar --versions

Upgrade to Latest

helm upgrade laminar laminar/laminar \
  --namespace laminar \
  --reuse-values

Upgrade to Specific Version

helm upgrade laminar laminar/laminar \
  --namespace laminar \
  --version 1.2.0 \
  --reuse-values

Upgrade with New Values

helm upgrade laminar laminar/laminar \
  --namespace laminar \
  --version 1.2.0 \
  -f new-values.yaml

Upgrade Strategies

Rolling Update (Zero Downtime)

Default strategy for most upgrades:

api:
  strategy:
    type: RollingUpdate
    rollingUpdate:
      maxUnavailable: 0
      maxSurge: 1

Blue-Green Deployment

For major version upgrades:

  1. Deploy new version alongside existing
  2. Verify new version works
  3. Switch traffic to new version
  4. 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 laminar

Database 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 migration

Manual 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=2

Rollback

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 laminar

Using ArgoCD

# View history
argocd app history laminar
 
# Rollback
argocd app rollback laminar <revision>

Version Compatibility

Component Versions

Laminar VersionPostgreSQLRedisKubernetes
1.x14+7+1.26-1.30
2.x15+7+1.28-1.30

Upgrade Path

Always follow the supported upgrade path:

FromToNotes
1.0.x1.1.xDirect upgrade supported
1.1.x1.2.xDirect upgrade supported
1.x2.xFollow 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 --previous

Database 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 laminar

Next Steps