首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Gitlab与Hashicorp Vault的集成

Gitlab与Hashicorp Vault的集成
EN

Stack Overflow用户
提问于 2020-11-06 22:55:46
回答 4查看 587关注 0票数 0

我已经将我自己托管的Gitlab与Hashicorp vault集成在一起。我已经按照这里的步骤运行了https://docs.gitlab.com/ee/ci/examples/authenticating-with-hashicorp-vault/,并尝试运行管道。

我在运行管道时收到证书错误。

代码语言:javascript
复制
Error writing data to auth/jwt/login: Put "https://vault.systems:8200/v1/auth/jwt/login": x509: certificate signed by unknown authority

我的.gitlab yml文件-

代码语言:javascript
复制
Vault Client:
  image:
    name: vault:latest
    entrypoint:
        - '/usr/bin/env'
        - 'PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin'
  before_script:

  script:
    - export VAULT_ADDR=https:/vault.systems:8200/
    - export VAULT_TOKEN="$(vault write -field=token auth/jwt/login role=staging jwt=$CI_JOB_JWT)"
    - export PASSWORD="$(vault kv get -field=password kv/project/staging/db)"
    - echo $PASSWORD

如果我使用-tls-skip-verify标志,那么它工作得很好。

我是否需要将自签名服务器证书放置在vault服务器或gitlab服务器上的某个位置?如果有人对这个问题有什么想法,请告诉我。

EN

回答 4

Stack Overflow用户

发布于 2020-11-07 08:25:31

由docker/kube执行器管理的容器必须配置为信任自签名证书。您可以编辑运行器的config.toml,以便将其挂载到GitLab CI作业容器的受信任证书/CA根中

例如,在基于Linux的docker执行器上:

代码语言:javascript
复制
  [[runners]]
   name = "docker"
   url = "https://example.com/"
   token = "TOKEN"
   executor = "docker"

   [runners.docker]
     image = "ubuntu:latest"

     # Add path to your ca.crt file in the volumes list
     volumes = ["/cache", "/path/to-ca-cert-dir/ca.crt:/etc/gitlab-runner/certs/ca.crt:ro"]

有关更多信息,请参阅docs

票数 2
EN

Stack Overflow用户

发布于 2020-11-07 07:01:49

代码语言:javascript
复制
Error writing data to auth/jwt/login: Put "https://vault.systems:8200/v1/auth/jwt/login": x509: certificate signed by unknown authority

您收到的错误是从Vault返回的,因此您需要获得Vault才能接受该证书。关于如何在the Deployment Guide中这样做,有一个很好的说明。(我曾经在HashiCorp保险库工作,所以我知道从哪里挖出来。)

票数 0
EN

Stack Overflow用户

发布于 2020-11-09 19:52:29

我可以通过在我的gitlab.yml文件中使用这个变量VAULT_CACERT来解决这个问题:- export VAULT_CACERT=/etc/gitlab-runner/certs/ca.crt。这里的证书路径是我们在容器启动时指定的挂载容器的路径。

张贴这篇文章,如果有人在寻找它,这就是解决方案。:)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64716870

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档