代码之家  ›  专栏  ›  技术社区  ›  hkhelil

使用保险库的Consul模板读取秘密

  •  1
  • hkhelil  · 技术社区  · 6 年前

    我的保险库在一个吊舱里。 我可以用金库阅读来阅读秘密。

    $ vault read test
    Key                 Value
    ---                 -----
    refresh_interval    768h
    value               world
    
    $ vault kv get test
    ==== Data ====
    Key      Value
    ---      -----
    value    world
    

    我可以使用这两个版本的API来查看保险库中的秘密

    当我列出保险库秘密引擎时,我清楚地看到它们:

    $ vault secrets list
    Path                   Type         Description
    ----                   ----         -----------
    secret/                kv           key/value secret storage
    test/                  kv           n/a
    

    在我的咨询模板中,我有以下内容

    [default]
    {{ with secret "test"}}
    {{ if .Data.value }}
    consul_template_value = {{ .Data.value }}
    {{ end }}
    {{ end }}
    

    我的Consul模板是一个侧舱,读取上面的文件并返回当前错误:

    watcher reported error: vault.read(test): no secret exists at test
    [ERR] (cli) vault.read(test): no secret exists at test
    

    我打开了Consul模板SideCar上的跟踪

    [TRACE] (view) vault.read(test) starting fetch
    [TRACE] vault.read(test2): GET /v1/test?stale=true&wait=1m0s
    [WARN] (view) vault.read(test): no secret exists at test (retry attempt 1 after "250ms")
    

    我用卷发检查了保险库API

    curl -k -H "X-Vault-Token: TOKEN" -X GET https://X.X.X.X/v1/test?stale=true
    

    我得到了回应

    {
    "request_id":"aa947343-723a-45fc-cdee-7394c3074a4c",
    "lease_id":"",
    "renewable":false,
    "lease_duration":2764800,
    "data":{
        "value":"word"
        },
    "wrap_info":null,
    "warnings":null,
    "auth":null
    }
    

    我在Github上发现了类似的问题 https://github.com/hashicorp/consul-template/issues/341

    有什么主意会有帮助的

    1 回复  |  直到 6 年前
        1
  •  0
  •   hkhelil    6 年前

    解决了我缺少CT的一些配置方面