Как получить доступ к секрету пары ключ-значение из AWS Secrets Manager в зале?
У меня есть среда для собраний, развернутая с использованием bosh. Он настраивается с помощью AWS Secrets Manager. Секретный шаблон конвейера имеет вид
/concourse/{{.Team}}/{{.Secret}}
у меня есть секрет
/concourse/team1/general
создается в AWS Secrets Manager (секреты другого типа) с указанным ниже значением.
{
"gitbranch": "master",
"hello": "2",
"general": "hi"
}
У меня есть конвейер
hello-world.yml
установить в
team1
команда.
---
jobs:
- name: job
public: true
plan:
- task: check-secret
config:
platform: linux
image_resource:
type: registry-image
source: { repository: busybox }
run:
path: echo
args: ["((general))"]
Этот конвейер выводит значение как
{"gitbranch":"master","hello":"2","general":"hi"}
Но если я изменю аргументы (последняя строка) в конвейере на
args: ["((general.gitbranch))"]
, тогда я получаю ошибку ниже
failed to interpolate task config: cannot access field 'gitbranch' of non-map value ('string') from var: general.gitbranch
Можно ли получить доступ к любой из пар ключ-значение в секрете из AWS Secrets Manager в конвейере собрания? Если да, то как это сделать?
1 ответ
Отвечая на свой вопрос.
Создав секрет с помощью cli с параметром
--secret-binary
, Мне удалось получить пары ключ-значение.
(Раньше я создавал секрет из консоли aws, которая была создана как секретная строка.)
Я использовал приведенную ниже команду, чтобы обновить свой секрет, чтобы создать секрет в виде двоичного файла.
b64key=$(base64 secrets.json)
aws secretsmanager update-secret \
--secret-id /concourse/team1/general \
--secret-binary "$b64key"
Я нашел этот using-aws-secrets-manager-with-concourse-ci, и это помогло в решении проблемы.
Если кто-нибудь знает, как это сделать в консоли, дайте мне знать.