问题描述
我正在尝试将 Kuzzle 与在 Elasticsearch 上启用的 X-pack 身份验证一起使用。
我已经尝试查看 Kuzzle 的文档,我假设 X-pack 密码应该存储在 in the secrets vault 中,并且配置应该在 .kuzzlerc
文件中设置。
我想解释一下如何设置它。 ?
解决方法
要实现对 Elasticsearch 的 X-Pack 身份验证,您必须将凭据传递给 ES 客户端构造函数。
.kuzzlerc
文件不能与 Vault 中的值一起使用,您可能不希望在此处公开明确的凭据。
修改客户端配置的最佳方式是使用 app.config.set 方法注入您的自定义配置:
app.config.set('services.storageEngine.client',{
node: 'http://elasticsearch:9200',auth: {
username: 'elastic',password: 'password',}
});
这个对象的内容会直接传递给Javascript ES client constructor。
从 Kuzzle 2.10.2 开始,您可以在应用程序启动之前使用 Vault 中的值,从而在配置中使用它。
app.config.set('services.storageEngine.client',password: app.vault.elasticsearch.password,}
});