Hi guys, I've got something I'd really like some help on, not just the solution, but the understanding and perhaps any related documentation/articles.
I'm writing a role for deployment of Hubot. To define bots to be deployed, I'm using a dictionary, like so: hubot_bots: testbot: owner: 'Bot Wrangler <b...@example.com>' name: Hubot descr: Delightfully aware robutt adapter: rocketchat environment: - rocketchat_room: GENERAL - rocketchat_user: Hubot - rocketchat_password: Hubot Using 'with_items' I can iterate over items in 'hubot_bots', like 'testbot' here, and create resources, such as directories named after the key 'testbot' and then run commands accessing the values using 'item.value.owner' and ' item.value.adapter', etc. Now, for each of these bot definitions, I want to deploy a Systemd service file, for management of each bot process. Within this template, I want to refer to some of the values as defined above, including iterating over each key/value in the 'environment' list. I tried my best the other evening with a few combinations of 'with_dict' and 'with_nested' and felt I was making some progress, but definitely not getting the desired results, nor understanding how it was working. Here's the task I'm deploying the template with: - name: Deploy service files for each Hubot template: src: hubot.service.j2 dest: /usr/lib/systemd/system/hubot-{{ item.key }}.service owner: root group: root mode: 0644 with_dict: hubot_bots And here's the template I'm using: [Unit] Description=Hubot-{{ item }} Requires=network.target After=network.target [Service] Type=simple WorkingDirectory={{ hubot_village_path }}/{{ item }} User={{ hubot_admin_user }} Restart=always RestartSec=10 {% for env in item.value.environment %} Environment={{ env|upper}}={{ env.value }} {% endfor %} ExecStart={{ hubot_village_path }}/{{ item }}/bin/hubot --adapter {{ item. value.adapter }} [Install] WantedBy=multi-user.target As you can see, I want to refer to each bot defined under 'hubot_bots' and then some other values. Would anyone be able to point me in the right direction on how to get the desired outcome, and understand how this works. Any documentation or articles would be great. I'm still grasping concepts with YAML structures and the Jinja2 template engine - I'd love to learn as much as I can about it, as I can see it can be very powerful. So, thank you so much in advance if anyone can help me on this! Kind Regards, Calum -- 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 ansible-project+unsubscr...@googlegroups.com. To post to this group, send email to ansible-project@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/ansible-project/e7793683-c6bb-4ebe-9510-8acf5e067687%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.