1. Konfigurationsdatei
Die Konfiguration der Anwendung erfolgt über die Datei config/application.yml
im Installationsverzeichnis.
Ein Beispieldatei liegt der Anwendung immer unter dem Pfad config/application.yml.example
bei. Benennen Sie diese Datei vor dem ersten Start der Anwendung entsprechend um oder prüfen Sie bei Upgrades, ob es Änderungen gibt.
2. Allgemein
Die Anwendung basiert auf dem Spring-Boot-Framework und einem integrierten Tomcat. Das bringt schon eine Vielzahl an Konfigurationsmöglichkeiten mit sich.
Eine Liste der Konfigurationparamter finden Sie hier: Common Application Properties
Die folgende Tabelle enthält nennenswerte Parameter, die ggf. auch mit neuen Standardwerten versehen wurden:
Name | Beschreibung | Standardwert |
---|---|---|
|
Die IP-Adresse, von der aus auf die Anwendung zugegrifen werden darf. Durch Setzen des Wertes |
|
|
Der HTTP-Port unter dem die Anwendung erreichbar ist. |
|
|
Setzt den übergeordneten Log-Level. Folgende Werte könenn gesetzt werden: |
|
|
Setzt den Log-Level für ein bestimmtes Java-Package. Anstelle des |
|
|
Der Name der Log-Datei. Bei Angabe eines relativen Pfades bezieht sich dieser auf das Installationsverzeichnis. |
|
Beispiel:
server: address: 0.0.0.0 port: 5000 logging: level: ROOT: WARN '[de.fva.simulationhub.service]': WARN file: name: log/fva-simulation-hub.log
3. Tasks
Name | Beschreibung | Standardwert |
---|---|---|
|
Die Version der FVA-Workbench, die verwendet werden soll, falls keine in der Anfrage angegeben wurde. |
|
|
Verzeichnis in dem alle Daten zu den bearbeiteten Tasks zwischengespeichert werden. Bei Angabe eines relativen Pfades bezieht sich dieser auf das Installationsverzeichnis. |
|
|
Mit diesem Parameter wird festgelegt, ob die zwischengespeicherten Dateien zum Task nach dessen Bearbeitung gelöscht werden. Durch den Wert |
|
Beispiel:
app: task: defaultWorkbenchVersion: 7.1.0 dataDirectory: data/tasks deleteTaskDataAfterFinish: true
4. FVA-Workbench-Instanzen
4.1. Standard-Lizenz
Mit den folgenden Parametern werden Lizenz-Einstellungen festgelegt, die für jede FVA-Workbench-Instanz gelten, zu der keine eigenen Lizenz konfiguriert wurde.
Name | Beschreibung | Standardwert |
---|---|---|
|
Die URL zum FVA-Lizenzserver, in dem die benötigten Lizenzen hinterlegt sind. |
|
|
Die Lizenz-ID der zu verwendenden Lizenz. |
|
|
Der Benutzername zur Verwendung der Lizenz. Die Angabe ist nur erforderlich, wenn im FVA-Lizenzserver Benutzername und Kennwort festgelegt wurden. |
|
|
Das Kennwort zur Verwendung der Lizenz. Die Angabe ist nur erforderlich, wenn im FVA-Lizenzserver Benutzername und Kennwort festgelegt wurden. |
Beispiel:
app: workbench: defaultLicense: serverUrl: license.example.com.de:5006 licenseId: Li13270 login: fvagmbh password: geheim
4.2. Instanzen
Mit den folgenden Parametern werden die FVA-Workbench-Instanzen konfiguriert, die zur Bearbeitung von Aufgaben verwendet werden können.
Zu jeder Instanz kann eine Lizenz konfiguriert werden. Werden diese Parameter für die Lizenz leer gelassen, dann wird die Standard-Lizenz verwendet.
Name | Beschreibung | Standardwert |
---|---|---|
|
Der Pfad unter dem sich die FVA-Workbench-Instanz befindet. Das gewählte Verzeichnis muss sich auf dem Rechner befinden, auf dem auch der FVA Simulation Hub ausgeführt wird. Das gewählte Verzeichnis kann leer sein, wenn ein Vorlage-Pfad konfiguriert wurde. |
|
|
Der Vorlage-Pfad für die FVA-Workbench-Instanz. Sollte das Verzeichnis der FVA-Workbench-Instanz leer sein, dann wird es automatisch mit dem Inhalt dieses Verzeichnisses gefüllt. Der Pfad kann auch zu einem ZIP-Archiv zeigen. In diesem Fall wird das Archiv automatisch entpackt. |
|
|
Die URL zum FVA-Lizenzserver, in dem die benötigten Lizenzen hinterlegt sind. |
|
|
Die Lizenz-ID der zu verwendenden Lizenz. |
|
|
Der Benutzername zur Verwendung der Lizenz. Die Angabe ist nur erforderlich, wenn im FVA-Lizenzserver Benutzername und Kennwort festgelegt wurden. |
|
|
Das Kennwort zur Verwendung der Lizenz. Die Angabe ist nur erforderlich, wenn im FVA-Lizenzserver Benutzername und Kennwort festgelegt wurden. |
|
|
Eine Liste an frei definierbaren Labels, die für Einschränkungen bei der Authorisierung und ein Anfragen verwendet werden können. |
|
|
Definiert die Richtlinie, die beim Beenden der FVA-Workbench-Instanz angewendet wird.
|
|
Beispiel:
app: workbench: instances: - workbenchDirectory: C:\\FVA-Simulation-Hub\\worker\\FVA-Workbench-7.1_01 templatePath: C:\\FVA-Simulation-Hub\\worker\\FVA-Workbench-7.1 license: serverUrl: license.example.de:5006 licenseId: Li13270 login: fvagmbh password: geheim - workbenchDirectory: C:\\FVA-Simulation-Hub\\worker\\FVA-Workbench-7.1_02 templatePath: C:\\FVA-Simulation-Hub\\worker\\FVA-Workbench-7.1 restartPolicy: always - workbenchDirectory: C:\\FVA-Simulation-Hub\\worker\\FVA-Workbench-7.1_03 templatePath: C:\\FVA-Simulation-Hub\\worker\\FVA-Workbench-7.1 labels: - foo - bar
5. Sicherheit
5.1. REST-API
Die folgneden Parameter steuern grundlegende Einstellungen zu Sicherheit der REST-API.
Name | Beschreibung | Standardwert |
---|---|---|
|
Mit diesem Parameter wird festgelegt, ob die REST-API mit einem Authentifizierungsverfahren geschützt wird. Durch den Wert |
|
|
Der geheime Schlüssel zu Ver- und Entschlüsseln des Authentifizierungs-Token. Beim Load Balancing sollte dieser Wert über alle Instanzen identisch sein, damit keine erneute Authorisierung durchgeführt werden muss. |
|
|
Die Gültigkeit eines neu erstellten Authentifizierungs-Token in Minuten. |
|
Beispiel:
app: security: api: enable: true accessToken: secret: ed51f4bcc7b1eee109fce1524706ac16bd5d7ae3155abd7b152e8b7f expiration: 10
5.2. GUI
Die folgneden Parameter steuern grundlegende Einstellungen zu Sicherheit der grafischen Oberfläche.
Name | Beschreibung | Standardwert | ||
---|---|---|---|---|
|
Mit diesem Parameter wird festgelegt, ob die grafische Oberfläche der Anwendung erreichbar ist. Durch den Wert
|
|
Beispiel:
app: security: gui: enableUnsecuredGui: true
5.3. Benutzer
Mit den folgenden Parametern werden die Benutzer konfiguriert, die sich authentifizieren können.
Name | Beschreibung | Standardwert |
---|---|---|
|
Der Benutzername des Benutzers. |
|
|
Das Kennwort des Benutzers. |
|
|
Eine Liste mit Versionen der FVA-Workbench, die bei einer Anfrage verwendet werden dürfen. |
|
|
Eine Liste mit Prioritäten, die bei einer Anfrage verwendet werden dürfen. |
|
|
Eine Liste mit Labels zu konfigurierten FVA-Workbench-Instanzen, die bei einer Anfrage verwendet werden dürfen. |
|
|
Setzen Sie den Wert des Parameters auf |
|
|
Setzen Sie den Wert des Parameters auf |
|
|
Setzen Sie den Wert des Parameters auf |
|
Beispiel:
app: security: users: - username: user1 password: password1 permittedClassifiers: versions: - 7.1.0 priorities: - NORMAL - LOW - LOWEST labels: - foo - username: user2 password: password2 permittedClassifiers: allVersionsPermitted: true allPrioritiesPermitted: true allLabelsPermitted: true
6. Load Balancing
6.1. Master
Beim Einsatz von Load Balancing wird mit diesen Parametern der Master-Knoten konfiguriert.
Name | Beschreibung | Standardwert |
---|---|---|
|
Setzen Sie den Wert des Parameters auf |
|
|
Angabe der Zeitabstände in Millisekunden, in denen der Master-Knoten den Stand der FVA-Workbench-Instanzen bei den Slave-Knoten holt. |
|
|
Der Zeitraum beim Verbindungsaufbau zum Slave-Knoten bis zum Timeout in Millisekunden. |
|
|
Der Zeitraum für Requests zum Slave-Knoten bis zum Timeout in Millisekunden. |
|
|
Ein geheimer Schlüssel zum Austausch zwischen Master- und Slave-Knoten. Nur Slave-Knoten mit identischem Schlüssel können an einem Master-Knoten angebunden werden. |
Beispiel:
app: loadBalancing: master: enabled: true period: 10000 connectTimeout: 5000 readTimeout: 5000 secret: 9d473430ef7ac17f8bdaa0cb795946a71a68921c1dfd8b4cb5f907cfbf57c
6.2. Slave
Beim Einsatz von Load Balancing wird mit diesen Parametern ein Slave-Knoten konfiguriert.
Name | Beschreibung | Standardwert |
---|---|---|
|
Setzen Sie den Wert des Parameters auf |
|
|
Die URL unter der der Master-Knoten erreichbar ist. |
|
|
Die URL unter der der Slave-Knoten vom Master-Knoten aus erreichbar ist. |
|
|
Angabe der Zeitabstände in Millisekunden, in denen sich der Slave-Knoten beim Master-Knoten meldet, um seinen aktuellen Status mitzuteilen. |
|
|
Der Zeitraum beim Verbindungsaufbau zum Master-Knoten bis zum Timeout in Millisekunden. |
|
|
Der Zeitraum für Requests zum Master-Knoten bis zum Timeout in Millisekunden. |
|
|
Ein geheimer Schlüssel zum Austausch zwischen Master- und Slave-Knoten. Nur Slave-Knoten mit identischem Schlüssel können an einem Master-Knoten angebunden werden. |
Beispiel:
app: loadBalancing: slave: enabled: true masterUrl: http://localhost:5000 slaveUrl: http://localhost:6000 period: 10000 connectTimeout: 5000 readTimeout: 5000 secret: 9d473430ef7ac17f8bdaa0cb795946a71a68921c1dfd8b4cb5f907cfbf57c