Skip to content

cloudengine-labs/devops_os

Repository files navigation

🚀 DevOps-OS

Automate your entire DevOps lifecycle — from CI/CD pipelines to Kubernetes deployments and SRE dashboards — using a conversational AI assistant or a single CLI command.

CI Sanity Tests Version Python 3.10+ License: MIT Open Source GitHub Stars


Category: DevOps Automation · AI-Assisted Infrastructure · GitOps · SRE Tooling


✨ What is DevOps-OS?

DevOps-OS is an open-source DevOps automation platform that scaffolds production-ready CI/CD pipelines, Kubernetes configurations, and SRE observability configs — in seconds, from a single CLI command or an AI chat prompt.

Feature Description
🚀 CI/CD Generators One-command scaffolding for GitHub Actions, GitLab CI, and Jenkins pipelines
☸️ GitOps Config Generator Kubernetes manifests, ArgoCD Applications, and Flux CD Kustomizations
📊 SRE Config Generator Prometheus alert rules, Grafana dashboards, and SLO manifests
🤖 MCP Server Plug DevOps-OS tools into Claude or ChatGPT as native AI skills
🛠️ Dev Container Pre-configured multi-language environment (Python · Java · Go · JavaScript)
🔄 Process-First Built-in education on the Process-First SDLC philosophy and how it maps to every DevOps-OS tool

👥 Who Is This For?

DevOps-OS is built for anyone who wants to move faster and stop writing boilerplate DevOps configs by hand.

Audience How DevOps-OS helps
Solo developers Get a production-ready CI/CD pipeline in under a minute — no DevOps expertise needed
DevOps / platform engineers Standardise pipeline templates across teams with a single CLI command
SRE teams Generate Prometheus alert rules, Grafana dashboards, and SLO manifests instantly
DevOps learners & students Learn the Process-First SDLC philosophy through runnable examples, not just theory
AI / LLM builders Plug every scaffold tool into Claude or ChatGPT via the built-in MCP server
Open-source contributors A well-structured Python project with a clean CLI, full test suite, and contribution guide

🏗️ Tech Stack

CI/CD & GitOps

GitHub Actions GitLab CI Jenkins ArgoCD Flux CD

Kubernetes & Infrastructure

Kubernetes Helm Kustomize Terraform Docker

Observability

Prometheus Grafana

Languages

Python Go Java JavaScript

AI Integration

Claude OpenAI GitHub Copilot


⚡ Quick Start

Prerequisites


1 — Clone & install

git clone https://github.com/cloudengine-labs/devops_os.git
cd devops_os

# Create and activate a virtual environment (recommended)
python -m venv .venv
source .venv/bin/activate        # macOS / Linux
# .venv\Scripts\activate         # Windows (cmd / PowerShell)

pip install -r cli/requirements.txt

2 — Learn the Process-First philosophy (recommended first step)

DevOps-OS is built on the Process-First SDLC philosophy from cloudenginelabs.io. Run the process-first command to understand why each tool exists before you start using it:

# Full overview — what Process-First is, how it maps to DevOps-OS, and learning tips
python -m cli.devopsos process-first

# Just the 5 core principles
python -m cli.devopsos process-first --section what

# Table: which scaffold command encodes which principle
python -m cli.devopsos process-first --section mapping

# AI prompts and book recommendations for beginners
python -m cli.devopsos process-first --section tips

Tip: Run --section mapping to see exactly which devopsos scaffold command to use for each DevOps goal before generating any config.
See docs/PROCESS-FIRST.md for the full reference.


3 — Generate a GitHub Actions workflow

# Complete CI/CD for a Python + JavaScript project
python -m cli.devopsos scaffold gha --name my-app --languages python,javascript --type complete

# With Kubernetes deployment
python -m cli.devopsos scaffold gha --name my-app --languages python --type complete --kubernetes

# With Kubernetes deployment via Kustomize
python -m cli.devopsos scaffold gha --name my-app --languages python --kubernetes --k8s-method kustomize

4 — Generate other pipelines & configs

All generators are available as subcommands of the unified CLIpython -m cli.devopsos scaffold <target>:

# Jenkins pipeline → Jenkinsfile
python -m cli.devopsos scaffold jenkins --name my-app --languages java --type complete

