8.1.3. Konfigurace

Konfigurace se provádí pomocí souborů abm.yml (načítají všechny služby) abm-gui.yml (načítá služba abm-gui) a abm-api.yml (načítá služba abm-api). Soubory se nacházejí v instalačním adresáři aplikace.

Při změně konfigurace je třeba provést restart služeb.

Popis konfiguračních parametrů

abm.yml:

ais:
  # Nastaveni pristupu k DB
  db:
    #JDBC URL databaze
    address: jdbc:postgresql:abm_prod
    #jmeno DB uzivatele
    user: ais
    #heslo DB uzivatele
    password: <<not on git>>

  mail:
    # Zda je odesilana mailu povolene
    enabled: true
    
    #Mail host pres co se bude posilat email
    mailHost: localhost
    
    # Emailova adresa (carkou oddeleny seznam), kam se bude posilat mail
    recipientAddress: 
    
    # Emailova adresa, ktera bude uvedena jako odesilatel mailu
    from: robot@ais-tape.is.cuni.cz

  workers:
    #Pokud ma worker vice vlaken, dochazi k jejich notifikaci s timto zpozdenim.
    #Jednotky: Milisekundy
    #Default: 100
    threadNotifyDelay: 100
    
    #Maximalni doba, po kterou se ceka, az se regulerne ukonci vsechna vlakna daneho workeru. Pak se provede nasilne ukonceni.
    #Jednotky: Sekundy
    #Default: 30
    maxWaitForGracefullShutdown: 3600


abm:
  #Maximalni pocet souboru, ktere jsou soucasne aktivni v procesu stahovani z ArcLib a zapisu na pasku. Omezuje velikost pouziteho workspace.
  #Default: 10000
  maxActiveFileWrites: 10_000_000

  #Minimalni pozadovane volne misto na disku v bytech pro operaci obnova/kontrola pasky.
  #Default: 1_000_000_000
  keepMinFreeDiskSpace: 2_000_000_000

  #Umisteni pracovniho adresare, kam se stahuji soubory z ArcLibStorage pred tim, nez jsou zapsany na pasky.
  #Deault: ./var/workspace
  workspace: /opt/ais/workspace/prod

  #Velikost davky pri prirazovani souboru do serii
  #Default: 1_000
  locatorBatch: 10_000

  tarball:
    #Maximalni cas, po ktery se ceka na naplneni tarballu pro zapis na pasku. Je mozne pouzit jednotky d (dny), h (hodiny) nebo m (minuty)
    #Default: 1d
    maxAge: 7d
    
    #Hranicni velikost tarballu. Pri jejim prekroceni je tarball zapsan na pasku.
    #Default: 100_000_000
    maxSize: 600_000_000_000

  library:
    #Pouziva se pro beh v prostredi, ktere nema dostupnou paskovou knihovnu. Prace s paskami se emuluje v souborovem systemu.
    #Default: false
    #fake: true
    
    #After tape load/unload, there can be incosistency between state of changer (mtx state) and state of drive (mt state).
    #In this case we wait a second and try again to read the states. This parameter is number of trials before exception is thrown.
    #Default: 10
    stateRefreshTrials: 30

    #After 'mtx load' command returns it takes some time (5-10s) before 'mt state' recongnizes fully loaded tape
    #Default: 6
    waitAfterLoad: 10
    
    #Adresa paskove knihovny (changeru). Ma vyznam pouze, pokud je fake=false
    changerAddress: /dev/tape/by-id/scsi-35000e111ce20a0f4-changer
    
    #Adresa paskove mechaniky (drivu). Ma vyznam pouze, pokud je fake=false
    driveAddress: /dev/tape/by-id/scsi-35000e111ce20a0f1-nst
    
    #Zde je treba zaregistrovat kazdy typ pouzivanych pasek (medii).
    #Nazev typu (napr. LTO-8) musi odpovidat hodnote, kterou vraci prikaz mt status. Cislo za dvouteckou je velikost media v bytech.
    tapeTypes:
      LTO-8: 12_000_000_000_000

  tape:
    #Maximalni pocet zapisu na pasku, nez dojde k jejimu uzavreni.
    #Default: 100
    maxWriteCount: 100

    #Maximalni doba, po kterou muze byt paska pouzivana k zapisu, v mesicich.
    #Default: 1
    maxOpenTime: 6

    #Maximalni zaplnenost pasky, pri ktere dojde k jejimu uzavreni. Uvadi se v procentech (tj. cele cislo v rozsahu 0-100)
    #Default: 90
    maxFullnessRatio: 90

    #Zivotnost pasky v rocich
    #Default: 5
    tapeLifespan: 10

    #Interval mezi kontrolami pasky, v mesicich.
    #Default: 1
    tapeControlInterval: 24

    #Kolik dni pred koncem zivotnosti pasky ma byt odeslan notifikacni e-mail, ze ma byt paska nahrazena.
    #Default: 20
    notifyDaysBeforeReplacement: 40

    #Kolik dni pred planovanou automatickou kontrolou pasky ma byt odeslan notifikacni e-mail, ze je potreba zajistit pritomnost pasky v knihovne
    #Default: 20
    notifyDaysBeforeControl: 40


  #Nastavuje parametry pro procesy bezici na pozadi. Vsechny parametry jsou nepovinne, uvedene hodnoty zde jsou defaulty.
  #Pro produkcni prostredi neni duvod menit defalni hodnoty

  #Pro kazdy worker je mozne nastavit tyto hodnoty:
  #Doba kterou se ceka mezi jednotlivymi behy workeru. Jednotky: ms
  #waitTime=60000

  #Zda je worker zapnuty
  #enabled: true

  workers:
