Kuzzle:使用 X-pack 连接 Elasticsearch

问题描述

我正在尝试将 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,}
});