Compare commits
54 Commits
bc24929422
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
| 8648974b26 | |||
| 46f7af8881 | |||
| 7701e23f6d | |||
| b16a373a8f | |||
| 36d8cac1e9 | |||
| 3e221ae262 | |||
| 80a1679745 | |||
| 9b69202257 | |||
| 362691464e | |||
| f2bbd6a1e8 | |||
| ca07fcad2d | |||
| f4647882bd | |||
| cb4f8bc6fe | |||
| 9bf7f68575 | |||
| 5112efacc1 | |||
| 3a859a46cb | |||
| a601a44a36 | |||
| 27206160ae | |||
| 0f7dba98eb | |||
| e244c3f252 | |||
| 2fdd28edde | |||
| 4c02b6c69e | |||
| d2e98f9cfc | |||
| 7da2a03295 | |||
| 9ae191dd5c | |||
| 792f114014 | |||
| 2d1455bc15 | |||
| 5643be982a | |||
| 4a92ad7ba4 | |||
| 2570aa4c86 | |||
| 856ad08b2e | |||
| adc53c4c50 | |||
| f4b715eefa | |||
| e8f11e061c | |||
| c85b1af494 | |||
| cc609acc34 | |||
| e66463832a | |||
| 5962b33221 | |||
| 745bd69d50 | |||
| 1ea3ed93bb | |||
| 3f1bd762c5 | |||
| 9f717ba16a | |||
| 7515b52660 | |||
| b2fa6bf075 | |||
| 5926b84d49 | |||
| ce31fc354a | |||
| 3c09f54ae2 | |||
| 083ace2a6d | |||
| ff16f1dd6c | |||
| 184ae73c2e | |||
| 38376b9ac4 | |||
| d5aec71e63 | |||
| 4c5a2e3310 | |||
| 8a246b000c |
5
deploy_monitoring.yaml
Normal file
5
deploy_monitoring.yaml
Normal file
@@ -0,0 +1,5 @@
|
||||
- name: Deploy Gitea
|
||||
hosts: monitoring
|
||||
roles:
|
||||
- prometheus
|
||||
- grafana
|
||||
26
grafana/tasks/main.yaml
Normal file
26
grafana/tasks/main.yaml
Normal file
@@ -0,0 +1,26 @@
|
||||
- name: Install dependencies
|
||||
become: true
|
||||
ansible.builtin.apt:
|
||||
name: gpg
|
||||
state: latest
|
||||
- name: Download Grafana GPG keys
|
||||
become: true
|
||||
ansible.builtin.get_url:
|
||||
url: https://apt.grafana.com/gpg.key
|
||||
dest: /etc/apt/keyrings/grafana.gpg
|
||||
- name: Add Grafana repository
|
||||
become: true
|
||||
ansible.builtin.apt_repository:
|
||||
repo: "deb [signed-by=/etc/apt/keyrings/grafana.gpg] https://apt.grafana.com stable main"
|
||||
state: present
|
||||
- name: Install Grafana
|
||||
become: true
|
||||
ansible.builtin.apt:
|
||||
name: grafana
|
||||
state: latest
|
||||
- name: Start Grafana
|
||||
become: true
|
||||
ansible.builtin.systemd_service:
|
||||
name: grafana-server
|
||||
state: restarted
|
||||
enabled: true
|
||||
99
home_assistant.yaml
Normal file
99
home_assistant.yaml
Normal file
@@ -0,0 +1,99 @@
|
||||
- name: Setup Home Assistant
|
||||
hosts: podman1
|
||||
become: true
|
||||
become_user: root
|
||||
tasks:
|
||||
- name: Pull Home Assistant image
|
||||
containers.podman.podman_image:
|
||||
name: ghcr.io/home-assistant/home-assistant:stable
|
||||
- name: Pull Matter Server image
|
||||
containers.podman.podman_image:
|
||||
name: ghcr.io/matter-js/python-matter-server:stable
|
||||
- name: Pull openthread image
|
||||
containers.podman.podman_image:
|
||||
name: docker.io/openthread/border-router:latest
|
||||
- name: Create network for iot interface
|
||||
containers.podman.podman_network:
|
||||
name: iot
|
||||
interface_name: br5
|
||||
ipam_driver: "dhcp"
|
||||
disable_dns: "true"
|
||||
ipv6: true
|
||||
opt:
|
||||
mode: "unmanaged"
|
||||
- name: Create network for infra interface
|
||||
containers.podman.podman_network:
|
||||
name: infra
|
||||
interface_name: br2
|
||||
ipam_driver: "dhcp"
|
||||
disable_dns: "true"
|
||||
opt:
|
||||
mode: "unmanaged"
|
||||
#- name: Create network for infra interface
|
||||
# containers.podman.podman_network:
|
||||
# name: access
|
||||
# interface_name: br4
|
||||
# ipam_driver: "dhcp"
|
||||
# disable_dns: "true"
|
||||
# opt:
|
||||
# mode: "unmanaged"
|
||||
- name: Create config directories
|
||||
ansible.builtin.file:
|
||||
path: "{{item}}"
|
||||
state: directory
|
||||
loop:
|
||||
- /var/homeassistant
|
||||
- /var/matter_server
|
||||
- /var/thread_router
|
||||
- name: Create Home Assistant Container
|
||||
containers.podman.podman_container:
|
||||
name: homeassistant
|
||||
image: ghcr.io/home-assistant/home-assistant:stable
|
||||
recreate: true
|
||||
restart_policy: "unless-stopped"
|
||||
hostname: homeassistant1
|
||||
network:
|
||||
- "infra:mac=0a:a1:a2:9a:00:8c"
|
||||
- iot
|
||||
privileged: true
|
||||
state: started
|
||||
volumes:
|
||||
- "/var/homeassistant:/config"
|
||||
- name: Create Matter Server Container
|
||||
containers.podman.podman_container:
|
||||
name: matter
|
||||
image: ghcr.io/matter-js/python-matter-server:stable
|
||||
hostname: matter1
|
||||
recreate: true
|
||||
restart_policy: "unless-stopped"
|
||||
network: host
|
||||
privileged: true
|
||||
state: started
|
||||
volumes:
|
||||
- "/var/matter_server:/data"
|
||||
- name: Create OpenThread container
|
||||
containers.podman.podman_container:
|
||||
name: thread
|
||||
image: docker.io/openthread/border-router:latest
|
||||
hostname: openthread1
|
||||
recreate: true
|
||||
restart_policy: "unless-stopped"
|
||||
network: host
|
||||
cap_add:
|
||||
- NET_ADMIN
|
||||
- NET_RAW
|
||||
device:
|
||||
- "/dev/serial/by-id/usb-Nabu_Casa_ZBT-2_10B41DE60794-if00:/dev/ttyACM5"
|
||||
- "/dev/net/tun"
|
||||
state: started
|
||||
volumes:
|
||||
- "/var/thread_router:/data"
|
||||
env:
|
||||
OT_RCP_DEVICE: "spinel+hdlc+uart:///dev/ttyACM5?uart-baudrate=460800"
|
||||
OT_INFRA_IF: "br5"
|
||||
OT_THREAD_IF: "wpan0"
|
||||
OT_LOG_LEVEL: "7"
|
||||
OT_REST_LISTEN_ADDR: "0.0.0.0"
|
||||
OT_REST_LISTEN_PORT: "8981"
|
||||
OT_WEB_LISTEN_ADDR: "0.0.0.0"
|
||||
OT_WEB_LISTEN_PORT: "8980"
|
||||
@@ -8,7 +8,27 @@ devops_servers:
|
||||
devops_1:
|
||||
ansible_host: devops-1.malcolms.xyz
|
||||
|
||||
hypervisors:
|
||||
hosts:
|
||||
PMX1:
|
||||
ansible_host: 10.2.2.1
|
||||
ansible_user: root
|
||||
PMX2:
|
||||
ansible_host: 10.2.2.2
|
||||
ansible_user: root
|
||||
PMX3:
|
||||
ansible_host: 10.2.2.3
|
||||
ansible_user: root
|
||||
|
||||
container_servers:
|
||||
hosts:
|
||||
podman1:
|
||||
ansible_host: podman1.malcolms.xyz
|
||||
|
||||
all_servers:
|
||||
children:
|
||||
- minecraft_servers
|
||||
- devops_servers
|
||||
minecraft_servers:
|
||||
devops_servers:
|
||||
hosts:
|
||||
monitoring:
|
||||
ansible_host: monitoring.malcolms.xyz
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
|
||||
- name: Setup directory
|
||||
become: true
|
||||
become_user: root
|
||||
@@ -31,7 +30,7 @@
|
||||
owner: minecraft
|
||||
src: start.sh.j2
|
||||
dest: "/var/minecraft/{{mc_instance}}/start.sh"
|
||||
mode: '550'
|
||||
mode: "550"
|
||||
- name: Create mods directory
|
||||
ansible.builtin.file:
|
||||
path: "/var/minecraft/{{mc_instance}}/mods"
|
||||
@@ -55,6 +54,4 @@
|
||||
ansible.builtin.systemd_service:
|
||||
name: "minecraft-{{mc_instance}}"
|
||||
enabled: true
|
||||
state: started
|
||||
|
||||
|
||||
state: restarted
|
||||
|
||||
@@ -25,7 +25,7 @@ enable-status=true
|
||||
allow-flight=false
|
||||
initial-disabled-packs=
|
||||
broadcast-rcon-to-ops=true
|
||||
view-distance=10
|
||||
view-distance=14
|
||||
server-ip=
|
||||
resource-pack-prompt=
|
||||
allow-nether=true
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
[Unit]
|
||||
Description= Minecraft server instance {{mc_instance}}
|
||||
Requires=network.target
|
||||
After=multi-user.target
|
||||
|
||||
[Service]
|
||||
ExecStart=/var/minecraft/{{mc_instance}}/start.sh
|
||||
|
||||
20
prep_clients.yaml
Normal file
20
prep_clients.yaml
Normal file
@@ -0,0 +1,20 @@
|
||||
- name: Install Base Packages
|
||||
hosts: all_clients
|
||||
tasks:
|
||||
- name: Install Base Packages
|
||||
become: true
|
||||
ansible.builtin.apt:
|
||||
name: acl nvim kde-full
|
||||
state: latest
|
||||
- name: Reboot Targets
|
||||
hosts: all_clients
|
||||
tasks:
|
||||
- name: Check if sddm is running
|
||||
ansible.builtin.systemd_service:
|
||||
name: sddm
|
||||
register: sddm_info
|
||||
- name: Print vars
|
||||
debug:
|
||||
var: sddm_info
|
||||
#- name: Reboot if sddm not running
|
||||
# ansible.builtin.reboot:
|
||||
29
prometheus/tasks/main.yaml
Normal file
29
prometheus/tasks/main.yaml
Normal file
@@ -0,0 +1,29 @@
|
||||
- name: Create Groups
|
||||
become: true
|
||||
ansible.builtin.group:
|
||||
name: prometheus
|
||||
state: present
|
||||
- name: Create Users
|
||||
become: true
|
||||
ansible.builtin.group:
|
||||
name: prometheus
|
||||
state: present
|
||||
- name: Install Prometheus
|
||||
become: true
|
||||
become_user: root
|
||||
ansible.builtin.apt:
|
||||
name: prometheus
|
||||
state: latest
|
||||
- name: Install config
|
||||
become: true
|
||||
become_user: root
|
||||
ansible.builtin.template:
|
||||
src: prometheus.yml.j2
|
||||
dest: "/etc/prometheus/prometheus.yml"
|
||||
- name: Start service
|
||||
become: true
|
||||
become_user: root
|
||||
ansible.builtin.systemd_service:
|
||||
name: prometheus
|
||||
enabled: true
|
||||
state: restarted
|
||||
21
prometheus/templates/prometheus.yml.j2
Normal file
21
prometheus/templates/prometheus.yml.j2
Normal file
@@ -0,0 +1,21 @@
|
||||
global:
|
||||
scrape_interval: 5s
|
||||
evaluation_interval: 15s
|
||||
|
||||
rule_files:
|
||||
# - "first.rules"
|
||||
# - "second.rules"
|
||||
|
||||
scrape_configs:
|
||||
- job_name: prometheus
|
||||
static_configs:
|
||||
- targets: ["localhost:9090"]
|
||||
- job_name: gateway_ucode
|
||||
static_configs:
|
||||
- targets: ["10.1.1.1:9101"]
|
||||
- job_name: gateway_lua
|
||||
static_configs:
|
||||
- targets: ["10.1.1.1:9100"]
|
||||
- job_name: homeassistant
|
||||
static_configs:
|
||||
- targets: ["10.1.3.3"]
|
||||
@@ -4,7 +4,7 @@
|
||||
- name: Install Package
|
||||
become: true
|
||||
ansible.builtin.apt:
|
||||
name: openjdk-25-jre-headless
|
||||
name: openjdk-21-jre-headless
|
||||
state: latest
|
||||
- name: Install Package
|
||||
become: true
|
||||
@@ -19,12 +19,12 @@
|
||||
server_port: 25565
|
||||
rcon_port: 25575
|
||||
rcon_enable: true
|
||||
mc_whitelist: false
|
||||
mc_whitelist: true
|
||||
motd: Test Server
|
||||
rcon_password: ""
|
||||
mc_instance: "destiny"
|
||||
max_memory: 2600
|
||||
small_memory: 1300
|
||||
max_memory: 4600
|
||||
small_memory: 3600
|
||||
mods:
|
||||
- url: https://cdn.modrinth.com/data/8dI2tmqs/versions/nR8AIdvx/FabricProxy-Lite-2.11.0.jar
|
||||
dest: "fabricProxy.jar"
|
||||
@@ -35,26 +35,3 @@
|
||||
proxy_secret: "AVXMVzev80E6"
|
||||
roles:
|
||||
- modded_minecraft_server
|
||||
- name: Minecraft 5 Deploy
|
||||
hosts: minecraft-5
|
||||
become: true
|
||||
become_user: minecraft
|
||||
vars:
|
||||
server_port: 25565
|
||||
rcon_port: 25575
|
||||
rcon_enable: true
|
||||
mc_whitelist: false
|
||||
motd: "Test Server 5"
|
||||
rcon_password: ""
|
||||
mc_instance: "test-5"
|
||||
max_memory: 2600
|
||||
small_memory: 1300
|
||||
mods:
|
||||
- url: https://cdn.modrinth.com/data/gvQqBUqZ/versions/gl30uZvp/lithium-fabric-0.21.2%2Bmc1.21.11.jar
|
||||
dest: "lithium.jar"
|
||||
- url: https://cdn.modrinth.com/data/P7dR8mSH/versions/gB6TkYEJ/fabric-api-0.140.2%2B1.21.11.jar
|
||||
dest: "fabric-api.jar"
|
||||
proxy_secret: "AVXMVzev80E6"
|
||||
roles:
|
||||
- modded_minecraft_server
|
||||
|
||||
|
||||
Reference in New Issue
Block a user