Доступная переменная из github actions secret

#ansible #github-actions

#ansible #github-действия

Вопрос:

Я пытаюсь использовать секреты Githubactions в своих сборниках игр ansible, которые затем будут переданы в шаблоны, но для GHA нет плагина поиска. Это не работает:

 - hosts: the-host
  vars:
    influxdb_pass: "{{ lookup('env', 'secret.INFLUXDB_PASS' }}"
 

Мой обходной путь — раскрыть секреты через переменные среды GHA и просто использовать плагин ansible env lookup:

 name: Pull Request - Ansible
on:
  pull_request:
    branches:
      - master
jobs:
  deploy:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v1
      - name: Config updates
        env:
          INFLUXDB_PASS: ${{ secrets.INFLUXDB_PASS }}
 
 - hosts: the-host
  vars:
    influxdb_pass: "{{ lookup('env', 'INFLUXDB_PASS' }}"
 

Проблема в том, что я управляю множеством секретов, и это раздражает необходимость:

  1. Добавьте секрет в настройки репозитория
  2. Определите переменную в ansible-playbook
  3. Явное раскрытие секретов через переменные среды в рабочем процессе GHA.

Когда в других инструментах CI, таких как Gitlab, вам не нужно выполнять явное раскрытие секрета, вы можете использовать секреты напрямую как переменные среды.

Есть ли у кого-нибудь советы по лучшему подходу к GHA?

Комментарии:

1. Добавьте секрет в настройки репозитория ну, вам не обязательно это делать — такая ситуация — проблема, которую ansible-vault предназначен для решения: поместите секреты в репозиторий, но разблокируйте их только в CI