Compare commits

...

4 Commits

Author SHA1 Message Date
e7c3e1eed2 Update networks 2022-08-01 23:57:18 +02:00
6321f2a36e Fix heartbeat 2022-06-05 02:28:53 +02:00
5b76f14734 Add remote_server 2022-06-04 22:56:07 +02:00
fe000e168f Restore main file 2022-06-04 22:47:20 +02:00
11 changed files with 176 additions and 46 deletions

View File

@ -72,6 +72,10 @@ all:
ansible_host: 192.168.50.186 ansible_host: 192.168.50.186
vars: vars:
ip: 186 ip: 186
remote_server:
ansible_host:
ansible_become_password:
ansible_user: ubuntu
children: children:
raspberry: raspberry:
hosts: hosts:

View File

@ -1,30 +1,25 @@
--- ---
#- hosts: iron-man.lan - hosts: prusa
# roles: roles:
# - ssh - ssh
# - ubuntu - octoprint
# - ubuntu
#- hosts: prusa
# roles:
# - ssh
# - octoprint
# - ubuntu
- hosts: docker_cluster - hosts: docker_cluster
roles: roles:
# - node_explorer - node_explorer
# - ssh - ssh
- docker-cluster - docker-cluster
# - ubuntu - ubuntu
#
#- hosts: raspberry
# roles:
# - i2c-clock
#- hosts: router.lan - hosts: raspberry
# roles: roles:
# - router - i2c-clock
#- hosts: iron-man - hosts: router.lan
# roles: roles:
# - ssh - router
- hosts: remote_server
roles:
- docker

View File

@ -1,2 +1,2 @@
node-02 IPaddr::192.168.50.100/24/eth0:0 node-02 IPaddr::192.168.50.100/24/eth0:0
node-02 ssh-external node-02 ssh-external::start

View File

@ -0,0 +1,17 @@
- name: Clean docker system
become: yes
ansible.builtin.cron:
user: root
name: "clean docker system"
minute: "0"
hour: "3"
job: "/usr/bin/docker system prune -f"
- name: Clean docker image cache
become: yes
ansible.builtin.cron:
user: root
name: "clean docker system"
minute: "0"
hour: "3"
job: "/usr/bin/docker image prune -a -f"

View File

@ -0,0 +1,49 @@
---
- become: yes
block:
- name: install needed packages
apt:
update_cache: yes
pkg:
- apt-transport-https
- ca-certificates
- curl
- gnupg-agent
- software-properties-common
- name: add docker gpg key
apt_key:
url: https://download.docker.com/linux/ubuntu/gpg
state: present
- name: add docker repo
apt_repository:
repo: deb https://download.docker.com/linux/ubuntu {{ ansible_distribution_release }} stable
state: present
filename: docker
- name: install docker
apt:
update_cache: yes
pkg:
- docker-ce
- docker-ce-cli
- containerd.io
- name: add current user to docker group
user:
name: "{{ansible_user_id}}"
groups: docker
append: yes
- name: start and enable docker
systemd:
name: docker
state: started
enabled: true
- name: add current user to docker group
user:
name: "{{ ansible_user_id }}"
append: yes
groups: docker

View File

@ -0,0 +1,20 @@
---
- become: yes
block:
- name: install needed packages
apt:
update_cache: yes
pkg:
- docker.io
- name: start and enable docker
systemd:
name: docker
state: started
enabled: true
- name: add current user to docker group
user:
name: "{{ ansible_user_id }}"
append: yes
groups: docker

View File

@ -0,0 +1,8 @@
---
- import_tasks: install-docker-ce.yml
when: ansible_distribution == "Ubuntu" and ansible_distribution_version == "18.04"
- import_tasks: install-docker-io.yml
when: ansible_distribution == "Ubuntu" and ansible_distribution_version != "18.04"
- import_tasks: docker-cron.yml

View File

