1
0
This commit is contained in:
michael 2024-01-10 02:05:03 +13:00
parent 9e07845208
commit 92df824252
16 changed files with 127 additions and 62 deletions

View File

@ -5,7 +5,6 @@ library = modules
module_utils = module_utils module_utils = module_utils
display_skipped_hosts = false display_skipped_hosts = false
interpreter_python = auto_silent interpreter_python = auto_silent
collections_paths = ./collections
collections_path = ./collections collections_path = ./collections
roles_path = ./roles roles_path = ./roles
vault_password_file = ./vault_password vault_password_file = ./vault_password

View File

@ -0,0 +1,2 @@
nut_packages:
nut

View File

@ -0,0 +1,2 @@
nut_packages:
nut

View File

@ -0,0 +1,7 @@
nut_server_listen_address: 10.192.110.100
nut_server_listen_port: 3493
nut_server_ups_devices:
- name: APC 650
driver: usbhid-ups
port: auto

View File

@ -0,0 +1,8 @@
---
nut_client_server_list:
- host: hv00.balsillie.house
port: 3493
ssl: true
username: "{{ nut_client_username }}"
password: "{{ nut_client_password }}"

View File

@ -1,4 +0,0 @@
---
ansible_host: kube02.balsillie.net
ssh_public_key_string: ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIGOfsOJJJ34VT9mHv9moHQAQNTAok8sOr49rVTkIfDn9 ladmin@kube02.balsillie.net
k8s_remove_control_plane_taint: true

View File

@ -1,4 +0,0 @@
---
ansible_host: kube03.balsillie.net
ssh_public_key_string: ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINFqYq3CcxziLbWfp/0VpO5uD/HyjiKTXD8t/dAS01Oq ladmin@kube00.balsillie.net
k8s_remove_control_plane_taint: true

View File

@ -1,3 +0,0 @@
ebs_zfs_storage_classes:
- name: ssd-zfs
dataset: ssd/data/open-ebs

View File

@ -1,16 +1,10 @@
all: all:
children: children:
ups:
hosts:
ups00.balsillie.house:
firewalls: firewalls:
children: children:
opnsense: opnsense:
hosts: hosts:
fw00.balsillie.net: router.balsillie.house:
openwrt:
hosts:
fw00.balsillie.house:
switches: switches:
hosts: hosts:
sw00.balsillie.house: sw00.balsillie.house:
@ -19,59 +13,44 @@ all:
wap00.balsillie.house: wap00.balsillie.house:
virtual_machines: virtual_machines:
hosts: hosts:
kube01.balsillie.net:
kube02.balsillie.net:
kube03.balsillie.net:
fw00.balsillie.net:
fw00.balsillie.house: fw00.balsillie.house:
mp00.balsillie.house:
win11.balsillie.house: win11.balsillie.house:
bare_metal: bare_metal:
hosts: hosts:
ups00.balsillie.house:
sw00.balsillie.house: sw00.balsillie.house:
wap00.balsillie.house: wap00.balsillie.house:
hv00.balsillie.house: hv00.balsillie.house:
hv00.balsillie.net: kube00.balsillie.house:
lat5420.balsillie.house: lat5420.balsillie.house:
lat7490.balsillie.house: lat7490.balsillie.house:
sff.balsillie.house:
servers: servers:
children: children:
hypervisors: hypervisors:
hosts: hosts:
hv00.balsillie.net: # Hetzner
hv00.balsillie.house: # vp2420 hv00.balsillie.house: # vp2420
hv01.balsillie.net: # 4U Rosewill
k8s: k8s:
children: children:
k8s_control: k8s_control:
hosts: hosts:
kube01.balsillie.net: kube00.balsillie.house:
kube02.balsillie.net:
kube03.balsillie.net:
k8s_taint:
hosts:
kube01.balsillie.net:
kube02.balsillie.net:
kube03.balsillie.net:
k8s_worker: k8s_worker:
hosts: hosts:
kube01.balsillie.net: kube00.balsillie.net:
kube02.balsillie.net:
kube03.balsillie.net:
k8s_storage: k8s_storage:
hosts: hosts:
kube01.balsillie.net: kube00.balsillie.net:
kube02.balsillie.net: nut_servers:
kube03.balsillie.net: hosts:
hv00.balsillie.house:
nut_clients:
hosts:
kube00.balsillie.house:
workstations: workstations:
children: children:
arch: arch:
hosts: hosts:
lat5420.balsillie.house: lat5420.balsillie.house:
sff.balsillie.house: sff.balsillie.house:
mp00.balsillie.house:
windows: windows:
hosts: hosts:
lat7490.balsillie.house: lat7490.balsillie.house:
@ -84,18 +63,3 @@ all:
hosts: hosts:
sff.balsillie.house: sff.balsillie.house:
mp00.balsillie.house: mp00.balsillie.house:
hetzner:
hosts:
fw00.balsillie.net:
hv00.balsillie.net:
kube01.balsillie.net:
kube02.balsillie.net:
kube03.balsillie.net:
house:
hosts:
hv00.balsillie.house:
fw00.balsillie.house:
mp00.balsillie.house:
win11.balsillie.house:
lat5420.balsillie.house:
sff.balsillie.house:

