butler
butler copied to clipboard
Clean up structure of Butler config file
Overview
The config file has become somewhat inconsistent over the years, which is not surprising. All in all it has served well, but a cleanup is motivated when a major Butler release (with breaking features) is planned.
This ticket details the changes that will be done in the config file format.
Changes to config file
Change "Adress" to "Address" everywhere
Use correct spelling of that word throughout the config file.
Specifically:
-
fromAdress
-->fromAddress
Change apiListEnbledEndpoints
to apiListEnabledEndpoints
The new property path will be: Butler.restServerEndpointsEnable.apiListEnabledEndpoints
Remove Butler.influxDb.instanceTag
That setting can be handled either by the various feature-specific static tag properties Butler.influxDb.instanceTag.reloadTaskFailure.tag.static
, Butler.influxDb.instanceTag.reloadTaskSuccess.tag.static
etc, or in a new, shared setting Butler.influxDb.tag.static
:
Butler:
influxDb:
tag:
static:
- name: butler_instance
value: dev
Note that the previously used instanceTag
property was assigned to a InfluxDB tag called butler_instance
. Thus the suggested format above.
Generalise http header def in Butler.configEngine.headers
Currently looks like this:
Butler:
configEngine:
headers:
X-Qlik-User: UserDirectory=Internal;UserId=sa_repository
Make it an array like this, using the name-value model used elsewhere in the config file:
Butler:
configEngine:
headers:
static:
- name: X-Qlik-User # Mandatory, this header must be present!
value: UserDirectory=Internal; UserId=sa_repository
This will allow for using both the mandatory X-Qlik-User header (Butler will verify that this header is defined in the config file!) and other headers, if such are needed.
Generalise http headers for use with the QRS config settings
Currently looks like this:
Butler:
configQRS:
headerKey:
headerValue: UserDirectory=Internal; UserId=sa_repository
Change to this:
Butler:
configQRS:
headers:
static:
- name: X-Qlik-User # Mandatory, this header must be present!
value: UserDirectory=Internal; UserId=sa_repository
Butler will verify that the mandatory X-Qlik-User
header is present, but other headers can be added too, if needed.