Nous utilisons eb_deployer pour déployer sur Elastic Beanstalk et nous aimerions provisionner chaque noeud en utilisant .ebextensions et Ansible.Déploiement vers Elastic Beanstalk avec Ansible
Un package créé pour eb_deployer
ressemble à quelque chose comme ça (simplifié), il est monté sur le noeud de commande avec Ansible:
- Procfile
- application.jar
- .ebextensions
- ansible.config
- provision.yml
- roles
- appdynamics
- tasks
- main.yml
ansible.config
installe ansible
sur le nœud Beanstalk et exécute un seul PlayBook:
packages:
python:
ansible: []
container_commands:
ansible:
command: "ansible-playbook .ebextensions/provision.yml"
provision.yml
(simplifiée) ne comprend que un seul rôle:
- name: provision eb instance
hosts: localhost
connection: local
gather_facts: yes
roles:
- role: appdynamics
controller_host: "example.com"
controller_port: 443
Maintenant, le problème est que le rôle appdynamics
utilise une variable appdynamics_accesskey
stockée dans le coffre-fort, mais le fichier de mot de passe du coffre-fort est stocké sur le nœud de contrôle. Nous souhaitons éviter de copier le fichier de mot de passe du coffre-fort de la machine de contrôle dans le compartiment S3, puis dans le noeud Beanstalk, à .ebextensions
.
Que feriez-vous dans un tel scénario? Peut-être qu'il y a d'autres outils qui sont plus appropriés dans ce cas?