我正在尝试从 Docker Secrets 中提取 HAProxy 统计页面的凭据(而不是在配置文件中硬编码它们)。我会使用环境变量,但我无法修改 Docker 容器以使用读取机密文件的脚本来设置它。
有没有人对如何使这项工作有其他想法?
不起作用的事情:
使用 Lua 脚本读取机密文件并设置环境变量。它不起作用,因为
setenv
不处理动态表达式。global lua-load /extract-credentials.lua setenv PROXY_STATS_CREDENTIALS %[lua.extract_credentials(/run/secrets/proxy_stats_credentials)] ... backend proxy_stats_backend stats enable stats auth "${PROXY_STATS_CREDENTIALS}" ...
使用一个Lua脚本就
stats auth
行了。它不起作用,因为stats auth
它也不处理动态表达式。backend proxy_stats_backend stats enable stats auth %[lua.extract_credentials(/run/secrets/proxy_stats_credentials)] ...
将机密文件格式化为 HAProxy 映射文件,然后使用其密钥提取凭据。同样,它不起作用,因为
stats auth
不处理动态表达式。backend proxy_stats_backend stats enable stats auth %[str(user),map(/run/secrets/proxy_stats_credentials)]:%[str(password),map(/run/secrets/proxy_stats_credentials)] ...