...
Image jednotlivých D2000 procesov sú dostupné v internom repozitári Harbor. Image sú určené pre platformu x86_64-linux. Pre minimalizáciu veľkosti sú pre vybrané procesy k dispozícii viaceré varianty: podľa databázového rozhrania ODBC a OCI (DBManager, EDA Server) a podľa podpory Javy (Kernel, Event Handler).
Názvoslovie používaných tag-ov je nasledovné: v<major>.<minor>.<release>[-<patch>]
Napr. v25v26.00.080082-123 alebo v25v26.00.080082.
Tag bez čísla patchu je vždy aplikovaný na posledný vygenerovaný build alebo patch, čo umožňuje automatický rolling update na najnovší patch danej verzie a releasu. Tag latest je používaný len na interné image vývojovej vetvy.
Zoznam image
Kvôli minimalizácii použitého diskového priestoru pri nasadení sú pre vybrané procesy k dispozícii viaceré varianty: podľa databázového rozhrania ODBC a OCI (DBManager, EDA Server, Archív) a podľa podpory Javy (Kernel, Event Handler).
Špeciálne prístupové práva (capabilities) ako napr. prístup na privilegované sieťové porty, raw sockety či sériové porty v súčasnosti nie je možné zahrnúť do image a je potrebné ich zadať v runtime konfigurácii. V dodávanom Docker Compose súbore a Helm Charte sú automaticky nastavené.
Tabuľka zobrazuje image jednotlivých komponentov D2000 s potrebnými capabilities pre ich plnú funkčnosť.
| Názov image | D2000 komponent/proces | Potrebné capabilities |
|---|---|---|
| ipesoft/d2/alarm | D2000 ALARM | |
| ipesoft/d2/archiv_oci | D2000 ARCHIV. Prístup k dátam cez Oracle Call Interface (OCI). | |
| ipesoft/d2/archiv_odbc | D2000 ARCHIV. Prístup k dátam cez ODBC. | |
| ipesoft/d2/arcsynchro_oci | ArcSynchro. Prístup k dátam cez OCI. | |
| ipesoft/d2/arcsynchro_odbc | ArcSynchro. Prístup k dátam cez ODBC. | |
| ipesoft/d2/calc | D2000 CALC | |
| ipesoft/d2/d2connector | D2Connector | |
| ipesoft/d2/d2ping | D2000 Ping | |
| ipesoft/d2/dbmanager_oci | D2000 DBManager. Prístup k dátam cez OCI. | |
| ipesoft/d2/dbmanager_odbc | D2000 DBManager. Prístup k dátam cez ODBC. | |
| ipesoft/d2/edaserver_oci | EDA Server. Prístup k dátam cez OCI. | |
| ipesoft/d2/edaserver_odbc | EDA Server. Prístup k dátam cez ODBC. | |
| ipesoft/d2/event | D2000 Event Handler alebo D2000 Script Execution Server | |
| ipesoft/d2/event_edathin | D2000 Event Handler alebo D2000 Script Execution Server so vstavaným EDA Client | |
| ipesoft/d2/event_edathin_od | D2000 Event Handler alebo D2000 Script Execution Server so vstavaným EDA Client a OD knižnicou | |
| ipesoft/d2/event_java | D2000 Event Handler alebo D2000 Script Execution Server s Java Runtime Environment (JRE) | |
| ipesoft/d2/event_java_edathin | D2000 Event Handler alebo D2000 Script Execution Server s JRE a vstavaným EDA Client | |
| ipesoft/d2/event_java_edathin_od | D2000 Event Handler alebo D2000 Script Execution Server s JRE, vstavaným EDA Client a OD knižnicou | |
| ipesoft/d2/gtwcli | D2000 GateWay Client | |
| ipesoft/d2/gtwsrv | D2000 GateWay Server | |
| ipesoft/d2/init_odbc | Inicializačný kontajner | |
| ipesoft/d2/kernel_odbc | D2000 Server. Prístup k dátam cez ODBC. | NET_RAW |
| ipesoft/d2/kernel_odbc_java | D2000 Server s JRE. Prístup k dátam cez ODBC. | NET_RAW |
| ipesoft/d2/kom | D2000 KOM | DAC_OVERRIDE, NET_BIND_SERVICE, NET_RAW, SYS_RAWIO |
| ipesoft/d2/opcuaserver | D2000 OPC UA Server | |
| ipesoft/d2/sas | D2000 SAS | |
| ipesoft/d2/smartweb | SmartWeb | |
| ipesoft/d2/smartweb-demo | SmartWeb s demo aplikáciou | |
| ipesoft/d2/switch | D2000 Switch | |
| ipesoft/d2/tcldeployer | D2000 Thin Client Deployer | |
| ipesoft/d2/tcts | D2000 Thin Client Terminal Server | |
| ipesoft/d2/tell | D2000 TELL | |
| ipesoft/d2/topology | D2000 Topology |
Použitie
Kontajnery majú predvolene nastavený entry point na príslušný proces. Pretože kontajnery d2/kernel a d2/event*, môžu za určitých okolností spúšťať ďalšie procesy, majú ako entry point použitý ľahký inicializačný systém tini, ktorý následne spúšťa príslušný proces. Preťažovať entry point kontajnerov teda nie je potrebné a zvyčajne ani nie je ani žiadané. Parametre pre procesy prednastavené nie sú.
Kontajnery očakávajú mapovanie nasledovných ciest na perzistenté úložisko. Najbežnejší je tzv. "bind mount", kedy je adresár v kontajneri mapovaný do adresára na hostiteľskom stroji. Takto je možný jednoduchý prístup k dátam aj mimo kontajnera.
| Cesta | Popis |
|---|---|
| /config | Adresár konfiguračných súborov pre D2000, ODBC DSN a Oracle TNS.
|
| /opt/d2000/app | Aplikačný adresár. Pod aplikačným adresárom je vytvorený podadresár samotnej aplikácie minimálne so súbormi application.properties a client.properties. Narozdiel od štandardného nekontajnerizovaného nasadenia neobsahuje dáta konfiguračnej, monitorovacej ani archívnej databázy. |
| /opt/d2000/log | Logovací adresár |
Proces v kontajneri beží pod neprivilegovaným používateľom a skupinou d2000 s UID 900 a GID 900. Inicializačný kontajner automaticky nastavuje vlastníka 900:900 pre vymenované cesty.
Inicializačný kontajner
Kontajner 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 umiestnenou na externom databázovom serveri PostgreSQL. Voliteľne vytvára aj archívne databázy a EDA schému. V prípade, že databázy už existujú, tak túto činnosť preskakuje. Okrem toho nastavuje vlastníka pre cesty perzistentného úložiska.
Kontajner pre svoju funkčnosť predpokladá nastavenie nasledovných premenných prostredia:
| Premenná | Popis |
|---|---|
| D2APP | Názov vytváranej D2000 aplikácie. |
| 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 (napr.: self,test). 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. |
| PGPORT | Port bežiaceho PostgreSQL servera. |
| 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 očakáva namapované rovnako ako kontajnery D2000 procesov.
Kontajner využíva mapované secret - súbory obsahujúce heslá:
| Cesta v kontajneri | Obsah |
|---|---|
| /run/secrets/d2_licence | Licenčný súbor D2000 (LicenceRun.code) |
| /run/secrets/db_admin_password | Heslo databázového administrátora definovaného v premennej prostredia PGUSER. |
| /run/secrets/eda_password | Heslo vytváraného databázového používateľa definovaného v premennej prostredia EDA_USER. |
Heslá nemôžu obsahovať nasledovné znaky: ` & / ' ". Odporúčané sú len alfanumerické znaky.
Referenčná implementácia
...