Vai al contenuto

Runtime Operativo

Questa nota fissa il setup operativo attuale di SafeOps dopo la separazione tra control-plane e tenant runtime.

Porte e ruoli

  • 18080: control-plane SafeOps
  • 18081: runtime tenant principale
  • 3306: MySQL applicativo (appdb)
  • 3309: MySQL super/admin
  • 8081: Adminer locale
  • 8090: super-adminer bindato su 10.50.0.200

Domini e host

  • http://10.50.0.200:18080: control-plane operativo
  • https://safecondo.nxt-sense.eu/: tenant runtime
  • host admin/control-plane abilitati in .env:
  • ids.nxt-sense.eu
  • safeops.nxt-sense.eu
  • admin.safeops.nxt-sense.eu
  • 127.0.0.1
  • 10.50.0.200

Servizi systemd

  • safeops-control-plane.service: Gunicorn su 0.0.0.0:18080
  • safeops-web.service: Gunicorn su 0.0.0.0:18081

File versionati:

Database

SafeOps usa:

  • DATABASE_URL=mysql+pymysql://appuser:...@127.0.0.1:3306/appdb

Stack MySQL locale:

  • path: /opt/mysql-stack
  • container DB: mysql
  • publish: 0.0.0.0:3306->3306

Comando rapido di ripristino DB:

cd /opt/mysql-stack
docker compose up -d mysql

Verifiche rapide

Control-plane:

systemctl status safeops-control-plane.service --no-pager

Tenant runtime:

systemctl status safeops-web.service --no-pager

Database:

docker ps --format '{{.Names}} {{.Status}} {{.Ports}}' | rg '^mysql\\b'
  • Platform Admin: usa il control-plane
  • Tenant Admin: usa il runtime tenant
  • Tenant User: usa il runtime tenant
  • Super Admin User: menu speciali solo su control-plane

Riferimenti:

Stato refactor menu

Il filtro menu e' stato estratto in moduli dedicati:

Nel bootstrap init.py resta solo l'orchestrazione del context processor e il fallback di sicurezza.