Obalujici node.js aplikace pro modularni API aplikace (api moduly). Obstarava api modulum spolecnou agendu vcetne multitenant fungovani:
- Nacita configuracni yaml soubory s nastavenim pro jednotlive tenants (orgsettings). Dela autoreload pri jejich zmene.
- Inicializuje a spousti migrace DB
- Resi CORS
- Resi Autentikaci
Veskera sprava ze strany tenant admina = editace prislusneho yaml souboru (tj. zadny zasah ze strany infrastructure admina). Tenant admin = typicky pracovnik IT te dane organizace, v nasem pripade prevazne samospravy.
V obrazku jsou 2 tenanti (mutabor a omesta):
- Kazdy tenant ma svuj konfiguracni soubor tenantid.yaml = tenantconfig (napr. omesta.yaml).
- Kazdy tenant ma k dispozici svuj url prefix na spolecne domene = tenanturl. Napr. https://modurad.otevrenamesta.cz/omesta/....
- Kazdy api modul si cte ruzne casti v tenantconfig (pokud existuji, jinak error 404).
Na obrazku jsou dalsi komponenty (nemusi nutne bezet na stejnem stroji):
- JWTSession manager: komponenta, ktera vytvari/overuje JWT tokeny, pres ktere je resena autentikace.
- Postgre DB
Globalni nastaveni aplikace pouze pomocí ENVIRONMENT VARIABLES.
TBD ...
git submodule update --remote --merge
pouze v pripade vyclonovaneho repo
git submodule init