Я использую рулевые диаграммы для развертывания некоторых обработчиков webhook. Обработчики должны подключиться к кластеру, на котором они работают, чтобы развернуть в нем конфигурацию. Это работает, но один шаг сложно перейти в рулевой график. Когда диаграмма делает сервисную учетную запись, она дает ей случайно названный секрет:
$ oc describe sa sa-build-webhook-realworld
Name: sa-build-webhook-realworld
Namespace: your-eng2
Labels: app=sa-build-webhook-realworld
Annotations:
Image pull secrets: sa-build-webhook-realworld-dockercfg-4qz9g
Mountable secrets: <b>sa-build-webhook-realworld-token-bqtnw</b>
sa-build-webhook-realworld-dockercfg-4qz9g
Tokens: sa-build-webhook-realworld-token-bqtnw
sa-build-webhook-realworld-token-k7lq8
Events: <none>
Я могу взять это и установить в конфигурации развертывания с помощью:
#https://codereview.stackexchange.com/a/212095/75693
SECRET_NAME=$(
oc describe sa sa-tag-realworld |
awk -F': *' '
$2 { KEY=$1 ; VALUE=$2; }
!$2 { VALUE=$1; }
KEY=="Mountable secrets" && VALUE !~ /docker/ { print VALUE }
'
)
oc set volume dc/webhook-realworld \
--add --name=sa-secret-volume \
--mount-path=/sa-secret-volume \
--secret-name=$SECRET_NAME
Я пытаюсь увидеть, есть ли способ декларативно сделать это в диаграмме yaml, которая одновременно создает dc
и sa
, что составляет здесь .
Есть ли способ ссылаться на сгенерированный секрет учетной записи службы из конфигурации развертывания на диаграмме?
Или я должен пытаться заставить helm / helmfile выполнить поиск в командной строке как часть своей работы?