# GitLab CI pipeline → .gitlab-ci.yml
python -m cli.devopsos scaffold gitlab --name my-app --languages python,go --type complete

# ArgoCD GitOps configs → argocd/application.yaml + argocd/appproject.yaml
python -m cli.devopsos scaffold argocd --name my-app --repo https://github.com/myorg/my-app.git

# Flux GitOps configs → flux/git-repository.yaml + flux/kustomization.yaml + flux/image-update-automation.yaml
python -m cli.devopsos scaffold argocd --name my-app --method flux --repo https://github.com/myorg/my-app.git

# SRE configs (Prometheus, Grafana, SLO) → sre/ directory
python -m cli.devopsos scaffold sre --name my-app --team platform --slo-target 99.9

# Dev container configuration → .devcontainer/devcontainer.json + .devcontainer/devcontainer.env.json
python -m cli.devopsos scaffold devcontainer --languages python,go --cicd-tools docker,terraform --kubernetes-tools k9s,flux

# Kubernetes manifests
python kubernetes/k8s-config-generator.py --name my-app --image ghcr.io/myorg/my-app:v1

Use python -m cli.devopsos scaffold --help to list all available targets and python -m cli.devopsos scaffold <target> --help to see every option for a specific target.

See CLI Commands Reference for the full option tables and every default output path.


5 — Interactive wizard (all-in-one)

python -m cli.devopsos init              # interactive project configurator

Single Cli Command for Platform Engineering Capabilities - Dev Container and CICD Environment Setup


6 — Use with AI (MCP Server) - WIP

pip install -r mcp_server/requirements.txt
python mcp_server/server.py

Add to your claude_desktop_config.json and ask Claude:

"Generate a complete CI/CD GitHub Actions workflow for my Python API with Kubernetes deployment using ArgoCD."

See mcp_server/README.md for full setup and skills/README.md for Claude API & OpenAI function-calling examples.


🗂️ Quick Start Commands

Copy-paste commands for every CLI feature. No config files needed — all options have sensible defaults.

# ── Setup ──────────────────────────────────────────────────────────────────
git clone https://github.com/cloudengine-labs/devops_os.git && cd devops_os
pip install -r cli/requirements.txt

# ── Check version ──────────────────────────────────────────────────────────
python -m cli.devopsos --version           # → devopsos version 0.2.0

# ── Interactive project wizard ─────────────────────────────────────────────
python -m cli.devopsos init                # guided setup for any project

# ── GitHub Actions ─────────────────────────────────────────────────────────
python -m cli.devopsos scaffold gha --name my-app --type build --languages python
python -m cli.devopsos scaffold gha --name my-app --type complete --languages python,javascript --kubernetes

# ── Jenkins ────────────────────────────────────────────────────────────────
python -m cli.devopsos scaffold jenkins --name my-app --type build --languages java

# ── GitLab CI ──────────────────────────────────────────────────────────────
python -m cli.devopsos scaffold gitlab --name my-app --type build --languages python
python -m cli.devopsos scaffold gitlab --name my-app --type complete --kubernetes

# ── ArgoCD / Flux GitOps ───────────────────────────────────────────────────
python -m cli.devopsos scaffold argocd --name my-app --repo https://github.com/org/my-app.git
python -m cli.devopsos scaffold argocd --name my-app --method flux --repo https://github.com/org/my-app.git

# ── SRE (Prometheus + Grafana + SLO) ──────────────────────────────────────
python -m cli.devopsos scaffold sre --name my-app --team platform --slo-target 99.9

# ── Dev Container ──────────────────────────────────────────────────────────
python -m cli.devopsos scaffold devcontainer --languages python,go --cicd-tools docker,terraform

# ── Combined CI/CD (GHA + Jenkins in one step) ────────────────────────────
python -m cli.devopsos scaffold cicd --name my-app --type build --languages python --github --jenkins

# ── Process-First philosophy ───────────────────────────────────────────────
python -m cli.devopsos process-first                      # full overview
python -m cli.devopsos process-first --section mapping    # which tool for which goal

# ── Help for any command ───────────────────────────────────────────────────
python -m cli.devopsos --help
python -m cli.devopsos scaffold --help
python -m cli.devopsos scaffold gha --help

Full option reference: docs/CLI-COMMANDS-REFERENCE.md
CLI test report: docs/CLI-TEST-REPORT.md


📁 Repository Structure

