Skip to content

tangxiaoxin06/oops

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

188 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

OOPS

Kubernetes Is All You Need

icon.png

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.

Features

Application Management

  • 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

Multi-cluster Support

  • Manage multiple Kubernetes clusters (Environments) from a single interface
  • Per-environment API server credentials and namespace isolation
  • Deploy applications to any configured cluster

CI/CD Pipelines

  • Git-based build pipelines powered by Kubernetes Jobs
  • Three-stage pipeline: clone (shallow clone support) → buildpush (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

Command Palette

  • Press / to quickly search applications, deploy apps, open IDEs, or jump to pipelines
  • Fast keyboard-driven navigation across namespaces

Pod Operations

  • Live pod log streaming
  • In-browser terminal access (full TTY support via xterm.js)
  • Pod lifecycle management

IDE Integration (Optional)

  • 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

Authentication & Authorization

  • 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

Localization

  • Chinese (zh) and English (en) UI support
  • Language preference persisted across sessions

Ingress

  • Traefik IngressRoute CRD support for automatic HTTPS routing
  • Gracefully skips ingress setup if Traefik CRDs are absent

Requirements

  • Kubernetes cluster
  • SQLite (default) or MySQL database
  • Traefik (optional, for ingress/HTTPS)

Quick Start

  1. Copy and configure src/main/resources/application.properties.example
  2. 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 build

Or build the full Docker image:

docker build -t oops .

Default admin credentials: admin / admin123 (override via ADMIN_PASSWORD env)

Snapshots

applications.png

app_deploy.png

pod_status.png

pod_terminal.png

env_manager.png

quick_command.png

web_ide.png

About

OOPS: Kubernetes Is All You Need. One-stop ops platform based on Kubernetes 基于Kubernetes的一站式运维平台

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • TypeScript 64.6%
  • Java 34.2%
  • Other 1.2%