liftwork
Self-hosted · Apache 2.0

One Helm chart in.
Every git push out.

liftwork is a plug-and-play build & deploy platform for Kubernetes — a self-hosted internal Heroku. Drop the chart into your cluster, point at a repo, and a git push becomes a deploy. On infrastructure you own.

Closes the gap between git push and a healthy rollout.

01

Zero-config builds

Language autodetect (Node, Python, Go, Rust, Java, Ruby, PHP, .NET) renders a Dockerfile if your repo doesn't ship one. EXPOSE and per-language port conventions become your defaults.

02

liftwork.yaml when you outgrow them

Commit a liftwork.yaml at the repo root and the file wins — port, replicas, env (incl. Secret & ConfigMap refs), health probes, ingress, resources. GitOps-native.

03

BuildKit rootless, in-cluster

No privileged containers, no external build farm. Cache, multi-arch, secret mounts — all the BuildKit features you'd expect, running as a Kubernetes Job inside your cluster.

04

Diagnoses its own failures

Rollout watcher classifies failures into actionable diagnoses — "container is up but isn't listening on port 9999" — and bails in 9–15s instead of timing out at 600s.

05

Observable by default

~18 Prometheus metrics out of the box, OTel traces across every job, two ready-to-import Grafana dashboards (Operations + SRE) committed alongside the chart.

06

One Helm chart

API, worker, dashboard, RBAC, ServiceMonitor, optional bundled Postgres + Redis. Namespace-aware values mean a single chart can isolate per-tenant installs.

Quick start

Working install in 60 seconds.

Bundled Postgres + Redis subcharts mean zero external dependencies for dev. Production paths point at your managed services via externalDatabase.url / externalRedis.url.

Full setup, per-tenant install, and prod recipes are documented in docs/install.md.

# clone & bootstrap
$ git clone https://github.com/P0intMaN/liftwork.git
$ cd liftwork && helm dep update charts/liftwork

# install with bundled postgres + redis
$ helm upgrade --install lw charts/liftwork \
  --namespace liftwork --create-namespace \
  -f charts/liftwork/values.dev.yaml

→ migrate Job (alembic upgrade head)
→ api · worker · dashboard rolling out
→ ready in ~30s
Status

Pipeline is live. v2 is queued.

v1 · live

Today

  • Build & deploy pipeline e2e against kind
  • BuildKit rootless · in-cluster Job
  • liftwork.yaml (file-wins config)
  • Language-aware defaults · rollout diagnostics
  • OTel + Prometheus + Grafana dashboards
  • Helm chart · pnpm/uv monorepo · CI/CD

Now polishing

  • GitHub App install flow
  • Argo-style file/form drift UX
  • Bundled liftwork-observability subchart
  • Worker resumability (drop the single-replica cap)
v2 · soon

Next

  • OIDC auth (Google, GitHub, Okta)
  • ECR · Quay · Docker Hub registry backends
  • Temporal queue (interface stubbed)
  • Preview environments per PR