devops_os/
├── .devcontainer/      # Dev container config (Dockerfile, devcontainer.json, setup scripts)
├── .github/workflows/  # CI, Sanity Tests, and GitHub Pages workflows
├── cli/                # CLI scaffold tools (scaffold_gha, gitlab, jenkins, argocd, sre, devopsos)
├── kubernetes/         # Kubernetes manifest generator
├── mcp_server/         # MCP server for AI assistant integration (Claude, ChatGPT)
├── skills/             # Claude & OpenAI tool/function definitions
├── docs/               # Detailed guides and test reports
├── tests/              # Comprehensive test suite
├── go-project/         # Example Go application
└── scripts/            # Helper scripts

🧪 Testing

Sanity Tests

All tests run without real infrastructure — everything uses in-memory mock data.

pip install -r cli/requirements.txt -r mcp_server/requirements.txt pytest pytest-html
python -m pytest cli/test_cli.py mcp_server/test_server.py tests/test_comprehensive.py -v

Latest results: ✅ 162 passed · ⚠️ 3 xfailed (known tracked bugs) · ❌ 0 failed

Report Description
🖥️ CLI Test Report CLI v0.2.0 post-revamp test results — 52 tests, all passing
📋 Detailed Test Report Full results with CLI output samples for every scaffold command
🌐 Interactive HTML Report Self-contained pytest HTML report
📄 CLI Output Examples Real captured output for all scaffold sub-commands
⚙️ Sanity Workflow GitHub Actions workflow running all scenarios on every push

🛠️ Dev Container

The pre-configured dev container gives you a consistent multi-language environment with all CI/CD tools included.

Supported languages & tools
Category Tools
Languages Python 3.11 · Java 17 · Node.js 20 · Go 1.21
Build tools pip · Maven · Gradle · npm · yarn
Linting/Testing pytest · black · flake8 · mypy · Jest · ESLint · golangci-lint
Containers Docker CLI · Docker Compose
IaC Terraform
Kubernetes kubectl · Helm · Kustomize · K9s · KinD · Minikube
GitOps ArgoCD CLI · Flux CD
Secrets Kubeseal (Sealed Secrets)
Observability Prometheus · Grafana

Generate a dev container configuration from the CLI instead of editing JSON by hand:

# Generate devcontainer.json and devcontainer.env.json for a Python + Go project
python -m cli.devopsos scaffold devcontainer \
  --languages python,go \
  --cicd-tools docker,terraform,kubectl \
  --kubernetes-tools k9s,flux \
  --devops-tools prometheus,grafana

You can also customize .devcontainer/devcontainer.env.json directly to enable or disable any language or tool, then reopen in VS Code.


📚 Documentation

Guide Description
🚀 Getting Started Easy step-by-step guide — start here
📖 CLI Commands Reference Complete reference — every option, input file, and output location
🖥️ CLI Test Report v0.2.0 CLI revamp test results — 52 tests, all passing
🔄 Process-First Philosophy What Process-First means, how it maps to DevOps-OS, and AI learning tips
📦 Dev Container Setup Set up and customize the dev container
⚡ Quick Start Reference Essential CLI commands for all features
⚙️ GitHub Actions Generator Generate and customize GitHub Actions workflows
🦊 GitLab CI Generator Generate and customize GitLab CI pipelines
🔧 Jenkins Pipeline Generator Generate and customize Jenkins pipelines
🔄 ArgoCD / Flux GitOps Generate ArgoCD Applications and Flux Kustomizations
📊 SRE Configuration Prometheus rules, Grafana dashboards, SLO manifests
☸️ Kubernetes Deployments Generate and manage Kubernetes deployment configs
🤖 MCP Server Connect DevOps-OS tools to Claude or ChatGPT
🧠 AI Skills Use DevOps-OS with the Anthropic API or OpenAI function calling

🤝 Contributing

Contributions are welcome! Whether it's a bug fix, a new scaffold generator, or documentation improvement — feel free to open an issue or submit a pull request.

  1. Fork the repository
  2. Create a feature branch: git checkout -b feature/my-feature
  3. Commit your changes: git commit -m 'feat: add my feature'
  4. Push and open a pull request

Read contribution guideline here


📄 License

This project is licensed under the MIT License — see the LICENSE file for details.


Made with ❤️ by CloudEngine Labs