IAM appliance - iam-app-czechidm-db
RPM balíček s podporou PostgreSQL 12 kontejneru jako podložní databáze pro CzechIdM. Kontejner původně pochází z Docker HUB, ale byl uzpůsoben pro účely BCV - máme tedy vlatní fork.
Balíček je závislostí služby czechidm, která ho vyžaduje.
Build probíhá standardním způsobem v bcv-rpmbuild kontejneru.
Služba
Kontejner je používán BCV bcv-postgres:12-r2 z repo.iamappliance.com. Služba je v appliance známá jako iam-czechidm-db.
Adresáře na disku appliance
-
/data/volumes/czechidm-db/data- datafiles PostgreSQL -
/data/volumes/czechidm-db/secrets- hesla k databázovým uživatelůmpostgresaczechidm. Hesla se automaticky generují při instalaci balíčku, pokud již neexistovala. -
/data/volumes/czechidm-db/backup- do tohoto adresáře se pravidelně generují zálohy db -
/data/logs/czechidm-db- logy-
Tento adresář musí mít správně SElinux labely, o to se stará RPM balíček už v procesu instalace pomocí volání
semanage fcontext ….
-
Konfigurační soubory
-
/data/registry/node-active-config/docker-compose-czechidm-db.yml- konfigurace kontejneru -
/etc/rsyslog.d/10_czechidm-db.conf- odbočka logů ze syslogu do vyhrazeného souboru na disku -
/etc/logrotate.d/czechidm-db- konfigurace rotace logů
Ovládání
-
systemd unita je umístěna v
/usr/lib/systemd/system/iam-czechidm-db.service, ovládání klasicky přessystemctl start/stop/enable/disable. -
Start unity ve skutečnosti zavolá
docker-compose … up, který v případě změny compose file rovnou dropne a vygeneruje nový kontejner. -
Zálohování
-
Zálohování je jednou denně spouštěno přes systemd timer
/usr/lib/systemd/system/iam-czechidm-db-backup.timera související unitu/usr/lib/systemd/system/iam-czechidm-db-backup.service. -
Zálohu je možné spustit i ručně pomocí
systemctl start iam-czechidm-db-backup.service. -
Zálohy se automaticky komprimují.
-
Zálohy starší než 7 dnů se automaticky mažou.
-
Obnova ze zálohy vyžaduje ruční zásah.
-
Zálohu databáze je možné šifrovat, šifrování se aktivuje nastavením
DB_ENCRYPT_BACKUP=truev konfiguraci služby a restartem služby. Šifrovací klíč se vygeneruje automaticky při instalaci balíčku. Pomocíopenssl rand -base64 32je možné klíč přegenerovat. Šifrování je AES-256-CBC, solené heslo, PBKDF2 derivace klíče a je prováděno pomocíopenssl.
-
Závislosti
-
Služba nemá žádné závislosti pro svoji instalaci.
-
Služba nemá žádné závislosti pro svůj běh.
Podivnosti
-
Sizing databázové instance se provádí na úrovni compose file.
-
Tyto parametry dostává databázový démon přímo na svou cmdline.
-
V konfiguračním souboru
psotgresql.conflze najít seznam nastavení, ta ale mohou být překrytá cmdline parametry. -
Zjištění reálného nastavení je možné pomocí
psqla příkazůshow all;neboshow názevparametru;.
-