Deployments
Immutable releases, aliases, and environment-centric deploys
Deployments
The release model
Parslinks separates what runs from where traffic goes:
- A Deployment is an immutable release. Once it reaches READY, its artifact, environment-variable snapshot, and runtime spec are frozen forever.
- An Alias is a mutable pointer to a READY deployment. Moving traffic between versions means repointing the alias — the deployments themselves never change.
This is why rollback on Parslinks is instant and lossless: every historical deployment still exists with its exact original bytes and configuration.
Environments own deployments
Every deployment belongs to exactly one environment:
| Environment | What triggers a deploy |
|---|---|
| Production | Pushes to your deploy branch (usually main), or a manual deploy |
| Preview | Branches without a dedicated environment |
| Custom | Pushes to the branch the environment tracks |
Promotion moves traffic between environments without a rebuild: promoting a preview deployment repoints the Production alias onto that already-built deployment. The deployment's own environment assignment doesn't change — only the alias does.
Hostnames
Every deployment gets a deterministic hostname of the form:
dpl-{publicId}.{platformDomain}This hostname routes directly to that single deployment — no alias in the path — which makes per-release testing trivial before you promote anything.
Production and preview aliases give you stable URLs that survive rollbacks: the URL stays, the underlying deployment changes.
Lifecycle
- Build runs (or an image is pulled) and produces an immutable ArtifactSet, addressed by content hash.
- The deployment registers referencing exactly one ArtifactSet.
- Runtime materializes the revision onto the regional replica-set: start-first rolling update by default; stop-first recreate when a volume is attached.
- Health gate: the new version must reach
readyReplicas >= desiredfor the region before anything else happens. - The alias repoints and the edge router reconciles.
- Old revision replicas drain — removed from the ready pool before stopping.
If the health gate fails, the alias is not repointed: your previous healthy replicas keep serving traffic untouched.
Scaling is not deploying
Changing replica counts or regions edits the instance's placement intent in the catalog. It does not create a build or a new release, and it can't alter what's running beyond adding/removing replicas of the current deployment.
Rules worth knowing
- An alias can only target a READY deployment from the same instance.
- Release fields on a READY deployment can never change.
- Traffic switches are idempotent; events accelerate propagation but reconciliation guarantees eventual correctness.
- Artifact retention follows retained deployments: when all references to an ArtifactSet are gone, garbage collection reclaims its objects.