chore: backup infrastructure configurations [skip ci]

This commit is contained in:
github-actions[bot]
2026-05-11 02:07:23 +00:00
parent 7527c05a1d
commit 0126ce23f5
26 changed files with 174 additions and 33 deletions

View File

@@ -0,0 +1 @@
{"sync_type": "weight_sync", "status": "partial", "message": "Synced 0 records, 1 failed", "records_processed": 0, "timestamp": "2026-05-10T02:52:15.930781+00:00"}

View File

@@ -0,0 +1 @@
{"sync_type": "weight_sync", "status": "partial", "message": "Synced 0 records, 1 failed", "records_processed": 0, "timestamp": "2026-05-10T03:52:16.199077+00:00"}

View File

@@ -0,0 +1 @@
{"sync_type": "weight_sync", "status": "partial", "message": "Synced 0 records, 1 failed", "records_processed": 0, "timestamp": "2026-05-10T04:52:16.451331+00:00"}

View File

@@ -0,0 +1 @@
{"sync_type": "weight_sync", "status": "partial", "message": "Synced 0 records, 1 failed", "records_processed": 0, "timestamp": "2026-05-10T05:52:16.700926+00:00"}

View File

@@ -0,0 +1 @@
{"sync_type": "weight_sync", "status": "partial", "message": "Synced 0 records, 1 failed", "records_processed": 0, "timestamp": "2026-05-10T06:52:16.942536+00:00"}

View File

@@ -0,0 +1 @@
{"sync_type": "weight_sync", "status": "partial", "message": "Synced 0 records, 1 failed", "records_processed": 0, "timestamp": "2026-05-10T07:52:17.241685+00:00"}

View File

@@ -0,0 +1 @@
{"sync_type": "weight_sync", "status": "partial", "message": "Synced 0 records, 1 failed", "records_processed": 0, "timestamp": "2026-05-10T08:52:17.462682+00:00"}

View File

@@ -0,0 +1 @@
{"sync_type": "weight_sync", "status": "partial", "message": "Synced 0 records, 1 failed", "records_processed": 0, "timestamp": "2026-05-10T09:52:17.694911+00:00"}

View File

@@ -0,0 +1 @@
{"sync_type": "weight_sync", "status": "partial", "message": "Synced 0 records, 1 failed", "records_processed": 0, "timestamp": "2026-05-10T10:52:17.932955+00:00"}

View File

@@ -0,0 +1 @@
{"sync_type": "weight_sync", "status": "partial", "message": "Synced 0 records, 1 failed", "records_processed": 0, "timestamp": "2026-05-10T11:52:18.207285+00:00"}

View File

@@ -0,0 +1 @@
{"sync_type": "weight_sync", "status": "partial", "message": "Synced 0 records, 1 failed", "records_processed": 0, "timestamp": "2026-05-10T12:52:18.448214+00:00"}

View File

@@ -0,0 +1 @@
{"sync_type": "weight_sync", "status": "partial", "message": "Synced 0 records, 1 failed", "records_processed": 0, "timestamp": "2026-05-10T13:52:18.667953+00:00"}

View File

@@ -0,0 +1 @@
{"sync_type": "weight_sync", "status": "partial", "message": "Synced 0 records, 1 failed", "records_processed": 0, "timestamp": "2026-05-10T14:52:18.880569+00:00"}

View File

@@ -0,0 +1 @@
{"sync_type": "weight_sync", "status": "partial", "message": "Synced 0 records, 1 failed", "records_processed": 0, "timestamp": "2026-05-10T15:52:19.069146+00:00"}

View File

@@ -0,0 +1 @@
{"sync_type": "weight_sync", "status": "partial", "message": "Synced 0 records, 1 failed", "records_processed": 0, "timestamp": "2026-05-10T16:52:19.280844+00:00"}

View File