#    tarExpirator:
#      enabled: false
#      waitTime: 10_000
    arcLibSynchronizer:
#      enabled: false
      waitTime: 3600_000
#    locator:
#      enabled: false
#    arcLibLoader:
#      enabled: false
#    packager:
#      enabled: false
#      waitTime: 10_000
#    tapeWriter:
#      enabled: false
#    opertionExecutor:
#      enabled: false
#    cleaningPlanner:
#      enabled: false
#    tapeController:
#      enabled: false
#    operationFinisher:
#      enabled: false
#    tapeExpirator:
#      enabled: false

  arclib:
    # Pouziva se pro beh v prostredi, ktere nema pristup do ArcLib API.
#    fake: false
    #Lze pouzit pri prvotnim nacteni balicku z ArcLib. Udava, jak moc do historie se udaje nactou (kolik dnu pred dnesnim datem)
    initBackPeriod: 3000d

    #Adresa a pristupove udaje do ArcLib API pro nacitani souboru
    address: http://ais-ap3.is.cuni.cz:8080
    user: abm-read
    password: <<not on git>>

    #Hodnoty timeout v sekundach pri volani ArcLib API
    #Defatult: 10
    #Timeout pro pripojeni k API
    connectTimeoutSeconds: 30
    #Timeout pro operaci cteni
    readTimeoutSeconds: 3600
    #Timeout pro operaci zapisu
#    writeTimeoutSeconds: 10


  #Nastaveni API
  api:
    #Zapne logovani vsech pozadavku a odpovedi
    #Default: true
    logPayload: true
    #Zapne validaci pozadavku na api
    #Default: false
    validateRequest: false
    #Zapne validaci odpovedi api
    #Default: true
    validateResponse: true

  #Nastaveni GUI
  gui:
    #Uzivatel pro testovani sysemu mimo prostredi UK
    #fakeCasId: 1
    #Adresa na odhlaseni
    logoutUrl: https://ais.udauk.cuni.cz/logout

logging:
#Level pro logovani do konzole
#Default: TRACE
#  consoleLogThreshold: TRACE

#Jestli ma p6spy logger vypisovat do konzole
#Default: false
#  p6spy:
#    consoleEnabled: false

#Max velikost logoveho souboru, potom dojde k rolovani. Plati spolecne pro log aplikace i pro p6spy. 
#Default: 10MB
#  maxFileSize: 10MB

#Celkový maximální objem logových souborů. Nula znemená bez omezení 
#Default: 0
#  totalSizeCap: 0

abm-gui.yml:

server:
  port: 8090
  forward-headers-strategy: 'NATIVE'
  servlet:
    context-path: /abm-test
  tomcat:
    basedir: var/tomcat-gui
    accesslog:
      enabled: true

abm-api.yml:

server:
  port: 8091