Inicializačný kontajner

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

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

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

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

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

Kontajnery D2000 procesov