Deployment Constraints
Beim Deployment von Settings auf ein Zielsystem, kann es auf diesem bei bestimmten Settings zu ungewolltem Verhalten kommen. Damit man diese kritischen Settings während des Deployments im Auge behält, können diese im Deploymentdialog mit einem Ausrufezeichen kenntlich gemacht werden und der Benutzer wird darauf hingewiesen dass er gerade dabei ist kritische Settings zu deployen.
Anpassung über Core Einstellung
Wir haben schon ein paar Einstellungen als kritisch identifiziert und in der "Core Services" Einstellung "Core_Deployment" hinterlegt. Zur Laufzeit kann diese Liste um weitere Einstellungen und auch für NICHT Core spezifische Einstellungen wie dem Monitor, Dashboard, etc. erweitert werden.
{
"deploymentConstraints": {
"warning": [
{
"module": "_core",
"settings": [ "apiKeys", "browser_title", "bpcBaseUrl", "gui_stageColor", "viewConfiguration", "welcomeNotification", "login_title" ]
},
{
"module": "backendconnection",
"instanceType": "identity_provider",
"settings": ["identityProvider_mappings", "identityProvider_configuration"]
},
{
"module": "backendconnection",
"instanceType": "http_proxy",
"settings": ["connectionBaseUrl", "connectionUsername", "connectionPassword"]
}
]
}
}
{
"deploymentConstraints": {
"warning": [
{
...
},
{
"module": "monitor",
"instanceType": "none",
"settings": [ "inubit_dbTablePrefix" ]
}
]
}
}
In 3rd Party Modulen festlegen
Wenn man in eigenen/anderen Modulen die Deployment Constraints vorgeben möchte, ohne sie in der oben genannten Core Einstellung zu hinterlegen, dann legt man in seinem Modul eine Einstellung mit dem Namen "deployment" an und hinterlegt ein Deployment Constraints JSON.
Modul-Einstellung "deployment" hinzufügen
Bei den Modul-Settings (
) ein Setting mit dem Namen “deployment” vom Typ JSON hinzufügen. Der Name “deployment” ist WICHTIG, andernfalls wird es nicht berücksichtigt!default_module_settings.json
{
"beispielGruppenName": {
"sortPriority": 100,
"settings": [
{
"name": "deployment",
"value": "defaults/deployment.json",
"type": "json",
"_writeableByRoles": [ "bpcadmin" ],
"_readableByRoles": [ "bpcadmin", "bpcuser" ]
},
...
]
}
...
}
JSON der "deployment" Modul-Einstellung
Hier eine anzulegende
(wird vom Modul-Setting oben referenziert) am Beispiel vom Monitor-Modul (monitor = ModulId). In dem Beispiel wird vom Monitor-Modul die Setting resources/defaults/deployment.json
und von den Monitor-Instanzen die Settings monitor_data_view_limit
und data_index
für die Deployment-Warnings verwendet.data_historyIndex
{
"deploymentConstraints": {
"warning": [
{
"module": "monitor",
"settings": [ "monitor_data_view_limit" ]
},
{
"module": "monitor",
"instanceType": "none",
"settings": [ "data_index", "data_historyIndex" ]
}
]
}
}
Das JSON muss genau diesen Aufbau mit “deploymentConstraints → warning []” haben! |