I’d trying to get the database endpoint into a Rails database.ml file. I
know the RDS id, so I can get the endpoint using reds/command: facts.
Unfortunately, the RDS play has to use localhost, while the template write
uses the actual target host.
So far I’ve done it using
- hosts: localhost
connection: local
gather_facts: False
vars_files:
- ../ec2/ec2_params.yml
tasks:
- rds:
command: facts
region: "{{ region }}"
instance_name: "{{ database_instance }}"
register: db_facts
- name: save remote host
copy:
content: "{{ db_facts.instance }}"
dest: /tmp/db_facts
- hosts: tag_class_apps
become: yes
become_user: "{{ app_user }}"
gather_facts: False
vars:
db_facts: "{{ lookup('file', '/tmp/db_facts')|from_json }}"
tasks:
- name: Update database.yml with current rds endpoint
template:
src: ../roles/app_directories/templates/config/database.yml # this
template uses db_facts.endpoint
dest: "{{ shared_path }}/config/database.yml"I can’t help feeling I’m
making this too complex. What should I be doing?
I can't help feeling I'm making this too complicated. What magic am I
missing?
Cheers
Dave
--
You received this message because you are subscribed to the Google Groups
"Ansible Project" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/ansible-project/f27915cb-0909-4b82-a124-1baa19e5a250%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.