@@ -0,0 +1 @@
{"sync_type": "weight_sync", "status": "partial", "message": "Synced 0 records, 1 failed", "records_processed": 0, "timestamp": "2026-05-10T17:52:19.591846+00:00"}

View File

@@ -0,0 +1 @@
{"sync_type": "weight_sync", "status": "partial", "message": "Synced 0 records, 1 failed", "records_processed": 0, "timestamp": "2026-05-10T18:52:19.823937+00:00"}

View File

@@ -0,0 +1 @@
{"sync_type": "weight_sync", "status": "partial", "message": "Synced 0 records, 1 failed", "records_processed": 0, "timestamp": "2026-05-10T19:52:20.066260+00:00"}

View File

@@ -0,0 +1 @@
{"sync_type": "weight_sync", "status": "partial", "message": "Synced 0 records, 1 failed", "records_processed": 0, "timestamp": "2026-05-10T20:52:20.311531+00:00"}

View File

@@ -0,0 +1 @@
{"sync_type": "weight_sync", "status": "partial", "message": "Synced 0 records, 1 failed", "records_processed": 0, "timestamp": "2026-05-10T21:52:20.574235+00:00"}

View File

@@ -0,0 +1 @@
{"sync_type": "weight_sync", "status": "partial", "message": "Synced 0 records, 1 failed", "records_processed": 0, "timestamp": "2026-05-10T22:52:20.835497+00:00"}

View File

@@ -0,0 +1 @@
{"sync_type": "weight_sync", "status": "partial", "message": "Synced 0 records, 1 failed", "records_processed": 0, "timestamp": "2026-05-10T23:52:21.149870+00:00"}

View File

@@ -0,0 +1 @@
{"sync_type": "weight_sync", "status": "partial", "message": "Synced 0 records, 1 failed", "records_processed": 0, "timestamp": "2026-05-11T00:52:21.468688+00:00"}

View File

@@ -0,0 +1 @@
{"sync_type": "weight_sync", "status": "partial", "message": "Synced 0 records, 1 failed", "records_processed": 0, "timestamp": "2026-05-11T01:52:21.908297+00:00"}

View File

@@ -0,0 +1,110 @@
job "homeassistant" {
datacenters = ["dc1"]
type = "service"
constraint {
attribute = "${attr.kernel.name}"
value = "linux"
}
constraint {
attribute = "${attr.unique.hostname}"
operator = "regexp"
value = "odroid.*"
}
group "hass" {
count = 1
restart {
attempts = 99
interval = "1h"
delay = "10s"
mode = "delay"
}
task "wait-for-postgres" {
driver = "docker"
lifecycle {
hook = "prestart"
sidecar = false
}
config {
image = "postgres:16-alpine"
command = "sh"
args = ["-c", "until pg_isready -h master.postgres.service.dc1.consul -U hass; do sleep 3; done"]
}
resources {
cpu = 50
memory = 64
}
}
task "config-backup" {
driver = "docker"
lifecycle {
hook = "poststart"
sidecar = true
}
config {
image = "alpine:3.19"
command = "sh"
args = ["-c", "apk add --no-cache rsync && while true; do rsync -a --delete --exclude='*.db*' --exclude='*.log*' --exclude='tts/' --exclude='deps/' --exclude='__pycache__/' /config/ /configbackup/; sleep 1800; done"]
volumes = [
"/mnt/Public/config/homeassistant:/config:ro",
"/mnt/Public/config/homeassistant-backup:/configbackup",
]
}
resources {
cpu = 30
memory = 64
}
}
task "hass" {
driver = "docker"
config {
image = "linuxserver/homeassistant:latest"
network_mode = "host"
cap_add = ["NET_ADMIN"]
volumes = [
"/etc/localtime:/etc/localtime:ro",
"/mnt/Public/config/homeassistant:/config",
]
}
env {
JEMALLOC_DISABLE = true
PUID = "1000"
PGID = "1000"
}
resources {
cpu = 256
memory = 512
}
service {
name = "homeassistant"
tags = ["global", "homeassistant", "migration-target", "logo=home-assistant"]
port = "http"
check {
type = "http"
path = "/api/config"
interval = "10s"
timeout = "2s"
header {
Authorization = ["Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiI3MGI3ZmQzN2RhNjg0ZDcwYmI0MzhlYjJhNzc1NTNjMSIsImlhdCI6MTc3ODQ1Njc1MiwiZXhwIjoyMDkzODE2NzUyfQ.gAWoByWWDDW9YSUpTZHb-xtdiFo-0u5RqHsxKhMQ4rc"]
}
}
}
}
network {
port "http" {
static = 8124
}
}
}
}