@ -4,7 +4,7 @@
path: build/dns path: build/dns
state: directory state: directory
- name: Create db.lan - name: Create db lan
# become: yes # become: yes
template: template:
src: etc/bind/db.lan.j2 src: etc/bind/db.lan.j2
@ -13,7 +13,7 @@
network: "{{ lan }}" network: "{{ lan }}"
serial: "{{ ansible_date_time.year }}{{ ansible_date_time.month }}{{ ansible_date_time.day }}02" serial: "{{ ansible_date_time.year }}{{ ansible_date_time.month }}{{ ansible_date_time.day }}02"
- name: Create db.lan - name: Create reverse db lan
# become: yes # become: yes
template: template:
src: etc/bind/db.reverse.j2 src: etc/bind/db.reverse.j2
@ -21,3 +21,21 @@
vars: vars:
network: "{{ lan }}" network: "{{ lan }}"
serial: "{{ ansible_date_time.year }}{{ ansible_date_time.month }}{{ ansible_date_time.day }}02" serial: "{{ ansible_date_time.year }}{{ ansible_date_time.month }}{{ ansible_date_time.day }}02"
- name: Create db iot
# become: yes
template:
src: etc/bind/db.lan.j2
dest: build/dns/db.iot
vars:
network: "{{ iot }}"
serial: "{{ ansible_date_time.year }}{{ ansible_date_time.month }}{{ ansible_date_time.day }}02"
- name: Create reverse db iot
# become: yes
template:
src: etc/bind/db.reverse.j2
dest: build/dns/db.{{ iot.network_reverse }}
vars:
network: "{{ iot }}"
serial: "{{ ansible_date_time.year }}{{ ansible_date_time.month }}{{ ansible_date_time.day }}02"

View File

@ -10,7 +10,7 @@ $ORIGIN {{ network.network_name }}.
@ IN NS dns.{{ network.network_name }}. @ IN NS dns.{{ network.network_name }}.
DNS IN A {{ network.network_prefix }}.100 DNS IN A {{ network.dns }}
{% for host in network.hosts %} {% for host in network.hosts %}
{{ host.name }} IN A {{ network.network_prefix }}.{{ host.ip }} {{ host.name }} IN A {{ network.network_prefix }}.{{ host.ip }}

View File

