2. Konfigurace

Konfigurace komponenty se provádí v souboru peva-connector.yml, který se nachází v adresáři config/ vedle spustitelného jaru. Soubor obsahuje nastavení připojení k PEvA, k databázi a k aplikaci Elza. Ukázku konfigurace naleznete v souboru peva-connector.yml.template v distribučním balíčku.

Komponenta je realizována pomocí frameworku Java Spring Boot, který umožňuje snadnou konfiguraci a rozšiřitelnost. Jednotlivá nastavení jsou definována také v dokumentaci k frameworku.

2.1. Port

Komponenta poskytuje webové rozhraní umožňující její monitorování a další ovládání. Komponenta běží ve výchozím nastavení na portu 8081.

Port je možné změnit v konfiguračním souboru peva-connector.yml v sekci server:

# Port, kde bude služba dostupná
server:
  port: 8081

2.2. Databáze

Komponenta používá pro ukládání dat relační databázi PostgreSQL.

# Konfigurace připojení k databázi
spring:
  datasource:
    driver-class-name: org.postgresql.Driver
    url: jdbc:postgresql://localhost:5432/peva_connector
    username: user
    password: password

Schéma databáze spravuje Liquibase. Migrace jsou idempotentní - schéma se buď vytvoří na prázdné databázi, nebo se převezme existující databáze Imwhooseru v „PEVA módu“. Podrobnosti viz Migrace z Imwhooseru a Schéma databáze.

2.3. Elza

Napojení na Elzu slouží k odesílání stažených fondů (služba FundService).

# Nastavení pro připojení k ELZA
elza:
  url: http://localhost:8080
  username: pevaimport
  password: XXXXXX
  soapLogging: false
  batchSize: 20
  scope: CAM
  systemCode: CAM
  # zakázat přenos dat
  send:
    enabled: true

Poznámka

Při odpojení od Imwhooseru se pro kontinuitu ponechávají původní hodnoty scope a systemCode. Po stabilizaci je možné je změnit.

Důležité

Servisní účet uvedený v elza.username musí mít v Elze globální oprávnění ADMIN (superadministrátor). Fondy zakládané konektorem jsou v Elze spravované a jejich základní údaje (název, číslo fondu, značka, datace) smí přes FundService měnit pouze superadministrátor (viz Spravované fondy (režim „jen pro čtení“ v Elze)). Bez tohoto oprávnění skončí aktualizace dříve založeného fondu chybou INSUFFICIENT_PERMISSIONS; záznam pak zůstává v odchozí frontě a odeslání se opakuje, dokud nebude oprávnění doplněno (viz Odchozí fronta do Elza).

2.4. Monitorování

Pro monitorování běhu a stavu komponenty je k dispozici rozhraní poskytující data ve formátu OpenMetrics (Prometheus). Rozhraní je dostupné na stejném portu, na kterém běží samotná komponenta (port nastavený v sekci server výše). Způsob použití je popsán v kapitole Monitorování.

Aby byly metriky dostupné, je nutné v sekci management povolit jejich zveřejnění (exposure). Samostatný port se zde nenastavuje - endpointy sdílejí port komponenty.

# Monitorovací (management) rozhraní
management:
  endpoint:
    health:
      show-details: always
  endpoints:
    health:
      enabled: true
    prometheus:
      enabled: true
    web:
      exposure:
        # zpřístupnění endpointů health a prometheus
        include: health, prometheus

2.5. Logování

Úroveň logování jednotlivých částí aplikace lze nastavit v sekci logging. Podporované úrovně jsou ERROR, INFO a DEBUG.

# Úroveň logování
logging:
  file:
    name: logs/peva-connector.log
  level:
    # logování vlastní komponenty
    com.lightcomp: INFO

2.6. Nastavení zdroje a migrace