Hacker News new | ask | show | jobs
by proxysna 1710 days ago
You should be ok with consul, ansible and templating your docker-compose files. Might take some time to set it all up, but should be ok.
1 comments

Thanks for the suggestion.

Any suggested starting points for my research? DDG search for "ansible docker-compose" brings up some suggestions like [1] and [2] but I'm curious if you have other suggestions.

And just so I understand how these work together - I'd use Jenkins+ansible to push containers to my servers, I'd run consul within docker as well, and ... would Ansible register services with consul as it pushes them? Do the services need to be modified to speak with consul directly?

[1] https://docs.ansible.com/ansible/latest/collections/communit... [2] https://www.ansible.com/blog/six-ways-ansible-makes-docker-c...

Missed the whole consul part of the question. To register services you can: 1. You can use ansible module [0] 2. Use a template to create json files or suing http API [1] 3. Registrator. Project is old but still works well. [2]

> Do the services need to be modified to speak with consul directly?.

I am not sure that i get you, but had no such need when migrating legacy stuff.

[0] https://docs.ansible.com/ansible/latest/collections/communit... [1] https://learn.hashicorp.com/tutorials/consul/get-started-ser... [2] https://github.com/gliderlabs/registrator

you can check out ansible templating engine that ansible uses - jinja2 [1]. And the templating module itself[2]. But if you are not well versed with ansible check out Jeff Geerling's "Ansible 101" [3].

[1] https://jinja.palletsprojects.com/en/3.0.x/

[2] https://docs.ansible.com/ansible/2.9/modules/template_module...

[3] https://youtu.be/goclfp6a2IQ