@ -4,6 +4,7 @@ authorative;
subnet {{ network.address }} netmask {{ network.mask }} { subnet {{ network.address }} netmask {{ network.mask }} {
option domain-name-servers {{ network.dns }}; option domain-name-servers {{ network.dns }};
option domain-name "{{ network.network_name }}"; option domain-name "{{ network.network_name }}";
option domain-search "lan", "iot";
option routers {{ network.gateway }}; option routers {{ network.gateway }};
default-lease-time 86400; default-lease-time 86400;
max-lease-time 86400; max-lease-time 86400;

View File

@ -20,23 +20,17 @@ lan:
- name: prusa - name: prusa
ip: 6 ip: 6
mac: b8:27:eb:c3:a6:6a mac: b8:27:eb:c3:a6:6a
# - name: rpi3
- name: iron-man
ip: 7
mac: dc:a6:32:03:6d:fa
- name: rpi3a
ip: 8
mac: b8:27:eb:ff:2a:86
- name: hulk - name: hulk
ip: 21 ip: 21
mac: 24:4b:fe:05:e2:8b mac: 24:4b:fe:05:e2:8b
- name: banner - name: banner
ip: 22 ip: 22
mac: 52:54:00:49:04:51 mac: '52:54:00:49:04:51'
- name: laptop - name: hawkeye
ip: 29 ip: 23
mac: 08:d4:0c:cc:ff:1f mac: b4:8c:9d:5e:a1:8b
mac2: a0:ce:c8:77:c3:13
- name: android-sgs9 - name: android-sgs9
ip: 41 ip: 41
@ -46,10 +40,13 @@ lan:
mac: b8:63:4d:b6:4c:bc mac: b8:63:4d:b6:4c:bc
- name: iphone - name: iphone
ip: 43 ip: 43
mac: b2:d9:6f:d9:31:e1 mac: 0c:19:f8:10:c2:b3
- name: apple-watch - name: apple-watch
ip: 44 ip: 44
mac: b2:b0:04:86:fc:90 mac: 9c:28:b3:24:bc:9c
- name: ipad-pro
ip: 45
mac: 38:88:a4:6e:95:a3
- name: node-01 - name: node-01
ip: 101 ip: 101
@ -63,9 +60,15 @@ lan:
- name: node-04 - name: node-04
ip: 104 ip: 104
mac: dc:a6:32:8b:7b:ab mac: dc:a6:32:8b:7b:ab
- name: node-05
ip: 105
mac: 08:d4:0c:cc:ff:1f
iot: iot:
network: 192.168.60 network_prefix: 192.168.60
network_reverse: 60.168.192
network_name: iot
dns: 192.168.50.100
hosts: hosts:
- name: hue-light - name: hue-light
ip: 3 ip: 3
@ -73,16 +76,16 @@ iot:
- name: harmony-hub - name: harmony-hub
ip: 4 ip: 4
mac: c8:db:26:06:7e:f9 mac: c8:db:26:06:7e:f9
- name: zhimi-airpurifier-m1_miio61353463 - name: airpurifier-bedroom
ip: 5 ip: 5
mac: 34:ce:00:a4:f6:75 mac: 34:ce:00:a4:f6:75
- name: zhimi-airpurifier-mb3_mibt952D - name: airpurifier-livingroom
ip: 6 ip: 6
mac: 50:ec:50:85:95:2d mac: 50:ec:50:85:95:2d
- name: roborock - name: roborock
ip: 7 ip: 7
mac: 50:ec:50:0a:c3:94 mac: 50:ec:50:0a:c3:94
- name: zhimi-humidifier-ca4_mibt1D0C - name: humidifier
ip: 8 ip: 8
mac: 54:48:e6:5d:1d:0c mac: 54:48:e6:5d:1d:0c
- name: yeelight-lightbar - name: yeelight-lightbar
@ -100,6 +103,9 @@ iot:
- name: bedroom-tv - name: bedroom-tv
ip: 16 ip: 16
mac: d8:a3:5c:7d:50:0a mac: d8:a3:5c:7d:50:0a
- name: miibox
ip: 17
mac: 00:e0:4c:68:09:35
- name: nvidia-shield - name: nvidia-shield
ip: 18 ip: 18
mac: 00:04:4b:cd:a6:5b mac: 00:04:4b:cd:a6:5b
@ -107,9 +113,14 @@ iot:
- name: nintendo-switch - name: nintendo-switch
ip: 19 ip: 19
mac: 64:b5:c6:6f:ff:a8 mac: 64:b5:c6:6f:ff:a8
mac2: 00:0e:c6:c7:55:6f
- name: printer - name: printer
ip: 20 ip: 20
mac: 38:9d:92:d0:6d:8e mac: 38:9d:92:d0:6d:8e
- name: xbox-series-s
ip: 21
mac: a8:8c:3e:b0:aa:7a
- name: Sonos-LivingRoom - name: Sonos-LivingRoom
ip: 30 ip: 30
mac: 34:7e:5c:83:6f:c6 mac: 34:7e:5c:83:6f:c6
@ -119,12 +130,19 @@ iot:
- name: Sonos-Bathroom - name: Sonos-Bathroom
ip: 32 ip: 32
mac: 5c:aa:fd:b9:4b:22 mac: 5c:aa:fd:b9:4b:22
- name: Sonos-Bedroom2
ip: 33
mac: 78:28:ca:85:51:dc
- name: home-assistant - name: home-assistant
ip: 100 ip: 100
mac: dc:a6:32:f6:63:c1 mac: dc:a6:32:f6:63:c1
- name: home-assistant-power - name: usb-switch-1
ip: 110 ip: 111
mac: c8:2b:96:64:6a:37 mac: c8:2b:96:64:6a:37
- name: usb-switch-2
ip: 112
mac: c8:2b:96:64:68:a3
guest: guest:
network: 192.168.70 network: 192.168.70