ansible/playbooks/pis.yml

97 lines
2.4 KiB
YAML
Executable File

#!/usr/bin/env ansible-playbook
# vim:ft=ansible:
---
# General configuration
- hosts: pis
roles:
- role: zerotier
tags: [ pis, zerotier ]
- role: docker
tags: [ pis, docker, skip-pull ]
tasks:
- name: install basic packages
apt:
name:
- python3-docker
- libraspberrypi-bin
tags: [ pis, packages ]
# k8s
- hosts: pik8s
roles:
- role: k8s
tags: [ k8s, skip-pull ]
- role: motd
vars:
motd_watch_services_extra:
- docker
- kubelet
tags: [ k8s, motd ]
- hosts: pik8s_masters
tasks:
- name: install openshift
pip: name=openshift state=latest
tags: [ k8s, packages, pip ]
# Multipurpose Pis running unbound
- hosts: pi-mp-1.desu.ltd,pi-mp-2.desu.ltd
vars:
container_default_behavior: no_defaults
tasks:
- name: docker deploy unbound
docker_container:
name: unbound
image: rehashedsalt/unbound-desu-local:latest
restart_policy: unless-stopped
pull: yes
ports:
- "{{ ansible_facts.eth0.ipv4.address }}:53:5053/tcp"
- "{{ ansible_facts.eth0.ipv4.address }}:53:5053/udp"
tags: [ pis, mp, unbound ]
roles:
- role: motd
vars:
motd_watch_services_extra:
- docker
- isc-dhcp-server
tags: [ pis, mp, motd ]
# And also serving DHCP
- hosts: pi-mp-1.desu.ltd
vars_files:
- vars/desulocal-dhcp.yml
roles:
- role: netplan-static-ip
tags: [ pis, mp, dhcp, static-ip ]
- role: dhcp
vars:
dhcp_global_failover_peer: failover-group
dhcp_global_failover:
role: primary
address: 192.168.103.100
port: 647
peer_address: 192.168.103.101
peer_port: 647
max_response_delay: 15
max_unacked_updates: 10
load_balance_max_seconds: 5
split: 255
mclt: 3600
tags: [ pis, mp, dhcp ]
- hosts: pi-mp-2.desu.ltd
vars_files:
- vars/desulocal-dhcp.yml
roles:
- role: netplan-static-ip
tags: [ pis, mp, dhcp, static-ip ]
- role: dhcp
vars:
dhcp_global_failover_peer: failover-group
dhcp_global_failover:
role: secondary
address: 192.168.103.101
port: 647
peer_address: 192.168.103.100
peer_port: 647
max_response_delay: 15
max_unacked_updates: 10
load_balance_max_seconds: 5
tags: [ pis, mp, dhcp ]