Kubernetes Is All You Need
OOPS is a lightweight Kubernetes-based PaaS (Platform as a Service) that provides a web UI for deploying and managing containerized applications across multiple clusters.
- Deploy applications as StatefulSets with automatic service and ingress configuration
- Manage environment variables via ConfigMap injection
- Support for multiple replicas and resource configuration
- Real-time pod status monitoring
- Manage multiple Kubernetes clusters (Environments) from a single interface
- Per-environment API server credentials and namespace isolation
- Deploy applications to any configured cluster
- Git-based build pipelines powered by Kubernetes Jobs
- Three-stage pipeline: clone (shallow clone support) → build → push (Kaniko image build)
- Two deploy modes: IMMEDIATE (auto-deploy after build) or MANUAL (wait for manual trigger)
- Real-time log streaming via WebSocket
- Pipeline history and status tracking
- Press
/to quickly search applications, deploy apps, open IDEs, or jump to pipelines - Fast keyboard-driven navigation across namespaces
- Live pod log streaming
- In-browser terminal access (full TTY support via xterm.js)
- Pod lifecycle management
- Browser-based code-server IDE instances as StatefulSets
- Persistent workspace volumes per developer
- Proxy domain support for IDE ingress routing
- Toggle via
oops.ide.enabled=true
- Built-in username/password authentication with JWT
- Optional Feishu (Lark) OAuth integration
- Namespace-based resource isolation
- Application ownership — users are assigned as owners of their applications
- Chinese (
zh) and English (en) UI support - Language preference persisted across sessions
- Traefik IngressRoute CRD support for automatic HTTPS routing
- Gracefully skips ingress setup if Traefik CRDs are absent
- Kubernetes cluster
- SQLite (default) or MySQL database
- Traefik (optional, for ingress/HTTPS)
- Copy and configure
src/main/resources/application.properties.example - Build and run:
# Run backend
./mvnw spring-boot:run
# Run tests
./mvnw test
# Run frontend (dev) — automatically proxies /api to localhost:8080
cd web && pnpm install && pnpm dev
# Frontend lint / build
cd web && pnpm lint
cd web && pnpm buildOr build the full Docker image:
docker build -t oops .Default admin credentials: admin / admin123 (override via ADMIN_PASSWORD env)






