feat(infra): Tracking-Provider Env-Keys via Ansible (server-stack) #231

Closed
opened 2026-05-12 20:53:02 +02:00 by admin-mrrm · 1 comment
Owner

Hintergrund

Der API-Container erwartet TRACK17_API_KEY, AFTERSHIP_API_KEY, TRACKING_PROVIDER und ANTHROPIC_API_KEY (für #137 Claude-Fallback im TrackingParser). Aktuell sind diese in server-stack nirgends gesetzt → der Sync-Cron wirft ServiceUnavailableException.

Architektur-Entscheidung

Konfiguration bleibt Env-basiert + global (eine Provider-Wahl, ein Key pro Provider, server-weit). Keine UI dafür.

Tracking-Issue

Die eigentliche Arbeit passiert im separaten Repo: admin-mrrm/server-stack (Branch master). Dort:

  1. inventory/host_vars/dev-neu/vault.yml + inventory/host_vars/prod-alt/vault.yml erweitern (ansible-vault):
    • vault_track17_api_key
    • vault_aftership_api_key
    • vault_anthropic_api_key
  2. templates/dev-neu.env.j2 + templates/prod-alt.env.j2:
    • TRACK17_API_KEY={{ vault_track17_api_key }}
    • AFTERSHIP_API_KEY={{ vault_aftership_api_key }}
    • TRACKING_PROVIDER=17track (oder aftership, pro Host konfigurierbar)
    • ANTHROPIC_API_KEY={{ vault_anthropic_api_key }}
  3. Playbook für beide Hosts ausführen, Container neu starten

Akzeptanz

  • Sync-Cron läuft ohne ServiceUnavailableException durch (Logs auf dev-neu prüfen)

Refs v0.3, blocker für #B (Mail-Scanner)

## Hintergrund Der API-Container erwartet `TRACK17_API_KEY`, `AFTERSHIP_API_KEY`, `TRACKING_PROVIDER` und `ANTHROPIC_API_KEY` (für #137 Claude-Fallback im TrackingParser). Aktuell sind diese in `server-stack` nirgends gesetzt → der Sync-Cron wirft `ServiceUnavailableException`. ## Architektur-Entscheidung Konfiguration bleibt Env-basiert + global (eine Provider-Wahl, ein Key pro Provider, server-weit). Keine UI dafür. ## Tracking-Issue Die eigentliche Arbeit passiert im separaten Repo: **admin-mrrm/server-stack** (Branch master). Dort: 1. `inventory/host_vars/dev-neu/vault.yml` + `inventory/host_vars/prod-alt/vault.yml` erweitern (ansible-vault): - `vault_track17_api_key` - `vault_aftership_api_key` - `vault_anthropic_api_key` 2. `templates/dev-neu.env.j2` + `templates/prod-alt.env.j2`: - `TRACK17_API_KEY={{ vault_track17_api_key }}` - `AFTERSHIP_API_KEY={{ vault_aftership_api_key }}` - `TRACKING_PROVIDER=17track` (oder `aftership`, pro Host konfigurierbar) - `ANTHROPIC_API_KEY={{ vault_anthropic_api_key }}` 3. Playbook für beide Hosts ausführen, Container neu starten ## Akzeptanz - Sync-Cron läuft ohne `ServiceUnavailableException` durch (Logs auf dev-neu prüfen) Refs v0.3, blocker für #B (Mail-Scanner)
Author
Owner

Umgesetzt in server-stack (Commits f984b9c, 4c7f4a8 vom 12.05.2026). Templates dev-neu.env.j2 + prod-alt.env.j2 enthalten alle 4 Env-Vars (TRACK17_API_KEY, AFTERSHIP_API_KEY, TRACKING_PROVIDER, ANTHROPIC_API_KEY), Vault-Vars angelegt (track17-Key auf prod-alt aktiv befüllt). Schließe als done.

Umgesetzt in server-stack (Commits f984b9c, 4c7f4a8 vom 12.05.2026). Templates `dev-neu.env.j2` + `prod-alt.env.j2` enthalten alle 4 Env-Vars (TRACK17_API_KEY, AFTERSHIP_API_KEY, TRACKING_PROVIDER, ANTHROPIC_API_KEY), Vault-Vars angelegt (track17-Key auf prod-alt aktiv befüllt). Schließe als done.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
admin-mrrm/mrrmlabapp#231
No description provided.