Add the redacted source file for demo purposes Reviewed-on: https://source.michaeldileo.org/michael_dileo/Keybard-Vagabond-Demo/pulls/1 Co-authored-by: Michael DiLeo <michael_dileo@proton.me> Co-committed-by: Michael DiLeo <michael_dileo@proton.me>
58 lines
2.9 KiB
Plaintext
58 lines
2.9 KiB
Plaintext
---
|
|
description: Keyboard Vagabond project overview and core infrastructure context
|
|
globs: []
|
|
alwaysApply: true
|
|
---
|
|
|
|
# Keyboard Vagabond - Project Overview
|
|
|
|
## System Overview
|
|
This is a **Talos-based Kubernetes cluster** designed to host **fediverse applications** for <200 MAU (Monthly Active Users):
|
|
- **Mastodon** (Twitter-like microblogging) ✅ OPERATIONAL
|
|
- **Pixelfed** (Instagram-like photo sharing) ✅ OPERATIONAL
|
|
- **PieFed** (Reddit-like forum) ✅ OPERATIONAL
|
|
- **BookWyrm** (Social reading platform) ✅ OPERATIONAL
|
|
- **Matrix** (Chat/messaging) - Future deployment
|
|
|
|
## Architecture Summary ✅ OPERATIONAL
|
|
- **Three ARM64 Nodes**: n1, n2, n3 (all control plane nodes with VIP 10.132.0.5)
|
|
- **Zero Trust Security**: Cloudflare tunnels + Tailscale mesh VPN
|
|
- **Storage**: Longhorn distributed with S3 backup to Backblaze B2
|
|
- **Database**: PostgreSQL HA cluster with CloudNativePG operator
|
|
- **Cache**: Redis HA cluster with HAProxy (redis-ha-haproxy.redis-system.svc.cluster.local)
|
|
- **Monitoring**: OpenTelemetry + OpenObserve (O2)
|
|
- **Registry**: Harbor container registry
|
|
- **CDN**: Per-application Cloudflare CDN with dedicated S3 buckets
|
|
|
|
## Project Structure
|
|
```
|
|
keyboard-vagabond/
|
|
├── .cursor/rules/ # Cursor rules (this directory)
|
|
├── docs/ # Operational documentation and guides
|
|
├── manifests/ # Kubernetes manifests
|
|
│ ├── infrastructure/ # Core infrastructure components
|
|
│ ├── applications/ # Fediverse applications
|
|
│ └── cluster/flux-system/ # GitOps configuration
|
|
├── build/ # Custom container builds
|
|
├── machineconfigs/ # Talos node configurations
|
|
└── tools/ # Development utilities
|
|
```
|
|
|
|
## Rule Organization
|
|
The `.cursor/rules/` directory contains specialized rules:
|
|
- **00-project-overview.mdc** (this file) - Always applied project context
|
|
- **infrastructure.mdc**: Auto-attached when working in `manifests/infrastructure/`
|
|
- **applications.mdc**: Auto-attached when working in `manifests/applications/`
|
|
- **security.mdc**: SOPS and Zero Trust patterns (auto-attached for YAML files)
|
|
- **development.mdc**: Development patterns and operational guidelines
|
|
- **troubleshooting-history.mdc**: Historical issues, migrations, and lessons learned
|
|
- **templates/**: Common configuration templates (*.yaml files)
|
|
|
|
## Key Operational Facts
|
|
- **Domain**: `keyboardvagabond.com`
|
|
- **API Endpoint**: `api.keyboardvagabond.com:6443` (Tailscale-only access)
|
|
- **Control Plane VIP**: `10.132.0.5:6443` (nodes elect primary, VIP provides HA)
|
|
- **Zero Trust**: All external services via Cloudflare tunnels (no port exposure)
|
|
- **Network**: NetCup Cloud vLAN 1004963 (10.132.0.0/24)
|
|
- **Security**: Enterprise-grade with SOPS encryption, mesh VPN, host firewall
|
|
- **Status**: Fully operational, production-ready cluster |