.. _upl_konfig: ================================ Konfigurace komponenty UPL ================================ Konfigurace komponenty je uložena v jednom konfiguračním souboru. Soubor je ve formátu YAML, který je pojmenován :file:`upl-deploy.yml`. Součástí distribuce komponenty je šablona konfiguračního souboru (:file:`upl-deploy.yml.template`). V šabloně jsou popsány jednotlivé konfigurační volby. Předmětem konfigurace komponenty je: - :ref:`webové rozhraní <komp_upl_konfig_web>` - :ref:`připojení k databázi <komp_upl_konfig_db>` - :ref:`nastavení úložiště SIPů <komp_upl_konfig_data>` - :ref:`nastavení logování <komp_upl_konfig_log>` - :ref:`nastavení adres UPL <komp_upl_konfig_upl>` -------------------- Umístění konfigurace -------------------- Pro každou jednotlivou instanci komponenty je vhodné mít vždy samostatný adresář, kde jsou umístěny konfigurace, logy, případně i databázové soubory. Příklad rozložení adresářů a souborů: +----------------------------------+---------------------------------+ | Soubor | Význam | +==================================+=================================+ | ``upl-x.y.z.jar`` | Binární soubor se službou | +----------------------------------+---------------------------------+ | ``config/upl-deploy.yml`` | Konfigurace instance komponenty | +----------------------------------+---------------------------------+ | ``data/....`` | Adresář pro přijaté SIPy | +----------------------------------+---------------------------------+ | ``logs/....`` | Adresář pro logovací soubory | +----------------------------------+---------------------------------+ .. _komp_upl_konfig_web: --------------- Webové rozhraní --------------- Komponenta poskytuje webové rozhraní pro přejímku. Port, kde je webové rozhraní k dispozici se nastavuje v konfiguraci. V konfiguraci je také možné přepnout komunikaci mezi :token:`HTTP` a :token:`HTTPS`. Technické detaily nastavení HTTPS jsou součástí dokumentace Spring Boot (https://docs.spring.io/spring-boot/docs/current/reference/html/howto-embedded-web-servers.html#howto-configure-ssl). Příklad nastavení: .. code-block:: yaml # Port, kde bude služba dostupná (HTTP/HTTPS) server: port: 8203 # Nastavení HTTPS (standardně vypnuto) # ssl: # enabled: true # key-store: keystore.jks # key-store-password: secret # key-password: another-secret .. _komp_upl_create_db: -------------------- Vytvoření databáze -------------------- 1. Vytvoření uživatele: .. code-block:: sql CREATE ROLE app WITH LOGIN PASSWORD 'jk23jkmn3az'; 2. Vytvoření DB .. code-block:: sql CREATE DATABASE upl OWNER app; .. _komp_upl_konfig_db: -------------------- Připojení k databázi -------------------- Součástí zkompilované aplikace je JDBC ovladač pro připojení k PostgreSQL databázi. Databáze musí být vytvořena samostatně administrátorem. Zvolený uživatel musí mít oprávnění volat DDL příkazy (vytvářet tabulky). Ovladače PostgreSQL: verze 42.2.5 .. code-block:: yaml spring: datasource: driver-class-name: org.postgresql.Driver url: jdbc:postgresql://127.0.0.1:5432/upl username: app password: app V části :token:`url` se definuje řetězec pro připojení k databázi, přihlašovací údaje se uvedou do parametrů :token:`username` a :token:`password`. .. _komp_upl_konfig_data: -------------------------------------- Pracovní adresář -------------------------------------- Modul má pracovní soubory na disku. Cesta k tomuto úložišti musí být nastavena. Je vhodné nastavit úplnou cestu. Sekce obsahuje volitelně nastasvení zdroje testovacích dat. .. code-block:: yaml upl: # Cesta, kde jsou uloženy datové soubory # Ve Windows se zadává takto: D:\\projects\\portal\\eprejimka\\data path: /opt/ais/upl/data # Volitelný zdroj testovacích dat # testPath: /opt/ais/upl/testdata # Zapnutí interní validace SIPů zafValidation: true V části :token:`upl` se definuje cesta k adresáři, kde se budou ukládat zpracovávaná data. .. _komp_upl_konfig_log: ------------------ Nastavení logování ------------------ Logování se nastavuje v sekci :token:`logging`. Komponenta využívá nástroj *Spring Boot*. Možnosti nastavení logování jsou detailně popsány v jeho dokumentaci (https://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-logging.html). Příklad nastavení logování: .. code-block:: yaml logging: file: logs/upl.log pattern: level: "%X{userName:--} %p" level: com.lightcomp: 'INFO' .. _komp_upl_konfig_upl: ------------------------------------ Nastavení systémů využívajících UPL ------------------------------------ Každý systém komunikující s UPL musí být definován v sekci systems. Příklad nastavení: .. code-block:: yaml systems: vyber-devel: url: http://localhost:8202/ws/uplprogress redirectUrl: /vyber/skartace authorization: username: eskartace-ws password: esws1973 authorizationType: Basic