Inicializačný kontajner
Kontajner používajúci image ipesoft/d2/init_odbc slúži na inicializáciu kontajnerizovanej inštancie D2000 - vytvára konfiguračný súbor inštancie instance.properties a ukladá licenčný súbor LicenceRun.code. Potom vytvára prázdnu aplikáciu s konfiguračnou a monitorovacou databázou a voliteľne aj archívne databázy umiestnené na externom databázovom serveri PostgreSQL. V prípade, že archívna databáza má viacero inštancií, nastavuje ich synchronizáciu pomocou utility ArcSynchroAuto, ktorá je spúšťaná automaticky príslušnou inštanciou procesu D2000 Archív pri štarte na zaplátanie diery v jeho archívnej databáze.
Zároveň vytvára aj databázového používateľa dba, ktorý je vlastníkom týchto databáz. Voliteľne vytvára aj EDA používateľa a schému v danej aplikačnej databáze. V prípade, že databázy už existujú, tak túto činnosť preskakuje.
Okrem toho nastavuje vlastníka pre cesty perzistentného úložiska na používateľa a skupinu d2000 s PID:GID 900:900.
Premenné prostredia
Kontajner pre svoju funkčnosť predpokladá nastavenie nasledovných premenných prostredia:
Premenná | Popis |
|---|---|
D2APP | Názov vytváranej D2000 aplikácie. Odporúča sa použiť len malé písmená. |
D2APPDB | Názov existujúcej aplikačnej databázy, pre ktorú bude vytvorený ODBC DSN s názvom <d2app>.APPDB. Táto databáza sa použije aj na vytvorenie EDA schémy. Prázdne, ak sa aplikačná databáza nepoužije. |
D2APPDESC | Popis vytváranej D2000 aplikácie. |
D2ARCHIVES | Čiarkou oddelený zoznam vytváraných archívov, voliteľne s počtom ich inštancií: <archív_1>[:počet_inštancií],<archív_2>[:počet_inštancií],... Napr.: "self:2,test" - vytvorí dve inštancie databázy pre SELF.ARC a jednu inštanciu databázy pre TEST.ARC. Prázdne ak sa archívna databáza nemá vytvárať. |
D2REDUNDANT_KERNEL | Názov a priorita redundantného kernela pre aktuálnu inštanciu vo forme <meno>:<priorita>. Napr.: "a:2". Ak prázdne, tak redundancia nebude vytvorená. |
D2REDUNDANT_KERNELS | Čiarkou oddelený zoznam kernelov vo forme <meno_1>:<adresa_1>,<meno_2>:<adresa_2>,.... Napr.: "a:d2-knl-a,b:d2-knl-b". Ak prázdne, tak redundancia nebude vytvorená. |
EDA_USER | Názov vytváraného EDA používateľa a schémy. Prázdne, ak EDA nebude použitá. |
PGHOST | Adresa bežiaceho PostgreSQL servera. |
PGHOST_KNL_<meno_kernela> | Adresa bežiaceho PostgreSQL servera pre konfiguračnú databázu daného kernela. Ak nedefinované, tak sa použije PGHOST. Napr.: PGHOST_KNL_a=database_a.example.com |
PGHOST_ARC_<meno_archívu>[_<číslo_inštancie>] | Adresa bežiaceho PostgreSQL servera pre archívnu databázu daného archívu a jeho inštancie. Ak nedefinované, tak sa použije PGHOST. Pre inštanciu číslo 1 sa prípona čísla inštancie nepoužíva. Napr.: PGHOST_ARC_self_2=database_b.example.com |
PGPORT | Port bežiaceho PostgreSQL servera. |
PGPORT_KNL_<meno_kernela> | Port bežiaceho PostgreSQL servera pre konfiguračnú databázu daného kernela. Ak nedefinované, tak sa použije PGPORT. |
PGPORT_ARC_<meno_archívu>[_<číslo_inštancie>] | Port bežiaceho PostgreSQL servera pre archívnu databázu daného archívu a jeho inštancie. Ak nedefinované, tak sa použije PGPORT. Pre inštanciu číslo 1 sa prípona čísla inštancie nepoužíva. |
PGUSER | Meno databázového používateľa s administrátorskými právami. Musí mať práva na vytváranie databázových používateľov a databáz. Štandardne postgres. |
Perzistentné úložisko
Perzistentné úložisko očakáva namapované rovnako ako kontajnery D2000 procesov.
Okrem toho je možné namapovať adresár s exportom konfiguračnej a prípadne aj monitorovacej databázy, ktoré sa použijú pri vytváraní aplikácie a podadresárom app obsahujúcim súbory, ktoré majú byť nakopírované do aplikačného adresára.
Cesta | Popis |
|---|---|
/init | Adresár voliteľne obsahujúci SQL export konfiguračnej a monitorovacej databázy, ktorý má byť použitý pri vytváraní aplikácie. Pre konfiguračnú databázu sa očakáva súbor s príponou syscfg_sql a pre monitorovaciu logfile_sql tak, ako sú vytvorené exportom pomocou D2000 Application Manager. |
/init/app | Celý obsah tohto adresára s prípadnými podadresármi je nakopírovaný do aplikačného adresára. Novšie súbory sú automaticky prepísané. |
Heslá
Kontajner využíva mapované secret - súbory obsahujúce chránené dáta a heslá:
Externý súbor | Názov secret | Súbor v kontajneri | Popis |
|---|---|---|---|
LicenceRun.code | d2_licence | /run/secrets/d2_licence | Licenčný súbor D2000 (LicenceRun.code) |
db_admin_password.txt | db_admin_password | /run/secrets/db_admin_password | Heslo databázového administrátora definovaného v premennej prostredia PGUSER. |
eda_password.txt | eda_password | /run/secrets/eda_password | Heslo vytváraného databázového používateľa definovaného v premennej prostredia EDA_USER. |
Súbory s heslami by mali obsahovať len jeden riadok s heslom, pričom heslá nemôžu obsahovať nasledovné znaky: ` & / ' ". Odporúčané sú len alfanumerické ASCII znaky.
Parametre
Entry point inicializačného kontajneru je shell skript, ktorý voliteľne akceptuje nasledovné parametre:
Parameter | Význam |
|---|---|
--client-only | Kontajner inicializuje perzistentné úložisko pre klientsky proces, t.z. inicializuje inštanciu D2000 (instance.properties), kde podľa potreby vytvorí odkazy pre redundanciu a vytvára ODBC DSN pre aplikačnú databázu. Nepokúša sa vytvárať žiadne databázy a nepracuje ani s licenčným súborom a heslami. |
Súvisiace stránky