View File

@@ -2,57 +2,60 @@ job "wireguard" {
region = "global" region = "global"
datacenters = ["dc1"] datacenters = ["dc1"]
type = "service" type = "service"
// constraint {
// attribute = "${attr.cpu.arch}" constraint {
// operator = "regexp" attribute = "${node.unique.name}"
// value = "arm" value = "opti1"
// } }
group "wireguard" { group "wireguard" {
count = 1 count = 1
task "wireguard" { task "wireguard" {
driver = "docker" driver = "docker"
config { config {
image = "lscr.io/linuxserver/wireguard" image = "ghcr.io/wg-easy/wg-easy"
ports = ["vpn"] ports = ["vpn", "ui"]
volumes = [ volumes = [
"/mnt/Public/config/wireguard:/config", "/mnt/Public/config/wireguard:/etc/wireguard",
"/lib/modules:/lib/modules" ]
] cap_add = ["NET_ADMIN", "SYS_MODULE"]
cap_add = ["NET_ADMIN","SYS_MODULE"]
// network_mode = "host"
// network_mode = "container:gocast-${NOMAD_ALLOC_ID}"
sysctl = { sysctl = {
"net.ipv4.conf.all.src_valid_mark"="1" "net.ipv4.conf.all.src_valid_mark" = "1"
"net.ipv4.ip_forward" = "1"
} }
}
env {
TZ = "EST5EDT"
WG_HOST = "wireguard.fbleagh.duckdns.org"
WG_PORT = 51820
WG_DEFAULT_DNS = "192.168.4.250,192.168.4.1,1.1.1.1"
WG_DEFAULT_ADDRESS = "10.8.0.x"
WG_ALLOWED_IPS = "0.0.0.0/0"
PASSWORD_HASH = "$2a$12$WAdMQQAoOqtANtsH09hVtuOnCvvghOX9oLZjGkUsovOjgkbPmMdtq"
}
}
env {
TZ = "EST5EDT"
PUID = 1000
PGID = 1000
SERVERURL="wireguard.fbleagh.duckdns.org"
SERVERPORT=51820
PEERS="StuPhone,SurfaceGo,Surface,SurfaceGo3"
PEERDNS="192.168.1.250,192.168.1.1,1.1.1.1"
// INTERNAL_SUBNET= "192.168.1.0"
ALLOWEDIPS="0.0.0.0/0"
}
service { service {
name = "${TASKGROUP}" name = "${TASKGROUP}"
port = "vpn" port = "vpn"
tags = ["enable_gocast", tags = [
"enable_gocast",
"gocast_vip=192.168.1.241/32", "gocast_vip=192.168.1.241/32",
"gocast_nat=tcp:51820:51820", "gocast_nat=tcp:51820:51820",
"gocast_nat=udp:51820:51820"] "gocast_nat=udp:51820:51820",
]
}
service {
name = "${TASKGROUP}-ui"
port = "ui"
tags = ["wireguard-ui"]
} }
resources { resources {
cpu = 50 cpu = 50
memory = 100 memory = 128
} }
} }
@@ -61,6 +64,10 @@ job "wireguard" {
static = 51820 static = 51820
to = 51820 to = 51820
} }
port "ui" {
static = 51821
to = 51821
}
} }
} }
} }