Files
JQC_multi_tenant/control/__init__.py
T
2026-06-26 16:19:48 -04:00

24 lines
884 B
Python

"""
control/
========
JQC control plane (MT-0).
Manages the tenant registry, plans, domains, provisioning state, and
superadmin accounts. Deliberately DECOUPLED from the data-plane Flask app
in `app/`:
* Its own declarative base — `control.base.ControlBase`
* Its own engine + session — built from the `CONTROL_DATABASE_URL` env var
* Its own Alembic migration chain — `control/migrations/` (prefix control{N})
Nothing under `app/` imports this package during MT-0, so the existing
single-tenant application runs exactly as before.
Bootstrap (operator):
export CONTROL_DATABASE_URL='mysql+pymysql://jqc_control:pw@localhost/jqc_control'
export CONTROL_FERNET_KEY='<generated key>'
alembic -c control/migrations/alembic.ini upgrade head
python -m control.cli seed
python -m control.cli create-superadmin --username admin --email you@example.com
"""