Open source
Apache-2.0. Your Kubernetes cluster, your cloud account, your data.
Open-source software factory
Sol turns your backend code into a production system — builds, infrastructure, deployment, observability, and operations included. Run it locally on the same stack as production, then deploy the same contract to Kubernetes in your own cloud.
Pre-alpha · v0.1.0-alpha · not production-stableRoadmap ↗
Apache-2.0. Your Kubernetes cluster, your cloud account, your data.
Two first-class application languages behind one contract.
Qualification runs published from real AWS and GCP.
$ sol local infra up $ sol new workspace myapp $ cd myapp && sol up ✓ k3d cluster: redpanda · postgres · loki · grafana ✓ charge_svc deployed · worker consuming events ✓ curl localhost:8080/health → ok
Local → production
Sol runs the same stack locally that you ship to production — same Helm charts, same service DNS, same security model. The only difference is scale. One application contract moves from your machine to your cloud.
sol local run Fast inner loop Native processes · one dune build · no image rebuild sol up Production-shaped Real containers · real manifests · a real cluster sol deploy prod/aws/us-east-1 Your real cloud AWS · GCP · or any Kubernetes Same application contract · one deployment plan
How it works
Sol reads your workspace and compiles it. Deployment, wiring, and observability are derived from the code — not hand-authored per environment, and not able to drift between local and production.
You write
sol.tomlSol derives
Workspace convention — app/<domain>/<name>_{svc,worker,fn}/ with a Dockerfile
The application model
Three primitives cover backend work. Sol discovers them, verifies the runtime contract, builds an immutable artifact, and operates it — locally or in your own cloud.
_svcLong-running HTTP APIs with per-route auth.
_workerKafka consumers with retry and dead-letter routing.
_fnScheduled jobs that run once and exit.
Runtime contract
PORT — the port the container listens onGET /healthz — liveness and readinessGET /metrics — Prometheus expositionSIGTERM — drain and shut down cleanlyApplication contract
Own your cloud
Sol targets plain Kubernetes, not a proprietary runtime. Deploy straight to your cluster or emit manifests for GitOps — your cloud account, your registry, your data.
One application model compiles to Kubernetes, wherever it runs.
Apply to your cluster, or emit manifests for Argo CD to reconcile.
Per-service overrides in sol.toml; generated Terraform and manifests are yours to take.
Open-source substrate — Kubernetes, Strimzi, Argo CD, Prometheus, Loki, Grafana, Terraform.
From code
to production.↖
Observability & operations
Logs, metrics, and traces are part of the runtime contract, not a stack you assemble. The same CLI then tells you what is running, what changed, and how to put it back.
Built in, not bolted on
Operated as one workflow
sol status — rollout state and Kubernetes diagnosissol releases and sol rollback — inspect and reverse.sol/runs/ — deploy logs that outlive the terminalsol.tomlProof
Sol is pre-alpha, and we would rather show the receipts than round up. The qualification runs, the end-to-end dogfood, and the current limits are all in the repository.
Dated, reproducible qualification runs against real AWS and GCP — the same single-region path we intend to support.
Read the run records ↗New workspace to local cluster to deploy, observe, and roll back — exercised as the release path, not a demo.
Follow the tutorial ↗Single-region Kubernetes today. Multi-region, hosted, and cloud provisioning are experimental or not yet built.
See the roadmap ↗Start with one service
Start on k3d locally. Ship to your own Kubernetes cluster when you're ready.