Running on Galaxy Legacy? Visit the legacy docs.
Galaxy

Versions and Deployments

A version is your code. A deployment is that code running. Here's how Galaxy uses both to keep your app live.

A version is your code. A deployment is that code running.

Every push creates a new version. Every time Galaxy runs that code (automatically or manually), it creates a new deployment. The same version can have multiple deployments, because you might run the same code with different configuration.


What Triggers a Deployment?

TriggerWhat Happened
WebhookA push to your Git repository triggered automatic deployment
ManualSomeone clicked Deploy Now in the dashboard
APIA CLI command or programmatic API call
RollbackSomeone redeployed a previous version
Env Var UpdateAn environment variable change triggered a hot-swap
RetrySomeone manually retried a failed deployment
Automatic RetryGalaxy automatically retried a failed deployment

Configuration changes (variables, container size) create a new deployment of your current version. They don't create a new version. Code changes create a new version.


How Galaxy Keeps Your App Live

Galaxy uses different strategies depending on what changed. The goal is always zero downtime.

OperationStrategyResult
New deployBlue-GreenBuilds in the inactive slot, switches traffic once healthy
Environment variable changeHot-swapRolling restart in the same slot
Plan: Free to PaidBlue-Green (cross-cluster)Domain changes from Free to Paid URL
Plan: Paid to PaidDatabase updateNo disruption, same cluster
Plan: Paid to FreeBlue-Green (cross-cluster)Domain changes from Paid to Free URL
Container spec changeRolling UpdatePods replaced with zero downtime
RollbackBlue-GreenTraffic switches to previous slot (about 1-2 seconds)
Scale up/downDirect patchNo pod replacement needed
RestartRolling UpdatePods replaced gracefully in the same slot

Blue-Green Deployments

Galaxy keeps two deployment slots for your app. New code builds in the inactive slot. Once healthy, traffic switches instantly. If anything fails, your previous slot is still running.

Galaxy's rolling update strategy uses maxSurge: 1, maxUnavailable: 0. New containers spin up before old ones shut down. Your app never goes offline.


Common Scenarios

You push new code. Galaxy detects the commit, creates a new version, and deploys it automatically. One push, one version, one deployment.

You fix a broken environment variable. Go to Variables, update the value, and click Deploy. Galaxy creates a new deployment of your current version (no new version, no rebuild). Your app restarts with the fixed config.

You need to roll back. Go to Versions, find the last stable version, and click Redeploy. Galaxy deploys that old version as a new deployment. Takes about 1-2 seconds. Your users won't notice.


Common Questions


What's Next?