Auto-sync: 2026-07-24
This commit is contained in:
@@ -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]]
|
||||
@@ -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
|
||||
@@ -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]]
|
||||
@@ -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]]
|
||||
Reference in New Issue
Block a user