Plasmactl¶
The CLI tool for Plasma platform management and operations.
What is Plasmactl?¶
Launchrctl + Core plugins + Plasma plugins + Locally discovered actions = Plasmactl
Plasmactl is the command-line interface for the Plasma platform - an open-source real-time intelligence platform for enterprises, startups, and industries.
Requirements¶
- Docker: Required for running container-based actions (prepare, deploy, release, etc.)
Installation¶
Quick Install (Recommended)¶
Manual Installation¶
-
Download the installation script:
-
Make it executable and run:
Verify Installation¶
Update¶
Core Plugins¶
Plasmactl uses a modular plugin system:
| Plugin | Commands | Description |
|---|---|---|
| plasmactl-model | model:compose, model:prepare, model:bundle, model:release |
Model composition and preparation |
| plasmactl-platform | platform:up, platform:create, platform:deploy, config:* |
Platform lifecycle management |
| plasmactl-node | node:provision, node:add, node:list, node:destroy |
Node provisioning and management |
| plasmactl-component | component:bump, component:sync, component:depend |
Version and dependency management |
Command Namespaces¶
model:* - Model Composition¶
plasmactl model:compose # Compose packages from compose.yaml
plasmactl model:prepare # Prepare for Ansible deployment
plasmactl model:bundle # Create .pm artifact
plasmactl model:release # Create git tag with changelog
platform:* - Platform Management¶
plasmactl platform:create ski-dev \ # Create platform scaffold
--metal-provider scaleway \
--dns-provider ovh \
--domain dev.example.com
plasmactl platform:up dev target # Full workflow: bump → compose → prepare → deploy
plasmactl platform:deploy dev target # Deploy to platform
plasmactl platform:list # List platforms
plasmactl platform:show ski-dev # Show platform details
plasmactl platform:destroy ski-dev # Destroy platform
node:* - Node Provisioning¶
plasmactl node:provision ski-dev \ # Provision infrastructure
-c foundation.cluster.control:GP1-L:3
plasmactl node:add ski-dev \ # Manual node registration
--hostname server1 \
--public-ip 1.2.3.4
plasmactl node:list ski-dev # List nodes
plasmactl node:destroy ski-dev srv1 # Destroy node
Configuration & secrets¶
plasmactl component:configure key value --vault # Component/zone config (optionally vaulted)
plasmactl keyring:set key value # Store a credential in the keyring
plasmactl keyring:list # List stored credentials
plasmactl auth:login # Authenticate to an infrastructure provider
component:* - Component Versioning¶
plasmactl component:bump # Bump component versions
plasmactl component:sync # Propagate versions to dependencies
plasmactl component:depend mrn # Query/manage dependencies
Typical Workflow¶
End-to-End Platform Setup¶
# 1. Create platform
plasmactl platform:create ski-dev \
--metal-provider scaleway \
--dns-provider ovh \
--domain dev.example.com
# 2. Provision infrastructure
plasmactl node:provision ski-dev \
-c foundation.cluster.control:GP1-L:3
# 3. Deploy
plasmactl platform:up dev platform.foundation
Daily Development¶
# Make changes, then:
plasmactl component:bump
plasmactl platform:up dev platform.interaction.observability
Getting Started¶
After installation, explore available commands:
plasmactl --help
plasmactl model:compose --help
plasmactl platform:up --help
plasmactl node:provision --help
Contributing¶
Contributions are welcome! Please feel free to submit a Pull Request.