Использование aws_secret в ansible - PullRequest
0 голосов
/ 26 мая 2019

Я пытаюсь восстановить пароль из секретного менеджера aws, используя ansible 2.8, используя lookup

Ниже вещи не работают для меня 1. В .bashrc я экспортировал регион 2. Возможные переменные среды в задаче 3. Задание переменных ANSIBLE в предварительных заданиях

- hosts: StagingApps
  remote_user: staging
  gather_facts: false

  tasks:
  - debug:
      var: "{{ lookup('aws_secret', 'staging_mongodb_pass', region='us-east-1') }}"
      msg: "{{ query('aws_secret', 'staging_mongodb_pass', region='us-east-1') }}"
      environment:
        region: 'us-east-1'

Сообщение об ошибке:
НЕ УДАЛОСЬ! => {"msg": "Произошло необработанное исключение при запуске подключаемого модуля поиска« aws_secret ». Ошибка: исходное сообщение:« Запрошенная запись (plugin_type: lookup plugin: параметр aws_secret: регион) не определена в конфигурации. »» }

Ответы [ 2 ]

0 голосов
/ 07 июня 2019

Похоже, что Ansible выпустил этот поисковый плагин в неисправном состоянии.У них есть проблема и PR, открытый, чтобы исправить это:

Очень разочаровывает, поскольку я былжду этого плагина много месяцев.

0 голосов
/ 27 мая 2019

ниже playbook у меня сработало

  - name: "register mongodb from secretsmanager"
    shell: "aws secretsmanager get-secret-value --secret-id staging_mongodb"
    register: mongodb_pass
    delegate_to: 127.0.0.1

  - set_fact:
      mongodb_pass_dict: "{{ mongodb_pass.stdout | from_json | json_query('SecretString')  }}"

  - set_fact:
      mongodb_pass_list: "{{ ['staging_mongodb'] | map('extract', mongodb_pass_dict) | list  }}"

  - set_fact:
      mongodb_pass: "{{ mongodb_pass_list[0] }}"

    - template:
      src: application.properties.j2
      dest: application.properties
      mode: 0644
      backup: yes
...