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 — declare package dependencies in
compose.yaml, thenplasmactl model:composemerges them. - Prepare —
plasmactl model:preparebuilds the Ansible runtime. - Bundle —
plasmactl model:bundleproduces a deployable Platform Model (.pm) artifact. - Up —
plasmactl 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 nodeacross providers. - Zones map logical architecture to physical resources — together they form the platform's topology — managed with the
plasmactl zonecommands. - Plasma targets Kubernetes for orchestration, with
etcd,Ceph, andFlannelin 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.