Auto-sync: 2026-07-24

This commit is contained in:
Dominik Schön
2026-07-24 22:00:15 +00:00
parent de97cd6d20
commit 1643a0a6b5
36 changed files with 920 additions and 499 deletions
+47
View File
@@ -0,0 +1,47 @@
---
title: Credential Policy
category: concepts
tags: [credentials, security, 1password, secrets]
created: "2026-07-24"
modified: "2026-07-24"
---
# Credential Policy
## Regel
Credentials, API-Keys und Secrets gehören in den 1Password Vault "Hermes" und werden von dort abgerufen (via `op` CLI). Passwörter in .env-Dateien sind ebenfalls akzeptabel. **Keine Secrets in Git-Repositories.**
## 1Password Vaults
| Vault | Zweck | Used By |
|-------|-------|---------|
| Hermes | General secrets | Hermes Agent |
| Kubernetes ESO | K8s ExternalSecrets Operator | ESO → K8s Secrets |
## ESO (External Secrets Operator)
- Liest aus Vault "Kubernetes ESO"
- Failing ExternalSecrets burn 1000 requests/hr
- Bei Problemen: ESO scale 0, warten, fixen, wieder scale 1
## Bekannte Issues
- **`mariadb-root` Item in 1Password**: PASSWORT IST FALSCH — echtes PW in `/root/.my.cnf` auf VM300
- **1Password CLI v2.35**: assignment statements (`username=val`), NOT `--username` flags
- **op CLI**: `--reveal` für blocked fields
- **Account-Level Rate Limit**: 1Password rate-limited auf ACCOUNT-Ebene, nicht per SA. ESO (25 ExternalSecrets × 1h) kann das gemeinsame Kontingent erschöpfen → op item get auf Hermes Host schlägt fehl. Fix: ESO scale 0, 1h warten, refresh intervals auf 6h erhöhen. Siehe Solution Doc: `docs/solutions/architecture/2026-07-24-1password-account-level-rate-limit.md`
## K8s Secret Pattern
```yaml
# ExternalSecret referenziert 1Password Item
apiVersion: external-secrets.io/v1beta1
kind: ExternalSecret
spec:
data:
- secretKey: password
remoteRef:
key: "Paperless DB Pass" # 1Password Item Title
property: password
```
## Related
- [[reference/ssh-keys]]
- [[systems/gitea]] (NIEMALS öffentlich — enthält Secrets)
- [[systems/hindsight]]
+43
View File
@@ -0,0 +1,43 @@
---
title: E-Mail-Organisation
category: Communication
tags: [email, organization, invoices, amazon, himalaya]
created: "2026-04-28"
modified: "2026-04-28"
---
# E-Mail-Organisation
## Automatisierte Sortierung (Rechnungen-Organizer)
- **Cronjob:** Täglich 09:00 Uhr
- **Rechnungen:** Betrachft/Absender enthält "rechnung" → "Rechnungen_jjjj_mm"
- **Amazon-Bestellungen:** Betreff beginnt mit "Bestellt:" → "Rechnungen_jjjj_mm/Bestellungen_jjjj_mm"
- **Delivery:** Direkt an CEO-Chat
## Folder-Struktur
```
Inbox/
├── Rechnungen_2026_04/
│ ├── Rechnungen_2026_04/
│ └── Bestellungen_2026_04/
├── Rechnungen_2026_03/
└── ...
```
## Arbeitsweise
- Manuelles Versenden nur nach Freigabe
- Kein automatisches E-Mail-Versenden
- Alle E-Mails werden manuell geprüft und versendet
##himaya Konfiguration
- **Client:** himalaya v1.2.0
- **Config:** ~/.config/himalaya/config.toml
- **Primary:** dominik.schoen87@icloud.com
- **Domains:** 12 Custom Domains aktiv
- grafikerei.de
- famschoen.eu
- dominikschoen.de
- familie-schoen.com
- schoen.codes
- schoen.eu
- und 7 weitere
+41
View File
@@ -0,0 +1,41 @@
---
title: GitOps Workflow
category: concepts
tags: [gitops, argocd, iac, terraform, ansible, workflow]
created: "2026-07-24"
modified: "2026-07-24"
---
# GitOps Workflow
## Prinzip
Infra-Changes **bevorzugt** über GitOps. Geht nicht immer. Ausnahmen müssen von Dominik freigegeben werden.
## Workflow
1. IaC Repo lokal auschecken (`/root/iac-homelab` auf VM200)
2. Ändern (Tofu/Ansible/K8s Manifeste)
3. Commit + Push (zu BEIDEN Gitea Remotes: origin + k8s)
4. ArgoCD sync (oder auto-sync)
5. Verify (kubectl get, curl, etc.)
6. Lokale Kopie löschen
## ArgoCD
- 15 Applications via SSH Deploy Keys
- `ssh://gitea@git.schoen.codes:22/dominik/iac-homelab.git`
- `--force` kann nicht mit ServerSideApply kombiniert werden
- Bei hängendem Operation-State: App terminieren und neu anstoßen
## IaC Tools
- **OpenTofu**: VM/CT Provisioning, GPU PCI Mapping
- **Ansible**: RKE2 Installation, Node Taints, Fluent Bit
- **K8s Manifeste**: clusters/main/apps/*.yaml
## Was NICHT über GitOps geht
- Direkte DB-Operationen (SQL)
- Ceph `ceph` CLI Befehle
- Proxmox `pct`/`qm` Live-Operationen
- Notfall-Reparaturen
## Related
- [[systems/rke2-kubernetes]]
- [[systems/gitea]]
+39
View File
@@ -0,0 +1,39 @@
---
title: Netzwerk-Architektur
category: concepts
tags: [networking, ip-addressing, subnets, vlan]
created: "2026-04-28"
modified: "2026-07-24"
---
# Netzwerk-Architektur
## IP-Adressierung (10.0.X.Y)
- 10.0.10.x = Gateway
- 10.0.20.x = Hypervisoren (Proxmox Cluster, 9 Nodes)
- 10.0.30.x = Container/VMs (Services)
- 10.0.40.x = Clients
- 10.0.50.x = Smart Home (26 hosts)
- 10.0.60.x = DMZ/Reverse Proxies
## VLAN-Struktur
- Jedes Segment hat eigenes VLAN
- Proxmox Bridge-Konfiguration (vmbr0)
- Inter-Segment-Kommunikation via Gateway
## TLS-Zertifikate
- Alle Zertifikate haben kein CN
- Self-signed oder SAN-only
- Keine reverse-DNS Einträge
## Wichtige Ports
Siehe [[reference/ports]] für vollständige Liste.
## DNS
- externe Domains: familie-schoen.com, schoen.codes, essen.schoen.eu
- interne Auflösung über K8s CoreDNS
## Related
- [[reference/ip-map]]
- [[reference/ports]]
- [[systems/proxmox-cluster]]