0

我正在尝试从 Docker Secrets 中提取 HAProxy 统计页面的凭据(而不是在配置文件中硬编码它们)。我会使用环境变量,但我无法修改 Docker 容器以使用读取机密文件的脚本来设置它。

有没有人对如何使这项工作有其他想法?

不起作用的事情:

  1. 使用 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}"
    
    ...
    
  2. 使用一个Lua脚本就stats auth行了。它不起作用,因为stats auth它也不处理动态表达式。

    backend proxy_stats_backend
      stats enable
      stats auth %[lua.extract_credentials(/run/secrets/proxy_stats_credentials)]
    
    ...
    
  3. 将机密文件格式化为 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)]
    
    ...
    
4

0 回答 0