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