将自定义环境变量传递给 Kong 入口控制器
Pass custom environmental variables into Kong ingress controller
所以,我需要将额外的环境变量传递给我的自定义插件。
在 docker compose 中,我只是这样做:
- DATABASE_HOST=mysql:3306
- DATABASE_PASSWORD=mysql
- DATABASE_USER=root
- DATABASE_NAME=kong
- "KONG_NGINX_MAIN_ENV=DATABASE_HOST; env DATABASE_PASSWORD; env DATABASE_USER; env DATABASE_NAME"
如您所见,它使用了 Nginx env 指令,工作正常
但是我不知道如何用Kong入口控制器做同样的事情,根据图表值描述:
Specify Kong configuration
This chart takes all entries defined under .env
and transforms them into into KONG_*
environment variables for Kong containers.
Their names here should match the names used in https://github.com/Kong/kong/blob/master/kong.conf.default
See https://docs.konghq.com/latest/configuration also for additional details
env:
log_level: info
my_custom_var: hello
因此,如果我将自定义变量放在那里,它将被转换为 KONG_MY_CUSTOM_VAR
那我该怎么做呢?我找不到 Kong 图表在哪里暴露了额外的环境变量。
根据图表的维护者,目前这是不可能的。我会尝试做 PR 来解决这个问题。
所以,我需要将额外的环境变量传递给我的自定义插件。 在 docker compose 中,我只是这样做:
- DATABASE_HOST=mysql:3306
- DATABASE_PASSWORD=mysql
- DATABASE_USER=root
- DATABASE_NAME=kong
- "KONG_NGINX_MAIN_ENV=DATABASE_HOST; env DATABASE_PASSWORD; env DATABASE_USER; env DATABASE_NAME"
如您所见,它使用了 Nginx env 指令,工作正常
但是我不知道如何用Kong入口控制器做同样的事情,根据图表值描述:
Specify Kong configuration This chart takes all entries defined under
.env
and transforms them into intoKONG_*
environment variables for Kong containers. Their names here should match the names used in https://github.com/Kong/kong/blob/master/kong.conf.default See https://docs.konghq.com/latest/configuration also for additional details
env:
log_level: info
my_custom_var: hello
因此,如果我将自定义变量放在那里,它将被转换为 KONG_MY_CUSTOM_VAR
那我该怎么做呢?我找不到 Kong 图表在哪里暴露了额外的环境变量。
根据图表的维护者,目前这是不可能的。我会尝试做 PR 来解决这个问题。