Поддерживает ли Gitlab AutoDevops секреты кубернетов в виде файла?

Я пробую GitLab AutoDevOps и пытаюсь понять, как работают переменные CI/CD.

В пользовательском интерфейсе настроек я могу установить переменные создания файла и среды.

Согласно документации, если переменная имеет префиксK8S_SECRET_затем он волшебным образом появляется в развертывании. Я могу заставить это работать для переменных env, но не для файловых переменных. В связи с этим у меня есть два вопроса:

  • Если это поддерживается, как мне это сделать?
  • Если это не поддерживается, что бы вы порекомендовали как решение? В частности, мне нужно иметь возможность монтировать ключи ssh в моем модуле.

Спасибо!

0 ответов

Нет, не поддерживается. Вы не можете использовать переменные типа файла с K8S_SECRET_. Это обходной путь.

  1. сначала удалить (-----BEGIN RSA PRIVATE KEY-----) и последняя строка (-----END RSA PRIVATE KEY-----)

  2. Добавьте остальной ключ как K8S_SECRET_ VariableТип. Для примера K8S_SECRET_SECRET_KEY

  3. Это сделает ваш ключ доступным в вашем приложении как переменную среды. Важно отметить, что новая строка (\n) будет преобразована в пробел.

  4. Используйте сценарий, аналогичный приведенному ниже, в файле развертывания.

    command: ["/bin/bash", "-c"] args: - | mkdir -p /home/certs cd /home/certs echo $SECRET_KEY > secret.key sed -i 's/ /\n/g' secret.key sed -i '1s/^/-----BEGIN RSA PRIVATE KEY-----\n/' secret.key sed -i -e '$a-----END RSA PRIVATE KEY-----' secret.key
Другие вопросы по тегам