Plasma aims to simplify the orchestration of containerized environments—ideal for use cases like hosted runners on Git forges such as GitHub, GitLab, or Forgejo. It can scale and provision environments either manually or automatically, using strategies tailored to your CI workloads and demands.
While building features for Tuist, we realized the need for a fast and cost-effective way to spin up macOS and Linux containers. Unfortunately, this kind of innovation has historically been locked away behind traditional CI providers, who’ve treated it as part of their competitive moat.
We believe this space should be commoditized. Lowering the time and cost of remote execution unlocks better developer experiences—faster feedback loops, cheaper experimentation, and greater flexibility.
Plasma is our step toward making that a reality.
Warning
The project is currently being worked on.
You can use the instance hosted by Tuist at plasma.dev with any of the two following methods:
- Bring-your-infra: Plug your own infrastructure into Plasma using your infrastructure keys (e.g. AWS).
- Use-our-infra: Use our infrastructure and pay a tax over our infrastructure cost.
If you are already a Tuist user, you can create containers from your account.
You can self-host Plasma following our docs, or do a one-click deployment to Render:
- Git clone the repo:
[email protected]:tuist/agent.git
. - Install dependencies with
mise install
.
The repository is a monorepo with the following projects:
agent
: It's a portable Elixir application that runs in the host.app
: It's an Elixir library (to integrate with another app) along with a Phoenix application to host the web interface.docs
: It's a documentation static website available at docs.plasma.dev.
The project follows semantic versioning releasing new versions automatically when releasable changes are detected in main
. A release is represented by a release on GitHub, which includes portable binaries for the agents, and an OCI-compliant image to run the web app as a container, for example using Podman or Docker.
The documentation is available at docs.plasma.dev.