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:

EnvironmentWhat triggers a deploy
ProductionPushes to your deploy branch (usually main), or a manual deploy
PreviewBranches without a dedicated environment
CustomPushes 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

  1. Build runs (or an image is pulled) and produces an immutable ArtifactSet, addressed by content hash.
  2. The deployment registers referencing exactly one ArtifactSet.
  3. Runtime materializes the revision onto the regional replica-set: start-first rolling update by default; stop-first recreate when a volume is attached.
  4. Health gate: the new version must reach readyReplicas >= desired for the region before anything else happens.
  5. The alias repoints and the edge router reconciles.
  6. 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.