GitPedia

Casos

CasOS: a cloud operating system built on Kubernetes, Live Demo: https://casos.casnode.com

From casosorg·Updated June 15, 2026·View on GitHub·

**Live Demo: [https://casos.casnode.com](https://casos.casnode.com)** The project is written primarily in JavaScript, distributed under the Apache License 2.0 license, first published in 2017. It has gained significant community traction with 1,196 stars and 81 forks on GitHub. Key topics include: auth, authorization, casbin, casdoor, container.

Latest release: v1.0.2
June 14, 2026View Changelog →
<div align="center">

CasOS

A cloud operating system built on Kubernetes

Build
Release
Go Report
License
Platform
Discord

Live Demo: https://casos.casnode.com

</div>

What is CasOS?

CasOS is a cloud operating system built on Kubernetes. It embeds the Kubernetes API server, controller manager, and scheduler, so you do not need an existing Kubernetes cluster or a separate control plane — CasOS is the platform itself. Run a single binary and get a fully functional cloud OS with a built-in web UI.

Features

  • Embedded Kubernetes stack (API server, controller manager, scheduler) — no external cluster needed
  • Cluster resource management: Nodes, Namespaces, Pods, Services, ConfigMaps, ServiceAccounts, ClusterRoleBindings
  • Dashboard with cluster overview
  • DockerHub image browser
  • Multi-language support (i18n)
  • Authentication via Casdoor

Tech Stack

LayerTechnology
BackendGo 1.26+, Beego, MySQL (ORM)
FrontendReact 18, Ant Design 6, recharts, i18next
AuthCasdoor (OAuth2 / OIDC)

Project Structure

casos/
├── main.go                  # Entry point
├── conf/app.conf            # Backend configuration
├── controllers/             # HTTP controllers (Beego routing)
├── object/                  # Business logic and data models
├── routers/                 # Route configuration and filters
├── proxy/                   # kube-proxy related logic
└── web/                     # React frontend
    └── src/
        ├── App.js
        ├── DashboardPage.js
        ├── ManagementPage.js
        ├── PodListPage.js
        ├── NodeListPage.js
        ├── NamespaceListPage.js
        ├── ServiceListPage.js
        ├── ConfigMapListPage.js
        ├── ServiceAccountListPage.js
        ├── ClusterRoleBindingListPage.js
        └── backend/         # API client helpers

Prerequisites

  • Backend: Go 1.26+
  • Frontend: Node.js 20+ and Yarn 1.x
  • MySQL database
  • A Casdoor instance (for authentication)

Supported platforms: Linux, macOS, Windows

Configuration

Edit conf/app.conf with your values:

ini
appname = casos httpport = 9000 runmode = dev ; Database driverName = mysql dataSourceName= user:pass@tcp(host:3306)/ dbName = casos ; Casdoor casdoorEndpoint = https://your-casdoor-instance clientId = <your-client-id> clientSecret = <your-client-secret> casdoorOrganization = <your-org> casdoorApplication = <your-app> ; Kubernetes control plane apiserverPort = 6443 apiserverBind = 127.0.0.1 dataDir = /var/lib/casos

Development

Backend

bash
go run main.go

Frontend

bash
cd web # Install dependencies (first time only) yarn install # Start dev server — port 8001, proxies API to localhost:9000 yarn start

Deployment

Backend

bash
# Build binary go build -o casos . # Run ./casos

Frontend

bash
cd web # Production build (outputs to web/build/) yarn build

Serve the web/build/ directory with any static file server, or let the Go backend serve it directly.

Lint

bash
cd web yarn lint:js # ESLint yarn lint:css # Stylelint yarn lint # both

License

Apache 2.0

Contributors

Showing top 1 contributor by commit count.

View all contributors on GitHub →

This article is auto-generated from casosorg/casos via the GitHub API.Last fetched: 6/16/2026