If a node is configured as a tribe node, then we automatically copy each xpack.security.* setting from the root settings, to each of the tribe client settings (Security.addTribeSettings)
However, that fails if the xpack.security setting is a SecureSetting as Settings.Builder.copy cannot copy secure settings.
The error is a somewhat cryptic
Caused by: java.lang.IllegalArgumentException: source key not found in the source settings
Given Tribe is deprecated in 6.x and removed in 7, we don't want to do much here, but we don't want a situation where nodes fail to start, and the errors are unclear.
Possible solutions:
- Don't allow secure settings for
xpack.security.* on tribe nodes. That is, in addTribeSettings fail if we find a secure setting (with a reasonable error message)
- Check & require that the
tribe.xyz.xpack.security.* secure setting already exist in the keystore. That is if, xpack.security.transport.ssl.keystore.secure_password exists in the keystore, require that tribe.xyz.xpack.security.transport.ssl.keystore.secure_password also exist, and fail with a reasonble error message if it does not.
If a node is configured as a tribe node, then we automatically copy each
xpack.security.*setting from the root settings, to each of the tribe client settings (Security.addTribeSettings)However, that fails if the
xpack.securitysetting is a SecureSetting asSettings.Builder.copycannot copy secure settings.The error is a somewhat cryptic
Given Tribe is deprecated in 6.x and removed in 7, we don't want to do much here, but we don't want a situation where nodes fail to start, and the errors are unclear.
Possible solutions:
xpack.security.*on tribe nodes. That is, inaddTribeSettingsfail if we find a secure setting (with a reasonable error message)tribe.xyz.xpack.security.*secure setting already exist in the keystore. That is if,xpack.security.transport.ssl.keystore.secure_passwordexists in the keystore, require thattribe.xyz.xpack.security.transport.ssl.keystore.secure_passwordalso exist, and fail with a reasonble error message if it does not.