This commit is contained in:
15
tasks/group.yml
Normal file
15
tasks/group.yml
Normal file
@ -0,0 +1,15 @@
|
||||
---
|
||||
- name: Setup user for docker usage
|
||||
block:
|
||||
- name: Check if user exists
|
||||
getent:
|
||||
database: passwd
|
||||
key: "{{ user.username }}"
|
||||
register: user_exists
|
||||
ignore_errors: true
|
||||
|
||||
- name: Add user to docker group
|
||||
user:
|
||||
name: "{{ item.username }}"
|
||||
group: docker
|
||||
when: user_exists is not failed
|
37
tasks/main.yml
Normal file
37
tasks/main.yml
Normal file
@ -0,0 +1,37 @@
|
||||
---
|
||||
- name: Ensure mandatory variables are configured
|
||||
assert:
|
||||
that: "{{ item }} is defined"
|
||||
fail_msg: "You must define the '{{ item }}' variable"
|
||||
with_items:
|
||||
- members
|
||||
|
||||
- name: Include resource variables
|
||||
include_vars: "{{ members }}"
|
||||
tags:
|
||||
# Note(d1): we already load in converge.yml so skip here
|
||||
- molecule-notest
|
||||
|
||||
# Note(decentral1se): Done in this way because Ansible...
|
||||
# Please see this SO answer https://stackoverflow.com/a/39041069
|
||||
- name: Include user group tasks
|
||||
include: group.yml user={{ item }}
|
||||
with_items: "{{ members }}"
|
||||
|
||||
- name: Ensure Docker python dependencies are installed
|
||||
package:
|
||||
name: "{{ item }}"
|
||||
state: present
|
||||
with_items:
|
||||
- python3-docker
|
||||
|
||||
- name: Initialise docker swarm
|
||||
docker_swarm:
|
||||
state: present
|
||||
advertise_addr: "{{ hostvars[inventory_hostname]['ansible_default_ipv4']['address'] }}"
|
||||
|
||||
- name: Initialise proxy for traefik
|
||||
docker_network:
|
||||
name: proxy
|
||||
driver: overlay
|
||||
when: swarm_single_node_enable_proxy
|
Reference in New Issue
Block a user