Projects, Builds, Deployments, Environments, Databases, Ejection
February 16-23, 2026 (7 workdays)
From empty repository to a working PaaS in seven workdays. Here's everything that shipped during the initial development sprint.
Projects & Services
The core building blocks are in place. Create a project by connecting a GitHub repository. Lucity auto-detects your services using railpack, so there's no manifest to write and no Dockerfile required.
- Project creation from any GitHub repository, with auto-generated project names
- Automatic service detection: railpack scans your repo and identifies services, frameworks, and build requirements
- Canvas visualization: services appear as interactive cards on a canvas, showing framework icons, deploy status, and replica counts
- Project deletion with full resource cleanup across the GitOps repo, Kubernetes namespaces, ArgoCD applications, and the container registry
Builds
Push code, get a container image. Lucity handles the entire source-to-image pipeline.
- Zero-config builds via railpack, supporting Node.js, Go, Python, Ruby, Java, and more out of the box
- Streaming build logs in real time, right in the dashboard
- Framework detection for dashboard icons. Your Next.js app gets a Next.js icon, your Go service gets a Go icon.
- OCI provenance labels: every image is tagged with source URL and commit SHA for traceability
- Async build pipeline: builds run in the background with live status updates
Deployments
One-click deploys with full visibility into what's happening and what happened before.
- Unified deploy flow: build, push to registry, update GitOps repo, and sync via ArgoCD in a single action
- Streaming deploy logs: follow along as ArgoCD syncs your resources
- Deployment history: every deploy is a GitOps commit, viewable as collapsible cards with commit context, timestamps, and status
- Rollback and redeploy: pick any previous deployment and roll back, or trigger a redeploy of the current version
- Webhook-driven CI/CD: push to your main branch and Lucity takes it from there
Environments
Development, staging, production, and as many ephemeral environments as you need.
- Multi-environment support with development, staging, and production created alongside each project
- Environment promotion: move images between environments without rebuilding. Staging gets the same image that passed in development.
- Per-environment variables: shared variables available to all services, plus service-scoped overrides. Uses Kubernetes-native
secretKeyRefreferences. - Create environments on demand directly from the environment switcher in the dashboard
Databases
Managed PostgreSQL powered by CloudNativePG. No external database service required.
- One-click PostgreSQL provisioning per environment
- Database tools built into the dashboard: browse tables, view data, and run SQL queries without leaving the browser
- Auto-injected connection variables: when you add a database, the connection string is automatically available as a shared variable for your services
- Persistent volumes with usage tracking and progress indicators
Networking
Public services get a domain. Internal services stay internal. Gateway API handles the routing.
- Domain management: assign custom hostnames to public-facing services
- Visibility control: toggle services between public (routed via Gateway API) and private (cluster-internal only)
- Gateway API routing via HTTPRoute. Standard Kubernetes networking, no proprietary ingress controller.
GitHub Integration
Sign in with GitHub, connect your repos, and let webhooks handle the rest.
- GitHub App OAuth for authentication: sign into the dashboard with your GitHub identity
- Repository browsing: list and connect repositories from your GitHub account
- Webhook CI/CD: push events and PR events trigger builds and deployments automatically
Runtime Logs
See what your services are actually doing.
- Live log streaming from running pods: stdout and stderr, streamed to the dashboard in real time
- Stacked panel overlay: open logs alongside your service view without losing context
- 1,000 lines of history on first load for context when debugging
Ejection
The feature that makes Lucity different. Read the full story.
- Export everything as a self-contained zip: Helm charts, ArgoCD application manifests, per-environment values, and a README
- Zero Lucity dependencies in the ejected output. Standard
kubectlandhelmwork for everything. - Eject dialog in the dashboard with a clear preview of what you'll receive
Dashboard
A Vue 3 SPA built to make Kubernetes feel approachable.
- Canvas-based project view: services and databases as interactive cards, Railway-style
- Dark mode with an animated sun/moon toggle
- Breadcrumb navigation with global environment switching
- Command palette for quick navigation
- Toast notifications for async operation feedback
- Streaming everywhere: build logs, deploy logs, and runtime logs all update in real time
This is Lucity at day eight. The foundation is solid, but there's a lot more to build. Follow along as new features ship, or jump in and help.