ops/playbooks/server/supermaster.yml

79 lines
2.0 KiB
YAML

---
- name: configure supermaster for docker swarm
become: yes
hosts: supermaster
vars_files:
- "var/hosts.yml"
tasks:
- name: installing lets encrypt
apt:
name: "{{item}}"
state: latest
update_cache: yes
with_items:
- letsencrypt
- python3-certbot-nginx
- name: init swarm
become: dockerman
shell: docker swarm init --advertise-addr {{ item.local }}:2377
with_items:
- "{{ supermaster }}"
register: swarm_init
ignore_errors: yes
- name: install nfs server
apt: name=nfs-kernel-server state=present update_cache=yes
- name: create nfs directory
file: path=/volume state=directory mode=0777 owner=root group=root
- name: create multiple directories
shell: |
mkdir -p /volume/mongo
mkdir -p /volume/pg
mkdir -p /volume/rabbit
mkdir -p /volume/redis
mkdir -p /volume/ig/ls/wwwroot
mkdir -p /volume/ig/api/storage
mkdir -p /volume/dns
mkdir -p /volume/nginx
mkdir -p /volume/portainer
mkdir -p /volume/mongo/primary
mkdir -p /data/warehouse/windows
mkdir -p /var/log/nginx/ig/
chown -R 1001:1001 /volume/mongo/primary
chown -R 1001:1001 /volume/pg
chown -R 1001:1001 /volume/redis
chown -R 1001:1001 /volume/rabbit
chmod -R 755 /data/warehouse/windows
- name: create nfs export
shell: |
echo "/volume {{item.local}}/32(rw,sync,no_subtree_check,no_root_squash)" >> /etc/exports
with_items:
- "{{ clients }}"
- name: exportfs
shell: exportfs -a
- name: set iptables for clients ip for nfs
shell: |
iptables -A INPUT -s "{{ item.local }}"/32 -p tcp -m tcp --dport 2049 -j ACCEPT
with_items:
- "{{ clients }}"
- name: create overlay network
shell: |
docker network create --driver=overlay --attachable mother
ignore_errors: yes