Vault и Ansible?
Есть роль для установки MySQL с репликацией. В роли есть vars/main.yml с таким содержимым:
---
mysql_root_password: "{{ lookup('community.hashi_vault.hashi_vault', 'secret=mysql/secrets/mysql_root_password url=http://192.168.88.45:8200') }}"
replication_user: "{{ lookup('community.hashi_vault.hashi_vault', 'secret=mysql/secrets/replication_user url=http://192.168.88.45:8200') }}"
replication_password: "{{ lookup('community.hashi_vault.hashi_vault', 'secret=mysql/secrets/replication_password url=http://192.168.88.45:8200') }}"
Токен пробовал как указывать в переменных, так и передавать через env, путь к секрету пробовал как с двоеточием, так и с тире.
Плагин брал вот этот https://docs.ansible.com/ansible/latest/collections/community/hashi_vault/hashi_vault_lookup.html#ansible-collections-community-hashi-vault-hashi-vault-lookup
Есть в той же локалке поднятый Vault, в котором эти секреты созданыб путь к kv: mysql/secrets
При запуске плейбука с ролью, когда доходит до таски с обращением к переменным, ловлю ошибку:
fatal: [master]: FAILED! => {"msg": "An unhandled exception occurred while templating '{{ lookup('community.hashi_vault.hashi_vault', 'secret=mysql/secrets/mysql_root_password token=hvs.Vsm35SCP7J8Js5duwjU8uzGm url=http://192.168.88.45:8200') }}'. Error was a <class 'ansible.errors.AnsibleError'>, original message: An unhandled exception occurred while running the lookup plugin 'community.hashi_vault.hashi_vault'. Error was a <class 'ansible.errors.AnsibleError'>, original message: The secret 'mysql/secrets/mysql_root_password' doesn't seem to exist.. The secret 'mysql/secrets/mysql_root_password' doesn't seem to exist."}
ЧЯДНТ и как правильно? Спасибо.
Раскурил. Верная строка: mysql_root_password: "{{ lookup('community.hashi_vault.hashi_vault', 'mysql/data/secrets:mysql_root_password') }}" Спасибо!
Обсуждают сегодня