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ůmpostgres
aczechidm
. 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.timer
a 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=true
v konfiguraci služby a restartem služby. Šifrovací klíč se vygeneruje automaticky při instalaci balíčku. Pomocíopenssl rand -base64 32
je 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.conf
lze najít seznam nastavení, ta ale mohou být překrytá cmdline parametry. -
Zjištění reálného nastavení je možné pomocí
psql
a příkazůshow all;
neboshow názevparametru;
.
-