Create tutorials directory with learning-oriented content: - what-is-blumeops: High-level orientation (Reader, AI) - exploring-the-docs: Navigation guide (All audiences) - ai-assistance-guide: Context for AI assistance (AI, Owner) - contributing: First contribution workflow (Contributor) - replicating-blumeops: Overview for replicators Add replication sub-tutorials: - tailscale-setup: Networking foundation - kubernetes-bootstrap: Cluster setup - argocd-config: GitOps configuration - observability-stack: Metrics, logs, dashboards Each tutorial explicitly identifies target audiences and links heavily to reference material rather than re-explaining. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
67 lines
2.4 KiB
Markdown
67 lines
2.4 KiB
Markdown
---
|
|
title: what-is-blumeops
|
|
tags:
|
|
- tutorials
|
|
- getting-started
|
|
---
|
|
|
|
# What is BlumeOps?
|
|
|
|
> **Audiences:** Reader, AI
|
|
|
|
BlumeOps is Erich Blume's personal infrastructure GitOps repository - a system for managing homelab services and infrastructure through version-controlled configuration.
|
|
|
|
## The Short Version
|
|
|
|
BlumeOps runs a collection of self-hosted services (media streaming, git hosting, photo management, RSS feeds, etc.) on home hardware, managed through code rather than manual configuration. Everything is tracked in a git repository, meaning changes are reviewable, reversible, and reproducible.
|
|
|
|
## Why Does This Exist?
|
|
|
|
Three motivations:
|
|
|
|
1. **Learning** - A playground for exploring DevOps, Kubernetes, and infrastructure automation
|
|
2. **Privacy** - Self-hosting services keeps data under personal control
|
|
3. **Resilience** - Less dependence on cloud providers and their service changes
|
|
|
|
## What's Running?
|
|
|
|
BlumeOps consists of:
|
|
|
|
- **A Mac Mini server** ([[indri]]) running Kubernetes and native services
|
|
- **A NAS** ([[sifaka]]) for storage and backups
|
|
- **~16 services** ranging from [[jellyfin|media streaming]] to [[grafana|observability dashboards]]
|
|
- **A Tailscale network** connecting everything securely
|
|
|
|
See [[reference/index|Reference]] for the complete service inventory.
|
|
|
|
## How Is It Organized?
|
|
|
|
```
|
|
blumeops/
|
|
├── ansible/ # Configuration for services on indri
|
|
├── argocd/ # Kubernetes manifests and ArgoCD apps
|
|
├── pulumi/ # Tailscale ACLs and DNS
|
|
└── docs/ # This documentation
|
|
```
|
|
|
|
Changes follow a GitOps workflow:
|
|
1. Modify configuration in a feature branch
|
|
2. Create a pull request for review
|
|
3. Deploy via ArgoCD (Kubernetes) or Ansible (indri)
|
|
4. Merge to main after verification
|
|
|
|
## Key Concepts
|
|
|
|
| Concept | What It Means in BlumeOps |
|
|
|---------|---------------------------|
|
|
| **GitOps** | All infrastructure defined in git; deploys happen by syncing git state |
|
|
| **IaC** | Infrastructure as Code - servers, networks, services defined in files |
|
|
| **Homelab** | Personal server infrastructure at home, not in a datacenter |
|
|
| **Tailscale** | VPN mesh network connecting all devices securely |
|
|
|
|
## Where to Go Next
|
|
|
|
- **Want to understand the architecture?** See [[reference/index|Reference]]
|
|
- **Want to help with BlumeOps?** See [[contributing]]
|
|
- **Want to build something similar?** See [[replicating-blumeops]]
|
|
- **Working with AI assistance?** See [[ai-assistance-guide]]
|