oops

agent
Security Audit
Warn
Health Pass
  • License — License: Apache-2.0
  • Description — Repository has a description
  • Active repo — Last push 0 days ago
  • Community trust — 10 GitHub stars
Code Warn
  • network request — Outbound network request in web/app/apps/[namespace]/[name]/publish/page.tsx
Permissions Pass
  • Permissions — No dangerous permissions requested

No AI report is available for this listing yet.

SUMMARY

OOPS: Kubernetes Is All You Need. One-stop ops platform based on Kubernetes

README.md

OOPS

Kubernetes Is All You Need

OOPS logo

OOPS is a Kubernetes PaaS where humans and AI Agents are equal first-class operators. It ships with a Claude Code Skill that lets Agents drive end-to-end deploys — create app, upload source, configure build, deploy, stream logs, get notified on success or failure — without kubectl or YAML, with every write awaiting explicit user approval so the Agent can't silently mass-mutate.

中文

React Doctor

Why OOPS?

KubeSphere, Rainbond, and ArgoCD each solve a real slice of the Kubernetes problem — and each one assumes a human is the only operator. OOPS keeps the human experience intact and lets Agents drive the same platform through the same surface:

Project Built for How OOPS differs
KubeSphere Platform teams building enterprise IDPs through plug-in ecosystems Small, focused surface — same actions usable from UI or API, no plug-in framework to navigate
Rainbond Developers who don't want to learn Kubernetes Same simplicity for developers, plus a programmatic surface so Agents can drive the platform too
ArgoCD GitOps pipelines reconciling Git → cluster Humans or Agents can deploy directly from a code archive — Git is supported but not required

Features

Deploy any app

Push code or upload a ZIP, and OOPS builds the image and rolls it out to your Kubernetes cluster, with build logs streaming in real time.

Multi-cluster management

Connect any number of clusters and manage them side by side from a single console — switch deployment targets without leaving the UI.

Watch what's running

Live logs, in-browser terminal, and a file browser for any running pod. Cluster nodes and pod status at a glance.

A sandbox built for Agents

Agent-grade sandbox capability built in (similar to OpenSandbox) — give your Agent an isolated workspace to run commands, install tools, or debug. Results stream back live, and everything is torn down when it's done.

Multi-domain management

Manage multiple domains from a single console. Configure automatic HTTPS via certificate resolvers or upload your own TLS certificates; wildcard domains are supported.

Requirements

Component Required Purpose
Kubernetes cluster (1.22+) Yes Runtime for applications, pipelines, and IDEs
SQLite (default) or MySQL Yes Persistence for OOPS metadata
Container image registry Yes Pipeline image push / pull
Traefik v3 No Ingress and HTTPS routing
S3-compatible object storage No ZIP source uploads

Quick Start

Docker Compose

docker compose -f docker/docker-compose.yml up -d

Then open http://localhost:8080 and sign in with admin / admin123.

Build from source

# Backend
./mvnw spring-boot:run

# Frontend (dev) — automatically proxies /api to localhost:8080
cd web && pnpm install && pnpm dev

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

How it works

Application Build & Deploy Pipeline

flowchart LR
    Start([User triggers deploy]) --> Src{Source}
    Src -->|GIT| Clone["① Clone<br/>git clone"]
    Src -->|ZIP| Upload["Upload ZIP<br/>(presigned S3 URL)"]
    Upload --> CloneZ["① Clone<br/>curl from S3"]
    Clone --> Build["② Build<br/>(optional)"]
    CloneZ --> Build
    Build --> Push["③ Push<br/>Buildah build & push"]
    Push --> Scan{"Job result<br/>(polled 5s)"}
    Scan -->|Failed| Err([ERROR ❌])
    Scan -->|Succeeded| Mode{Deploy mode}
    Mode -->|MANUAL| Wait([BUILD_SUCCEEDED ⏸️<br/>awaits trigger])
    Mode -->|IMMEDIATE| Deploy["Apply K8s<br/>StatefulSet · Service · IngressRoute"]
    Wait --> Deploy
    Deploy --> Ok([SUCCEEDED ✅])

    style Start fill:#4CAF50,color:#fff
    style Ok fill:#4CAF50,color:#fff
    style Err fill:#f44336,color:#fff
    style Wait fill:#FF9800,color:#fff

Pipeline State Machine

stateDiagram-v2
    direction LR
    [*] --> INITIALIZED: Pipeline created
    INITIALIZED --> RUNNING: K8s Job submitted

    RUNNING --> BUILD_SUCCEEDED: Job succeeded<br/>(MANUAL mode)
    RUNNING --> DEPLOYING: Job succeeded<br/>(IMMEDIATE mode)
    RUNNING --> ERROR: Job failed
    RUNNING --> STOPPED: User cancels

    BUILD_SUCCEEDED --> DEPLOYING: User triggers deploy

    DEPLOYING --> SUCCEEDED: Deploy completed
    DEPLOYING --> ERROR: Deploy failed

    SUCCEEDED --> [*]
    ERROR --> [*]
    STOPPED --> [*]

Snapshots

applications.png

app_deploy.png

pod_status.png

pod_terminal.png

env_manager.png

quick_command.png

web_ide.png

License

This project is licensed under the Apache License 2.0. See the LICENSE file for details.

Reviews (0)

No results found