Problem
I am unable to add line breaks to the Custom Properties fields in the Kafka Connection configuration popup on the gateway web page. Line breaks are suggested in the docs:
Any properties you want applied to producer and consumer clients, line separated by key value pairs.
As a result, I am only able to pass in a single custom property in each Kafka connection.
Environment
- Docker image 8.3.0 (also tested on 8.3.1-rc1)
- Chrome web browser (also tested on Safari)
- MacOS host machine accessing gateway web page
Steps to reproduce
- Create a new Kafka connection using placeholder bootstrap list EG
localhost:9091
- Attempt to set two k:v pairs - editor won't allow the newline character to be added when pressing enter
- Add a space-separated set of k:v pairs
- EG
key1=value1 key2=value2
- Logs should show
key1
is being set tovalue1 key2=value2
- EG
For example, when I use:
ssl.keystore.location=/usr/local/bin/ignition/data/secrets/keystore.jks
I can see that value properly set in the logs (set log level to INFO on org.apache.kafka.clients.admin.AdminClientConfig
):
AdminClientConfig values:
auto.include.jmx.reporter = true
...
ssl.keystore.key = null
ssl.keystore.location = /usr/local/bin/ignition/data/secrets/keystore.jks
ssl.keystore.password = [hidden]
However, when I attempt to add a second value, I'm unable to add a new line. Using a space results in these logs, showing the second value isn't being parsed since it isn't on a new line:
AdminClientConfig values:
auto.include.jmx.reporter = true
...
ssl.keystore.key = null
ssl.keystore.location = /usr/local/bin/ignition/data/secrets/keystore.jks ssl.truststore.location=/usr/local/bin/ignition/data/secrets/truststore.jks
ssl.keystore.password = [hidden]
This also throws an error because of the invalid keystore path:
Modification time of key store could not be obtained: /usr/local/bin/ignition/data/secrets/keystore.jks ssl.truststore.location=/usr/local/bin/ignition/data/secrets/truststore.jks
java.nio.file.NoSuchFileException: /usr/local/bin/ignition/data/secrets/keystore.jks ssl.truststore.location=/usr/local/bin/ignition/data/secrets/truststore.jks
at java.base/sun.nio.fs.UnixException.translateToIOException(Unknown Source)
...
Resolution Attempted
- Attempted several delimiters - space, comma, and
\n
- without luck. - Attempted editing the Kafka connection config JSON directly in the GWBK at
config/resources/core/ignition/service-connector/<connectionName>/config.json
to add the unicode character, but updated GWBK failed to restore - Attempted accessing on other browsers
- Attempted using 8.3.1-rc1 image
Thanks for taking a look!