From 9f98e5c56ba1a88ae07b1ba77f5b930e0d6fbd98 Mon Sep 17 00:00:00 2001 From: DocTator Date: Thu, 1 May 2025 05:21:05 -0400 Subject: [PATCH] Auto-commit from giteapush.sh at 2025-05-01 05:21:05 --- markdown/infrastructure.md | 86 ++++++++++++++++++++++++++++++++++++++ miscellaneous/dbcheck.log | 4 ++ 2 files changed, 90 insertions(+) create mode 100644 markdown/infrastructure.md diff --git a/markdown/infrastructure.md b/markdown/infrastructure.md new file mode 100644 index 0000000..65c8eb8 --- /dev/null +++ b/markdown/infrastructure.md @@ -0,0 +1,86 @@ +# 📊 Genesis Radio Infrastructure Overview +**Date:** April 30, 2025 +**Prepared by:** Doc + +--- + +## 🏗️ Infrastructure Summary + +Genesis Radio now operates a fully segmented, secure, and performance-tuned backend suitable for enterprise-grade broadcasting and media delivery. The infrastructure supports high availability (HA) principles for storage and platform independence for core services. + +--- + +## 🧱 Core Components + +### 🎙️ Genesis Radio Services +- **StationPlaylist (SPL)**: Windows-based automation system, mounts secure object storage as drives via rclone +- **Voice Tracker (Remote Access)**: Synced with SPL backend and available to authorized remote users +- **Azuracast (Secondary automation)**: Dockerized platform running on dedicated VM +- **Mastodon (Community)**: Hosted in Docker with separate PostgreSQL cluster and MinIO object storage + +--- + +## 💾 Storage Architecture + +| Feature | Status | +|-----------------------------|---------------------------| +| Primary Storage Backend | MinIO on `shredderv2` | +| Storage Filesystem | ZFS RAID-Z1 | +| Encryption | Enabled (per-bucket S3 SSE) | +| Buckets (Scoped) | `genesislibrary-secure`, `genesisassets-secure`, `genesisshows-secure`, `mastodonassets-secure` | +| Snapshot Capability | ✅ (ZFS native snapshots) | +| Caching | SSD-backed rclone VFS cache per mount | + +--- + +## 🛡️ Security & Access Control + +- TLS for all services (Let's Encrypt) +- MinIO Console behind HTTPS (`consolev2.sshjunkie.com`) +- User policies applied per-bucket (read/write scoped) +- Server-to-server rsync/rclone over SSH + +--- + +## 🔄 Backup & Recovery + +- Dedicated backup server with SSH access +- Nightly rsync for show archives and Mastodon data +- Snapshot replication via `zfs send | ssh backup zfs recv` planned +- Manual and automated snapshot tools + +--- + +## 🔍 Monitoring & Observability + +| Component | Status | Notes | +|------------------|--------------|------------------------------| +| System Monitoring| `vmstat`, `watch`, custom CLI tools | +| Log Aggregation | Centralized on pyapps VM | +| Prometheus | Partial (used with ClusterControl) | +| Alerts | Mastodon warning bot, Telegram planned | + +--- + +## 🚦 Current Migration Status + +| Component | Status | Notes | +|------------------|----------------|---------------------------------| +| Mastodon Assets | ✅ Migrated | Verified, encrypted, ZFS snapshotted | +| Genesis Library | ✅ Migrated | Synced from backup server | +| Genesis Assets | ✅ Migrated | Cleanup of shows in progress | +| Genesis Shows | ✅ Migrated | Pulled from same source, cleanup to follow | +| Azuracast | Migrated | Staged and restored from staging + +--- + +## 🧭 Next Steps + +- Clean up misplaced show files in assets bucket +- Automate ZFS snapshot replication +- Consider Grafana/Prometheus dashboard for real-time metrics +- Continue phasing out legacy containers (LXC → full VMs) + +--- + +This infrastructure is stable, secure, and built for scale. Further improvements will refine observability, automate recovery, and enhance multi-user coordination. diff --git a/miscellaneous/dbcheck.log b/miscellaneous/dbcheck.log index d578117..04954a1 100644 --- a/miscellaneous/dbcheck.log +++ b/miscellaneous/dbcheck.log @@ -1105,3 +1105,7 @@ paramiko.ssh_exception.SSHException: Error reading SSH protocol banner ✅ Genesis Radio Healthcheck 2025-05-01 04:30:15: All systems normal. ✅ Genesis Radio Healthcheck 2025-05-01 04:45:18: All systems normal. ✅ Genesis Radio Healthcheck 2025-05-01 05:00:12: All systems normal. +✅ Genesis Radio Healthcheck 2025-05-01 05:15:15: All systems normal. +Failed to send Mastodon DM (attempt 1): {"error":"The access token is invalid"} +Failed to send Mastodon DM (attempt 2): {"error":"The access token is invalid"} +Failed to send Mastodon DM (attempt 3): {"error":"The access token is invalid"}