refactor(terraform): move shelly to projects/shelly_taupunktluefter and flatten core infra

This commit is contained in:
Moritz Graf
2026-10-20 09:39:26 +02:00
parent a34fa7ee08
commit 28eedea372
38 changed files with 118 additions and 33 deletions
+14 -12
View File
@@ -19,16 +19,12 @@ This repository is divided into distinct domains, each with its own `AGENTS.md`
* **OpenClaw**: For OpenClaw AI agent deployment and troubleshooting, see [k8s/openclaw/AGENTS.md](./k8s/openclaw/AGENTS.md) and [k8s/openclaw/TROUBLESHOOTING.md](./k8s/openclaw/TROUBLESHOOTING.md).
* **Read**: [k8s/AGENTS.md](./k8s/AGENTS.md)
### 3. Terraform (`terraform/`)
* **Purpose**: Infrastructure as Code divided into two symmetrical modules:
* **Cloud & DNS (`terraform/infrastructure/`)**:
* **DNS Zones**: `haumdaucher.de`, `moritzgraf.de`, `ameliegraf.de`, and others via OVH (`ovh/ovh`).
* **Cloud Services**: Authentik SSO (`authentik.tf`), GCP APIs, backups, and Google Workspace MX/SPF/DKIM.
* **Usage**: `cd terraform/infrastructure && terraform apply`
* **Smart Home Shelly Automation (`terraform/shelly/`)**:
* **Taupi Cellar Mold Ventilation**: Automates Shelly Plug S with psychrometric dew point calculations (`Taupi-4.0.js`) and BTHome Bluetooth sensor telemetry.
* **Usage**: `cd terraform/shelly && terraform apply`
* **Read**: [terraform/shelly/AGENTS.md](./terraform/shelly/AGENTS.md)
### 3. [Terraform](./terraform/AGENTS.md) (`terraform/`)
* **Purpose**: Declarative core cloud infrastructure as code.
* **DNS Zones**: `haumdaucher.de`, `moritzgraf.de`, `ameliegraf.de`, and others via OVH (`ovh/ovh`).
* **Cloud Services**: Authentik SSO (`authentik.tf`), GCP APIs, Velero backup SA (`gcp_backups.tf`), OpenClaw calendar SA (`gcp_calendar.tf`), and Google Workspace MX/SPF/DKIM (`google_workspace.tf`).
* **Usage**: `cd terraform && terraform apply`
* **Read**: [terraform/AGENTS.md](./terraform/AGENTS.md)
### 4. Monitoring (`monitoring/`)
* **Purpose**: Physical ambient BLE sensor fleet monitoring across living areas.
@@ -112,12 +108,18 @@ This repository is divided into distinct domains, each with its own `AGENTS.md`
* **Key Rules**: Vue 3, Vite, TypeScript, and Tailwind CSS; net calorie balance hero, Garmin health breakdown, and quick meal logger.
* **Read**: [projects/moritz/AGENTS.md](./projects/moritz/AGENTS.md)
### 15. Utility Scripts (`scripts/`)
### 15. [Shelly Taupunktlüfter](./projects/shelly_taupunktluefter/AGENTS.md) (`projects/shelly_taupunktluefter/`)
* **Purpose**: Automated cellar ventilation controller ("Taupi") on Shelly Plug S Gen 3 to prevent mold growth using psychrometric calculations and BTHome BLE sensors.
* **Usage**: `cd projects/shelly_taupunktluefter && terraform apply`
* **Key Rules**: Sedlbauer LIM I decoupled mold danger evaluation, summer overheating and winter cold guards, optimal night drying window (03:00–07:00), and Prometheus metrics export.
* **Read**: [projects/shelly_taupunktluefter/AGENTS.md](./projects/shelly_taupunktluefter/AGENTS.md)
### 16. Utility Scripts (`scripts/`)
* **Purpose**: Cross-cutting operational and administration CLI scripts that do not belong inside Kubernetes namespace directories.
* **Key Tools**:
* `scripts/htpasswd.py`: Generates bcrypt-hashed htpasswd credentials for ingress basic auth secrets.
### 16. Network & Router Integration (`fritzbox/`)
### 17. Network & Router Integration (`fritzbox/`)
* **Purpose**: Site-to-Site WireGuard LAN coupling and DynDNS OVH synchronization for the home FritzBox router.
* **Cluster Endpoint**: `k8s/wireguard/` (`vpn.haumdaucher.de`).
* **Read**: [fritzbox/README.md](./fritzbox/README.md)