首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >配置Concourse配置项以使用AWS Secrets Manager

配置Concourse配置项以使用AWS Secrets Manager
EN

Stack Overflow用户
提问于 2020-04-14 21:05:55
回答 1查看 612关注 0票数 2

我一直在试图弄清楚如何配置docker版本的会议(https://github.com/concourse/concourse-docker)来使用亚马逊网络服务秘密管理器,我在docker-compose文件中添加了以下环境变量,但从日志中看,它似乎从未接触过亚马逊网络服务来获取证书。当我在docker-compose文件中的环境下添加这些环境变量时,我是否遗漏了什么,或者应该自动发生这种情况?下面是我一直在看的https://concourse-ci.org/aws-asm-credential-manager.html文档

代码语言:javascript
复制
version: '3'

services:
  concourse-db:
    image: postgres
    environment:
      POSTGRES_DB: concourse
      POSTGRES_PASSWORD: concourse_pass
      POSTGRES_USER: concourse_user
      PGDATA: /database

  concourse:
    image: concourse/concourse
    command: quickstart
    privileged: true
    depends_on: [concourse-db]
    ports: ["9090:8080"]
    environment:
      CONCOURSE_POSTGRES_HOST: concourse-db
      CONCOURSE_POSTGRES_USER: concourse_user
      CONCOURSE_POSTGRES_PASSWORD: concourse_pass
      CONCOURSE_POSTGRES_DATABASE: concourse
      CONCOURSE_EXTERNAL_URL: http://XXX.XXX.XXX.XXX:9090
      CONCOURSE_ADD_LOCAL_USER: test: test
      CONCOURSE_MAIN_TEAM_LOCAL_USER: test
      CONCOURSE_WORKER_BAGGAGECLAIM_DRIVER: overlay
      CONCOURSE_AWS_SECRETSMANAGER_REGION: us-east-1
      CONCOURSE_AWS_SECRETSMANAGER_ACCESS_KEY: <XXXX>
      CONCOURSE_AWS_SECRETSMANAGER_SECRET_KEY: <XXXX>
      CONCOURSE_AWS_SECRETSMANAGER_TEAM_SECRET_TEMPLATE: /concourse/{{.Secret}}
      CONCOURSE_AWS_SECRETSMANAGER_PIPELINE_SECRET_TEMPLATE: /concourse/{{.Secret}}

pipeline.yml示例:

代码语言:javascript
复制
jobs:
  - name: build-ui
    plan:
      - get: web-ui
        trigger: true
      - get: resource-ui
      - task: build-task
        file: web-ui/ci/build/task.yml
      - put: resource-ui
        params:
          repository: updated-ui
          force: true
      - task: e2e-task
        file: web-ui/ci/e2e/task.yml
        params:
          UI_USERNAME: ((ui-username))
          UI_PASSWORD: ((ui-password))

resources:
  - name: cf
    type: cf-cli-resource
    source:
      api: https://api.run.pivotal.io
      username: ((cf-username))
      password: ((cf-password))
      org: Blah

  - name: web-ui
    type: git
    source:
      uri: git@github.com:blah/blah.git
      branch: master
      private_key: ((git-private-key))
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-04-16 11:44:42

在AWS Secrets Manager中存储大厅管道的参数时,必须遵循以下语法,

代码语言:javascript
复制
/concourse/TEAM_NAME/PIPELINE_NAME/PARAMETER_NAME`

如果有在多个管道中跨组使用的公共参数,请使用此语法来避免在密钥管理器中创建多余的参数

代码语言:javascript
复制
/concourse/TEAM_NAME/PARAMETER_NAME

支持的最高级别是大厅团队级别。

不能使用全局参数。因此,您的组合环境中的这些变量将不受支持。

代码语言:javascript
复制
CONCOURSE_AWS_SECRETSMANAGER_TEAM_SECRET_TEMPLATE: /concourse/{{.Secret}}
CONCOURSE_AWS_SECRETSMANAGER_PIPELINE_SECRET_TEMPLATE: /concourse/{{.Secret}}

除非您想要更改前缀/concourse,否则这些参数将保留为其默认值。

而且,在管道中检索这些参数时,不需要在模板中进行任何更改。只需传递PARAMETER_NAME,concourse将根据团队和管道名称在secrets中处理查找。

代码语言:javascript
复制
...
        params:
          UI_USERNAME: ((ui-username))
          UI_PASSWORD: ((ui-password))
...
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61208468

复制
相关文章

相似问题

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