Skip to content

Commit 76bdf38

Browse files
Copilotchefgs
andcommitted
feat: add Hugo documentation site (Hugo Book theme)
- hugo-docs/ — full Hugo site with 30 pages and Go module theme - content: home, getting-started, ci-cd (GHA/GitLab/Jenkins), gitops (ArgoCD/Flux), sre, kubernetes, dev-container, ai-integration, and complete CLI reference - pages.yml — replace Jekyll build with Hugo Extended 0.147.0 - .gitignore — exclude hugo-docs/public/ and resources/ Co-authored-by: chefgs <7605658+chefgs@users.noreply.github.com>
1 parent 9c81ac1 commit 76bdf38

19 files changed

Lines changed: 2272 additions & 11 deletions

File tree

.github/workflows/pages.yml

Lines changed: 41 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,12 @@
1-
name: Deploy GitHub Pages
1+
name: Deploy Hugo Documentation
22

33
on:
44
push:
55
branches:
66
- main
7+
paths:
8+
- 'hugo-docs/**'
9+
- '.github/workflows/pages.yml'
710
workflow_dispatch:
811

912
permissions:
@@ -15,26 +18,53 @@ concurrency:
1518
group: "pages"
1619
cancel-in-progress: false
1720

21+
# Default shell
22+
defaults:
23+
run:
24+
shell: bash
25+
1826
jobs:
1927
build:
2028
runs-on: ubuntu-latest
29+
env:
30+
HUGO_VERSION: "0.147.0"
2131
steps:
22-
- name: Checkout
32+
- name: Checkout repository
2333
uses: actions/checkout@v4
24-
25-
- name: Setup Pages
26-
uses: actions/configure-pages@v5
2734
with:
28-
enablement: true
35+
fetch-depth: 0 # Full history for .GitInfo / LastMod
2936

30-
- name: Build with Jekyll
31-
uses: actions/jekyll-build-pages@v1
37+
- name: Setup Go (required for Hugo modules)
38+
uses: actions/setup-go@v5
3239
with:
33-
source: ./
34-
destination: ./_site
40+
go-version: "1.22"
3541

36-
- name: Upload artifact
42+
- name: Install Hugo CLI
43+
run: |
44+
wget -O ${{ runner.temp }}/hugo.deb \
45+
https://github.com/gohugoio/hugo/releases/download/v${HUGO_VERSION}/hugo_extended_${HUGO_VERSION}_linux-amd64.deb
46+
sudo dpkg -i ${{ runner.temp }}/hugo.deb
47+
48+
- name: Setup GitHub Pages
49+
id: pages
50+
uses: actions/configure-pages@v5
51+
52+
- name: Download Hugo modules
53+
working-directory: ./hugo-docs
54+
run: hugo mod tidy
55+
56+
- name: Build Hugo site
57+
working-directory: ./hugo-docs
58+
env:
59+
HUGO_ENVIRONMENT: production
60+
# Use the Pages URL configured above
61+
HUGO_BASEURL: ${{ steps.pages.outputs.base_url }}/
62+
run: hugo --gc --minify
63+
64+
- name: Upload Pages artifact
3765
uses: actions/upload-pages-artifact@v3
66+
with:
67+
path: ./hugo-docs/public
3868

3969
deploy:
4070
environment:

.gitignore

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,3 +12,8 @@ _site/
1212
.venv/
1313
venv/
1414
docs/test-report.html
15+
16+
# Hugo build artifacts
17+
hugo-docs/public/
18+
hugo-docs/resources/
19+
hugo-docs/.hugo_build.lock

hugo-docs/content/_index.md

