Deploy to Kubernetes
without writing a
single manifest.
Everything you need to ship.
A complete platform built on Kubernetes primitives — builds, secrets, RBAC, metrics, and day-2 operations. No vendor lock-in, no hidden complexity.
Zero-Manifest Deploys
Deploy from a pre-built image, a git branch, or an API call. No Kubernetes YAML — Vesta generates the Deployments, Services, Ingress, and HPA for you.
Build From Git
Connect a GitHub App and build straight from a branch or commit with Dockerfile, Nixpacks, or Buildpacks. Stream build logs live, cancel mid-flight.
Live Logs & Pod Shell
Tail logs over WebSocket, open an interactive shell into any pod, and browse or edit files in a running container — without leaving the dashboard.
Secrets & Config
Opaque, registry, and TLS secrets, per-app and per-environment. Share secrets across a project, keep values write-only, and reveal them only with the right role.
Autoscaling
CPU, memory, and custom metric HPA with configurable scaling behavior — plus sleep and wake for environments that do not need to run overnight.
Teams, Roles & Audit
Teams, project membership, and admin/developer/viewer roles, backed by scoped API tokens. Every action lands in an audit log and an activity feed.
Multi-Environment
Organize apps into projects with per-environment config, pod size presets, and approval gates. Clone an environment when you need another stage.
Metrics & Alerts
Per-app CPU and memory metrics, optional Prometheus scraping, a cluster health dashboard, and alert rules that fire when something drifts.
Day-2 Operations
Rollback, restart, scale, stop and start, trigger CronJobs on demand, schedule deployments for later, and diagnose exactly why an app is unhealthy.
Notifications
Slack, Discord, Google Chat, webhooks with HMAC-SHA256, and email via SMTP — with delivery history so you can see what actually fired.
Three commands. That's it.
Install
One command deploys the whole platform — Operator, API, UI and a database — to your cluster.
curl -fsSL https://getvesta.sh/install.sh | sh Push
Build straight from a git branch, or ship a pre-built image. One command, no YAML.
vesta build my-app --environment production --branch main Live
Your app is running with automatic ingress, TLS, health checks, and autoscaling. Done.
✓ Build succeeded — my-app:7f3c9a1
✓ Deployed to production
Replicas: 2/2 ready
Ingress: my-app.apps.getvesta.sh
TLS: letsencrypt-prod
Autoscaling: 2-10 pods (CPU > 70%)
Four components.
One platform.
Each component is independently deployable and follows Kubernetes-native patterns.
Operator
Go / KubebuilderWatches CRDs and reconciles Deployments, Services, Ingress, HPA, and Secrets.
API Server
Go / GinREST API for projects, apps, deployments, secrets, auth, and notifications.
Web UI
React / TypeScriptDashboard for managing the platform — projects, apps, secrets, and deployments.
CLI
Go / CobraCommand-line tool for all operations — deploys, secrets, projects, and more.
Why Vesta?
The flexibility of Kubernetes with the simplicity of a PaaS — at no cost.
| Feature | Vesta | Heroku | Render | Coolify |
|---|---|---|---|---|
| Self-hosted | ✓ | ✗ | ✗ | ✓ |
| Open source | ✓ | ✗ | ✗ | ✓ |
| Kubernetes-native | ✓ | ✗ | ✗ | ✗ |
| Secrets management | ✓ | ✓ | ✓ | ✗ |
| Custom K8s config | ✓ | ✗ | ✗ | ✗ |
| Multi-environment | ✓ | ✓ | ✓ | ✓ |
| API-first deploys | ✓ | ✓ | ✓ | ✓ |
| Approval gates | ✓ | ✗ | ✗ | ✗ |
| Free forever | ✓ | ✗ | ✗ | ✓ |
Ready to deploy?
Install Vesta on your cluster in under a minute. No credit card, no sign-up — it's open source.
curl -fsSL https://getvesta.sh/install.sh | sh