View File

@ -0,0 +1,29 @@
- name: Install NUT
hosts:
- nut_servers
- nut_clients
become: true
tasks:
- name: Install NUT packages
when: ansible_facts['os_family'] == "Archlinux"
community.general.pacman:
name: "{{ nut_packages }}"
state: latest
update_cache: true
upgrade: false
- name: Setup NUT servers
gather_facts: true
hosts: nut_servers
become: true
roles:
- ssl_certificate
- nut_server
- name: Setup NUT clients
gather_facts: true
hosts: nut_clients
become: true
roles:
- nut_client

1
ansible/playbooks/roles Symbolic link
View File

@ -0,0 +1 @@
../roles/

View File

@ -35,5 +35,7 @@ spec:
# 10.208.240.6 # 10.208.240.6
# 2400:8907:e002:7c10:ffff:ffff:ffff:f006 # 2400:8907:e002:7c10:ffff:ffff:ffff:f006
# #
# Turn: # Coturn:
# 10.208.240.7
# 2400:8907:e002:7c10:ffff:ffff:ffff:f007
# #

View File

@ -0,0 +1,57 @@
- name: Template out ups.conf
ansible.builtin.template:
src: ups.conf.j2
dest: /etc/nut/ups.conf
owner: root
group: root
mode: '0644'
- name: Start and enable nut-enumerator
ansible.builtin.service:
name: nut-driver-enumerator
state: restarted
enabled: true
- name: Template out upsd.conf
ansible.builtin.template:
src: upsd.conf.j2
dest: /etc/nut/upsd.conf
owner: root
group: nut
mode: '0640'
- name: Template out upsd.users
ansible.builtin.template:
src: upsd.users.j2
dest: /etc/nut/upsd.users
owner: root
group: nut
mode: '0640'
- name: Open nut server firewall port
community.general.ufw:
rule: allow
to_ip: "{{ nut_server_listen_address }}"
to_port: "{{ nut_server_listen_port }}}}"
proto: tcp
comment: "NUT server"
- name: Start and enable nut-server
ansible.builtin.service:
name: nut-server
state: restarted
enabled: true
- name: Template out upsmon.conf
ansible.builtin.template:
src: upsmon.conf.j2
dest: /etc/nut/upsmon.conf
owner: root
group: nut
mode: '0640'
- name: Start and enable nut-monitor
ansible.builtin.service:
name: nut-monitor
state: restarted
enabled: true

View File

@ -0,0 +1,5 @@
{% for ups in ups_devices %}
[ups{{ loop.index }}]
driver = {{ ups.driver }}
port = {{ ups.port }}
{% endfor %}