Lines changed: 86 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,86 @@
1+
---
2+
title: "DevOps-OS"
3+
type: "docs"
4+
---
5+
6+
# 🚀 DevOps-OS
7+
8+
**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.**
9+
10+
[![CI](https://github.com/cloudengine-labs/devops_os/actions/workflows/ci.yml/badge.svg)](https://github.com/cloudengine-labs/devops_os/actions/workflows/ci.yml)
11+
[![Python 3.10+](https://img.shields.io/badge/python-3.10%2B-blue?logo=python&logoColor=white)](https://www.python.org/)
12+
[![License: MIT](https://img.shields.io/badge/license-MIT-green)](https://github.com/cloudengine-labs/devops_os/blob/main/LICENSE)
13+
14+
---
15+
16+
## What is DevOps-OS?
17+
18+
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.
19+
20+
## Features
21+
22+
| | Feature | Description |
23+
|--|---------|-------------|
24+
| 🚀 | **CI/CD Generators** | One-command scaffolding for GitHub Actions, GitLab CI, and Jenkins pipelines — [→ CI/CD Generators]({{< relref "/docs/ci-cd" >}}) |
25+
| ☸️ | **GitOps Config Generator** | Kubernetes manifests, ArgoCD Applications, and Flux CD Kustomizations — [→ GitOps & ArgoCD]({{< relref "/docs/gitops" >}}) |
26+
| 📊 | **SRE Config Generator** | Prometheus alert rules, Grafana dashboards, and SLO manifests — [→ SRE Configuration]({{< relref "/docs/sre" >}}) |
27+
| 🤖 | **MCP Server** | Plug DevOps-OS tools into Claude or ChatGPT as native AI skills — [→ AI Integration]({{< relref "/docs/ai-integration" >}}) |
28+
| 🛠️ | **Dev Container** | Pre-configured multi-language environment: Python · Java · Go · JavaScript — [→ Dev Container]({{< relref "/docs/dev-container" >}}) |
29+
| 📖 | **CLI Reference** | Complete option tables, input files, and exact output paths for every command — [→ CLI Reference]({{< relref "/docs/reference" >}}) |
30+
31+
---
32+
33+
## ⚡ Quick Start
34+
35+
```bash
36+
# 1. Clone and install
37+
git clone https://github.com/cloudengine-labs/devops_os.git
38+
cd devops_os
39+
pip install -r cli/requirements.txt
40+
41+
# 2. Generate a GitHub Actions workflow
42+
python -m cli.scaffold_gha --name my-app --languages python,javascript --type complete
43+
# Output: .github/workflows/my-app-complete.yml
44+
45+
# 3. Generate a GitLab CI pipeline
46+
python -m cli.scaffold_gitlab --name my-app --languages python --type complete
47+
# Output: .gitlab-ci.yml
48+
49+
# 4. Generate SRE configs (Prometheus + Grafana + SLO)
50+
python -m cli.scaffold_sre --name my-app --team platform
51+
# Output: sre/ directory
52+
```
53+
54+
> [!NOTE]
55+
> **New here?** Start with the [Getting Started guide]({{< relref "/docs/getting-started" >}}) for a step-by-step walkthrough.
56+
57+
---
58+
59+
## Supported Platforms
60+
61+
| Category | Tools |
62+
|----------|-------|
63+
| **CI/CD** | GitHub Actions, GitLab CI, Jenkins |
64+
| **GitOps / Deploy** | ArgoCD, Flux CD, kubectl, Kustomize |
65+
| **Containers** | Docker, Helm |
66+
| **SRE / Observability** | Prometheus, Grafana, SLO (Sloth-compatible) |
67+
| **AI Integration** | Claude MCP Server, OpenAI function calling |
68+
| **Languages** | Python · Java · Go · JavaScript / TypeScript |
69+
70+
---
71+
72+
## Documentation
73+
74+
| Guide | Description |
75+
|-------|-------------|
76+
| [Getting Started]({{< relref "/docs/getting-started" >}}) | Zero to first pipeline in 5 minutes |
77+
| [Quick Start Reference]({{< relref "/docs/getting-started/quickstart" >}}) | All CLI commands at a glance |
78+
| [GitHub Actions]({{< relref "/docs/ci-cd/github-actions" >}}) | Generate GHA workflows |
79+
| [GitLab CI]({{< relref "/docs/ci-cd/gitlab-ci" >}}) | Generate GitLab pipelines |
80+
| [Jenkins]({{< relref "/docs/ci-cd/jenkins" >}}) | Generate Jenkinsfiles |
81+
| [ArgoCD & Flux]({{< relref "/docs/gitops" >}}) | Generate GitOps configs |
82+
| [SRE Configuration]({{< relref "/docs/sre" >}}) | Generate monitoring & alerting configs |
83+
| [Kubernetes]({{< relref "/docs/kubernetes" >}}) | Generate K8s manifests |
84+
| [Dev Container]({{< relref "/docs/dev-container" >}}) | Configure the dev container |
85+
| [AI Integration]({{< relref "/docs/ai-integration" >}}) | MCP server & AI skills |
86+
| [CLI Reference]({{< relref "/docs/reference" >}}) | Full CLI options and output paths |

hugo-docs/content/docs/_index.md

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
---
2+
title: "Documentation"
3+
weight: 1
4+
bookFlatSection: false
5+
---
6+
7+
# DevOps-OS Documentation
8+
9+
Welcome to the DevOps-OS documentation. Use the sidebar to navigate between sections, or start with the guides below.
10+
11+
## Where to start
12+
13+
> [!NOTE]
14+
> **New users:** Read [Getting Started]({{< relref "/docs/getting-started" >}}) first — it walks you through installation and generates your first pipeline in under 5 minutes.
15+
16+
## Documentation sections
17+
18+
| Section | What you'll find |
19+
|---------|-----------------|
20+
| [Getting Started]({{< relref "/docs/getting-started" >}}) | Prerequisites, installation, first pipeline |
21+
| [Quick Start]({{< relref "/docs/getting-started/quickstart" >}}) | All CLI commands with output paths |
22+
| [CI/CD Generators]({{< relref "/docs/ci-cd" >}}) | GitHub Actions, GitLab CI, Jenkins |
23+
| [GitOps & ArgoCD]({{< relref "/docs/gitops" >}}) | ArgoCD and Flux CD configs |
24+
| [SRE Configuration]({{< relref "/docs/sre" >}}) | Prometheus, Grafana, SLO, Alertmanager |
25+
| [Kubernetes]({{< relref "/docs/kubernetes" >}}) | Kubernetes manifest generator |
26+
| [Dev Container]({{< relref "/docs/dev-container" >}}) | Multi-language dev environment setup |
27+
| [AI Integration]({{< relref "/docs/ai-integration" >}}) | MCP server for Claude / ChatGPT |
28+
| [CLI Reference]({{< relref "/docs/reference" >}}) | Complete command options and output paths |
Lines changed: 182 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,182 @@
1+
---
2+
title: "AI Integration"
3+
weight: 70
4+
---
5+
6+
# AI Integration — MCP Server & AI Skills
7+
8+
DevOps-OS exposes all its pipeline automation tools as an **MCP (Model Context Protocol) server** and as **AI skill definitions** for Claude and OpenAI.
9+
10+
---
11+
12+
## Available Tools
13+
14+
| Tool | What it generates |
15+
|------|-------------------|
16+
| `generate_github_actions_workflow` | GitHub Actions workflow YAML |
17+
| `generate_jenkins_pipeline` | Jenkins Declarative Pipeline (Jenkinsfile) |
18+
| `generate_k8s_config` | Kubernetes Deployment + Service manifests |
19+
| `scaffold_devcontainer` | `devcontainer.json` + `devcontainer.env.json` |
20+
| `generate_gitlab_ci_pipeline` | GitLab CI/CD pipeline (`.gitlab-ci.yml`) |
21+
| `generate_argocd_config` | Argo CD Application and AppProject manifests |
22+
| `generate_sre_configs` | SRE / observability configs (Prometheus, Grafana, SLO) |
23+
24+
---
25+
26+
## MCP Server
27+
28+
### Installation
29+
30+
```bash
31+
pip install -r mcp_server/requirements.txt
32+
```
33+
34+
### Running the server
35+
36+
```bash
37+
# Run as a stdio MCP server (default — for Claude Desktop and most MCP clients)
38+
python -m mcp_server.server
39+
40+
# Or directly
41+
python mcp_server/server.py
42+
```
43+
44+
### Connecting to Claude Desktop
45+
46+
Add to `claude_desktop_config.json`
47+
(`~/Library/Application Support/Claude/claude_desktop_config.json` on macOS):
48+
49+
```json
50+
{
51+
"mcpServers": {
52+
"devops-os": {
53+
"command": "python",
54+
"args": ["-m", "mcp_server.server"],
55+
"cwd": "/path/to/devops_os"
56+
}
57+
}
58+
}
59+
```
60+
61+
Restart Claude Desktop, then ask it:
62+
63+
> *"Generate a complete GitHub Actions CI/CD workflow for a Python + Node.js project with Kubernetes deployment using Kustomize."*
64+
65+
> *"Create a Jenkins pipeline for a Python microservice with Docker build and push stages."*
66+
67+
> *"Scaffold a devcontainer for a Go + Python project with Terraform and kubectl."*
68+
69+
---
70+
71+
## Architecture
72+
73+
```
74+
AI Assistant (Claude / ChatGPT)
75+
│ MCP / function-call request
76+
77+
DevOps-OS MCP Server ←──────────┐
78+
│ │
79+
│ calls Python functions │
80+
▼ │
81+
cli.scaffold_gha │
82+
cli.scaffold_gitlab (same generators
83+
cli.scaffold_jenkins used by the CLI)
84+
cli.scaffold_argocd │
85+
cli.scaffold_sre │
86+
│ │
87+
▼ │
88+
Generated files ───────────────┘
89+
```
90+
91+
---
92+
93+
## Using with Claude (Anthropic API)
94+
95+
Load `skills/claude_tools.json` as the `tools` parameter:
96+
97+
```python
98+
import json
99+
import anthropic
100+
101+
with open("skills/claude_tools.json") as fh:
102+
tools = json.load(fh)
103+
104+
client = anthropic.Anthropic()
105+
response = client.messages.create(
106+
model="claude-opus-4-5",
107+
max_tokens=4096,
108+
tools=tools,
109+
messages=[{
110+
"role": "user",
111+
"content": (
112+
"Generate a complete GitHub Actions CI/CD workflow for a "
113+
"Python + Node.js project with Kubernetes deployment via Kustomize."
114+
),
115+
}],
116+
)
117+
118+
for block in response.content:
119+
if block.type == "tool_use":
120+
print(f"Tool: {block.name}")
121+
print(f"Input: {json.dumps(block.input, indent=2)}")
122+
```
123+
124+
---
125+
126+
## Using with OpenAI (function calling)
127+
128+
Load `skills/openai_functions.json` as the `tools` parameter:
129+
130+
```python
131+
import json
132+
import openai
133+
134+
with open("skills/openai_functions.json") as fh:
135+
functions = json.load(fh)
136+
137+
client = openai.OpenAI()
138+
response = client.chat.completions.create(
139+
model="gpt-4o",
140+
tools=functions,
141+
messages=[{
142+
"role": "user",
143+
"content": "Generate a Jenkins pipeline for a Java Spring Boot app."
144+
}],
145+
)
146+
147+
for choice in response.choices:
148+
if choice.message.tool_calls:
149+
for tc in choice.message.tool_calls:
150+
print(f"Function: {tc.function.name}")
151+
print(f"Args: {tc.function.arguments}")
152+
```
153+
154+
---
155+
156+
## Custom GPT / GPT Actions
157+
158+
Use `skills/openai_functions.json` as the OpenAPI schema for a Custom GPT Action:
159+
160+
1. Open **ChatGPT → Create a GPT → Configure → Actions → Create new action**
161+
2. Paste the contents of `skills/openai_functions.json`
162+
3. Set the server URL to your deployed MCP server endpoint
163+
4. Save and test the GPT
164+
165+
---
166+
167+
## Example Prompts
168+
169+
```
170+
Generate a GitHub Actions workflow for a Java Spring Boot app with kubectl deployment.
171+
172+
Create a Jenkins pipeline for a Python microservice with Docker build and push stages.
173+
174+
Scaffold a devcontainer for a Go + Python project with Terraform and kubectl.
175+
176+
Generate Kubernetes manifests for an app called 'api-service' using image
177+
'ghcr.io/myorg/api-service:v1.2.3' with 3 replicas on port 8080.
178+
179+
Create a GitLab CI pipeline with Python testing and ArgoCD deployment.
180+
181+
Generate SRE configs for my-service with a 99.9% availability SLO and PagerDuty alerts.
182+
```

0 commit comments

Comments
 (0)