Skip to content

Deploying

Plasma runs anywhere you can run containers — on-premise, private cloud, public cloud (AWS, Azure, GCP), hybrid, multi-cloud, or fully air-gapped. You own the infrastructure; there is no managed control plane or vendor lock-in.

The workflow

compose.yaml → model:compose → model:prepare → model:bundle → platform:up
  1. Compose — declare package dependencies in compose.yaml, then plasmactl model:compose merges them.
  2. Prepareplasmactl model:prepare builds the Ansible runtime.
  3. Bundleplasmactl model:bundle produces a deployable Platform Model (.pm) artifact.
  4. Upplasmactl platform:up <env> <target> runs the full pipeline (bump → compose → prepare → deploy).

The full pipeline

platform:up runs the common path for you, but each stage is a command you can run — and reason about — on its own:

flowchart LR
  B["component:bump<br/><small>version</small>"] --> C["model:compose<br/><small>merge packages</small>"]
  C --> Y["component:sync<br/><small>propagate</small>"]
  Y --> P["model:prepare<br/><small>ansible runtime</small>"]
  P --> N["model:bundle<br/><small>.pm artifact</small>"]
  N --> R["model:release<br/><small>semver tag</small>"]
  N --> D["platform:deploy<br/><small>to target</small>"]
Stage Command What it does
Bump component:bump detects changed components and pins each to the current commit as its version
Compose model:compose fetches packages from compose.yaml and merges them into one model
Sync component:sync propagates bumped versions out to every dependent component
Prepare model:prepare transforms the composed model into an Ansible runtime
Bundle model:bundle packages the result as a versioned Platform Model (.pm) artifact
Release model:release tags a semver release with a conventional-commit changelog
Deploy platform:deploy <env> <target> runs the Ansible deployment against a target

platform:up in local mode chains commit → bump → compose → prepare → sync → deploy. Two artifact types come out the far end: a .pm Platform Model (the deployable bundle) and, ahead on the roadmap, a .pi Platform Image (a bootable node image).

→ For the step-by-step conceptual view, see Platform lifecycle.

Infrastructure

  • Nodes are provisioned and managed with plasmactl node across providers.
  • Zones map logical architecture to physical resources — together they form the platform's topology — managed with the plasmactl zone commands.
  • Plasma targets Kubernetes for orchestration, with etcd, Ceph, and Flannel in the Foundation layer.

Managed option

Prefer not to run it yourself? Plasma Cloud offers fully managed Plasma — infrastructure, updates, monitoring, and support — operated by Skilld, the creators of Plasma.

For the complete command set, see the CLI reference.