3.5 KiB
3.5 KiB
INT-Umgebung auf Infomaniak migrieren
Beschreibung und Kontext
Migration der poweron-swiss INT-Umgebung (platform-core, ui-nyla) von Azure auf Infomaniak Public Cloud.
Betrifft nur poweron-swiss-Repos. Die poweron-Repos (gateway, frontend_nyla) bleiben auf Azure.
Checkliste
Env-Dateien (platform-core, ui-nyla)
env-int.env: APP_API_URL →https://api-int.poweron.swissenv-int.env: DB_HOST →db-int.poweron.swissenv-int.env: DB_USER →poweron_devenv-int.env: OAuth-Redirect-URIs →api-int.poweron.swissenv-int.env: CORS (APP_ALLOWED_ORIGINS) → alle UI-Domains (poweron.swiss + poweron-center.net)env-int.env: APP_KEY_SYSVAR →/srv/gateway/shared/secrets/master_key.txtenv-int.env: APP_LOGGING_LOG_DIR →srv/gateway/shared/logsenv-int.env: TEAMSBOT_BROWSER_BOT_URL →http://teamsbot.poweron.swiss:4100env-prod.env: DB_HOST →db.poweron.swissenv-prod.env: CORS aktualisiertenv-prod.env: TEAMSBOT_URL aktualisiertui-nylaenv-int.env: bereits korrekt (VITE_API_BASE_URL=https://api-int.poweron.swiss)
OAuth-Provider (externe Portale)
- Microsoft Entra: Redirect-URIs auf
api-int.poweron.swissaktualisiert - Google OAuth Console: Redirect-URIs auf
api-int.poweron.swissaktualisiert
DNS
db.poweron.swiss→ 10.20.0.21 (porta-main-db)db-int.poweron.swiss→ 10.20.0.175 (porta-int-db)teamsbot.poweron.swiss→ eingerichtetapi-int.poweron.swiss→ eingerichtet
Server: porta-int-db (db-int.poweron.swiss)
SSH: ssh -i ~/.ssh/ida-laptop.pem ubuntu@37.156.42.67
- VM läuft, SSH-Verbindung OK
Schritt 1: Bestand prüfen
- PostgreSQL-Status prüfen
sudo systemctl status postgresql - Falls PostgreSQL läuft: vorhandene User prüfen
sudo -u postgres psql -c "\du" --> USER poweron_dev exists - Vorhandene Datenbanken prüfen
sudo -u postgres psql -c "\l" - pg_hba.conf prüfen (Zugriff vom internen Subnetz?)
sudo cat /etc/postgresql/*/main/pg_hba.conf | grep -v "^#" | grep -v "^$"
Schritt 2: Passwort + Zugriff
- Passwort für
poweron_devgesetzt - Verbindungstest lokal auf DB-VM OK (
psql -h 127.0.0.1 -U poweron_dev -d postgres -c "SELECT 1;")
Server: porta-int-platform-core (api-int.poweron.swiss)
- Verbindungstest zur DB OK
- Master Key abgelegt (
/srv/gateway/shared/secrets/master_key.txt) - Log-Verzeichnis vorhanden
- App-Verzeichnis + Git-Repo vorhanden
- Python venv vorhanden
- systemd-Service
gatewaykonfiguriert - Nginx:
client_max_body_size 0, WebSocket-Upgrade, Timeouts 600s,proxy_request_buffering off(analog PROD) - SSL: Let's Encrypt Zertifikat fuer
api-int.poweron.swissaktiv
DB-Passwort verschlüsseln
- Passwort in
env-int.enveingetragen und verschlüsselt (DB_PASSWORD_SECRET = INT_ENC:...)
Forgejo CI/CD
- Workflow
int_porta-int-platform-core.ymlgeprüft — zeigt korrekt aufapi-int.poweron.swiss, Branchint, Pfad/srv/gateway/current
Wiki
- DNS-Einträge für DB-Server in
infrastructure.mdnachgetragen - CHANGELOG aktualisiert
Notizen
- SSH auf porta-int-db geht nur über öffentliche IP
37.156.42.67(DNSdb-int.poweron.swisszeigt auf interne IP 10.20.0.175, korrekt für App-Zugriff) - SSH auf porta-main-db:
37.156.40.141