Мы используем eb_deployer для развертывания в Elastic Beanstalk, и мы хотели бы подготовить каждый узел с помощью . ebextensions и Ansible.
Пакет, созданный для eb_deployer
, выглядит примерно так (упрощенно), он собирается на управляющем узле с помощью Ansible:
- Procfile
- application.jar
- .ebextensions
- ansible.config
- provision.yml
- roles
- appdynamics
- tasks
- main.yml
ansible.config
устанавливает ansible
на узел Beanstalk и запускает одну книгу воспроизведения:
packages:
python:
ansible: []
container_commands:
ansible:
command: "ansible-playbook .ebextensions/provision.yml"
provision.yml
(упрощенный) включает только одну роль:
- name: provision eb instance
hosts: localhost
connection: local
gather_facts: yes
roles:
- role: appdynamics
controller_host: "example.com"
controller_port: 443
Теперь проблема в том, что роль appdynamics
использует переменную appdynamics_accesskey
, которая хранится в хранилище, но файл паролей хранилища хранится на управляющем узле. Мы не хотели бы копировать файл паролей хранилища с управляющей машины в .ebextensions
в сегменте S3, а затем в узел Beanstalk.
Что бы вы сделали в таком сценарии? Может быть, есть другие инструменты, более подходящие в этом случае?