INSIGHT-MVP/repos/INSIGHT-Infra/BRIEFING.md
Thomas Reitz 36196457ea feat(infra): vollständige Ansible-Struktur Phase 1
- Alle Ansible-Rollen erstellt: common, disk_setup, docker, postgresql,
  pgbouncer, redis, nginx, zabbix_agent
- ansible.cfg mit Pipeline-Optimierung
- hosts.yml mit echten IPs (DBS01=.20, APS01=.21, WEB01=.22)
- group_vars für alle Server (dbs, aps, web)
- Zabbix-Server auf sentinel.xinion.de gesetzt
- vault.yml.example als Vorlage für Secrets
- site.yml nutzt import_playbook (DBS01→APS01→WEB01)
- BRIEFING.md für alle 4 Repos angelegt (Platform, Apps, Infra, Shared)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-15 15:23:29 +01:00

82 lines
2.8 KiB
Markdown

# INSIGHT-Infra — Developer Briefing
> Dieses Dokument ist der Einstiegspunkt für jede neue Claude Code Session in diesem Repo.
> Lies es vollständig bevor du Code schreibst.
## Was ist dieses Repo?
**INSIGHT-Infra** enthält alle Infrastruktur-Definitionen für die INSIGHT-Plattform:
Ansible Playbooks zur Server-Provisionierung und Docker Compose Konfigurationen.
## Struktur
```
ansible/
├── inventory/
│ ├── hosts.yml # DBS01, APS01, WEB01
│ └── group_vars/
│ ├── all.yml
│ ├── insight_dbs.yml
│ ├── insight_aps.yml
│ └── insight_web.yml
├── playbooks/
│ ├── site.yml # Master (alle Server)
│ ├── dbs01.yml
│ ├── aps01.yml
│ └── web01.yml
└── roles/
├── common/ # Hardening, NTP, SSH, unattended-upgrades
├── docker/ # Docker CE + Compose Plugin
├── postgresql/ # PostgreSQL 16 + PgBouncer
├── redis/ # Redis 7
├── nginx/ # Nginx + TLS
└── zabbix_agent/ # Zabbix Agent 2
```
## Server
| Server | Hostname | Rolle |
|--------|----------|-------|
| INSIGHT-DBS01 | insight-dbs01.xinion.lan | PostgreSQL 16 + PgBouncer + Redis 7 |
| INSIGHT-APS01 | insight-aps01.xinion.lan | Docker: core-service, crm-service |
| INSIGHT-WEB01 | insight-web01.xinion.lan | Nginx + React Build |
IPs und Details: https://xinion.atlassian.net/wiki/x/FYCVEw
## SSH Keys (Ansible → Server)
| Server | Key |
|--------|-----|
| DBS01 | `.keys/ansible_dbs01_ed25519` |
| APS01 | `.keys/ansible_aps01_ed25519` |
| WEB01 | `.keys/ansible_web01_ed25519` |
Öffentliche Keys sind via Cloud-Init bereits auf den Servern hinterlegt.
## Confluence Dokumentation
- **Phase 1 — Infrastruktur:** https://xinion.atlassian.net/wiki/x/PACVEw
- **Hardware-Anforderungen:** https://xinion.atlassian.net/wiki/x/tYKSEw
- **Cloud-Init Konfiguration:** https://xinion.atlassian.net/wiki/x/BgCREw
- **SSH Keys & Zugangsverwaltung:** https://xinion.atlassian.net/wiki/x/UACVEw
## Wichtige Regeln
- Secrets ausschließlich in **Ansible Vault** (kein Klartext in Git)
- Alle Tasks mit `become: true` wenn Root-Rechte nötig
- Idempotenz: Playbooks müssen mehrfach ausführbar sein ohne Fehler
- Nach jeder Infrastruktur-Änderung `dev-status/infra.md` in INSIGHT-Shared aktualisieren
## Deploy Key (dieses Repo)
```
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILKnKLskXQH6p9Wb+UuzPekLremPJCDxFzE1dchqkXkt deploy@insight-infra
```
Privater Key: `.keys/deploy_infra_ed25519`
## Aktueller Status
- **Phase:** 1 — Infrastruktur
- **Stand:** VMs angelegt (DBS01 VM 1020), SSH-Zugang funktioniert
- **Nächster Schritt:** IPs eintragen → Ansible Inventory befüllen → Playbooks schreiben