У меня есть файл, который содержит некоторые переменные среды, которые будут использоваться Django, и мне нужно получить доступ к некоторым из этих данных.Переменные окружения из внешнего файла в Ansible
Пример env_vars
файла:
DB_USER='my_db_username'
DB_PASSWORD='my_db_password'
Пример playbook.yml
:
---
- name: Test playbook
hosts: localhost
connection: localhost
tasks:
- debug: msg="username {{ lookup('env', 'DB_USER') }} password {{ lookup('env', 'DB_PASSWORD') }}"
При попытке вызова его с -e
опцией терпит неудачу со следующей ошибкой:
$ ansible-playbook playbook.yml -e @env_vars
ERROR: failed to combine variables, expected dicts but got a 'dict' and a 'str'
Я также попытался к «источнику» env_vars
файл. Но незаметные наклонные видят переменные окружения.
$ . env_vars; ansible-playbook playbook.yml
PLAY [Test playbook] **********************************************************
GATHERING FACTS ***************************************************************
ok: [localhost]
TASK: [debug msg="username password "] ***************************************
ok: [localhost] => {
"msg": "username password "
}
PLAY RECAP ********************************************************************
localhost : ok=2 changed=0 unreachable=0 failed=0
Есть ли способ сделать «видимые» или «загруженные» переменные, заданные в файле? Я видел множество вариантов поиска (ini, yml и другие), но ни один из них не загружает такую информацию.
Я сейчас рубка довольно глупо. Ахахах спасибо! –