chore: backup infrastructure configurations [skip ci]

This commit is contained in:
github-actions[bot]
2026-02-01 02:01:41 +00:00
parent 9c0a699a53
commit 2933c7427b
34 changed files with 149 additions and 121 deletions

View File

@@ -0,0 +1 @@
{"sync_type": "weight_sync", "status": "partial", "message": "Synced 0 records, 1 failed", "records_processed": 0, "timestamp": "2026-01-31T02:06:22.635112+00:00"}

View File

@@ -0,0 +1 @@
{"sync_type": "weight_sync", "status": "partial", "message": "Synced 0 records, 1 failed", "records_processed": 0, "timestamp": "2026-01-31T03:06:25.283676+00:00"}

View File

@@ -0,0 +1 @@
{"sync_type": "weight_sync", "status": "partial", "message": "Synced 0 records, 1 failed", "records_processed": 0, "timestamp": "2026-01-31T04:06:28.246296+00:00"}

View File

@@ -0,0 +1 @@
{"sync_type": "weight_sync", "status": "partial", "message": "Synced 0 records, 1 failed", "records_processed": 0, "timestamp": "2026-01-31T05:06:30.835725+00:00"}

View File

@@ -0,0 +1 @@
{"sync_type": "weight_sync", "status": "partial", "message": "Synced 0 records, 1 failed", "records_processed": 0, "timestamp": "2026-01-31T06:06:33.357729+00:00"}

View File

@@ -0,0 +1 @@
{"sync_type": "weight_sync", "status": "partial", "message": "Synced 0 records, 1 failed", "records_processed": 0, "timestamp": "2026-01-31T07:06:35.898041+00:00"}

View File

@@ -0,0 +1 @@
{"sync_type": "weight_sync", "status": "partial", "message": "Synced 0 records, 1 failed", "records_processed": 0, "timestamp": "2026-01-31T08:06:38.455703+00:00"}

View File

@@ -0,0 +1 @@
{"sync_type": "weight_sync", "status": "partial", "message": "Synced 0 records, 1 failed", "records_processed": 0, "timestamp": "2026-01-31T09:06:41.138250+00:00"}

View File

@@ -0,0 +1 @@
{"sync_type": "weight_sync", "status": "partial", "message": "Synced 0 records, 1 failed", "records_processed": 0, "timestamp": "2026-01-31T10:06:43.875712+00:00"}

View File

@@ -0,0 +1 @@
{"sync_type": "weight_sync", "status": "partial", "message": "Synced 0 records, 1 failed", "records_processed": 0, "timestamp": "2026-01-31T11:06:46.554419+00:00"}

View File

@@ -0,0 +1 @@
{"sync_type": "weight_sync", "status": "partial", "message": "Synced 0 records, 1 failed", "records_processed": 0, "timestamp": "2026-01-31T12:06:49.100463+00:00"}

View File

@@ -0,0 +1 @@
{"sync_type": "weight_sync", "status": "partial", "message": "Synced 0 records, 1 failed", "records_processed": 0, "timestamp": "2026-01-31T13:06:51.924709+00:00"}

View File

@@ -0,0 +1 @@
{"sync_type": "weight_sync", "status": "partial", "message": "Synced 0 records, 1 failed", "records_processed": 0, "timestamp": "2026-01-31T14:06:55.208107+00:00"}

View File

@@ -0,0 +1 @@
{"sync_type": "weight_sync", "status": "partial", "message": "Synced 0 records, 1 failed", "records_processed": 0, "timestamp": "2026-01-31T15:06:58.275696+00:00"}

View File

@@ -0,0 +1 @@
{"sync_type": "weight_sync", "status": "partial", "message": "Synced 0 records, 1 failed", "records_processed": 0, "timestamp": "2026-01-31T16:07:01.117154+00:00"}

View File

@@ -0,0 +1 @@
{"sync_type": "weight_sync", "status": "partial", "message": "Synced 0 records, 1 failed", "records_processed": 0, "timestamp": "2026-01-31T17:07:03.752125+00:00"}

View File

@@ -0,0 +1 @@
{"sync_type": "weight_sync", "status": "partial", "message": "Synced 0 records, 1 failed", "records_processed": 0, "timestamp": "2026-01-31T18:07:06.590921+00:00"}

View File

@@ -0,0 +1 @@
{"sync_type": "weight_sync", "status": "partial", "message": "Synced 0 records, 1 failed", "records_processed": 0, "timestamp": "2026-01-31T19:07:09.700005+00:00"}

View File

@@ -0,0 +1 @@
{"sync_type": "weight_sync", "status": "partial", "message": "Synced 0 records, 1 failed", "records_processed": 0, "timestamp": "2026-01-31T20:07:12.402868+00:00"}

View File

@@ -0,0 +1 @@
{"sync_type": "weight_sync", "status": "partial", "message": "Synced 0 records, 1 failed", "records_processed": 0, "timestamp": "2026-01-31T21:07:15.440900+00:00"}

View File

@@ -0,0 +1 @@
{"sync_type": "weight_sync", "status": "partial", "message": "Synced 0 records, 1 failed", "records_processed": 0, "timestamp": "2026-01-31T22:07:18.711757+00:00"}

View File

@@ -0,0 +1 @@
{"sync_type": "weight_sync", "status": "partial", "message": "Synced 0 records, 1 failed", "records_processed": 0, "timestamp": "2026-01-31T23:07:21.298700+00:00"}

View File

@@ -0,0 +1 @@
{"sync_type": "weight_sync", "status": "partial", "message": "Synced 0 records, 1 failed", "records_processed": 0, "timestamp": "2026-02-01T00:07:23.888689+00:00"}

View File

@@ -0,0 +1 @@
{"sync_type": "weight_sync", "status": "partial", "message": "Synced 0 records, 1 failed", "records_processed": 0, "timestamp": "2026-02-01T01:07:26.578128+00:00"}

View File

@@ -1,23 +1,23 @@
-----BEGIN CERTIFICATE-----
MIIDvTCCA0OgAwIBAgISBqtxAoJXVIqu3sAYszcBdkc6MAoGCCqGSM49BAMDMDIx
MIIDxjCCA0ygAwIBAgISBdSUOjdLe//tmcsLEMMMN2FyMAoGCCqGSM49BAMDMDIx
CzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MQswCQYDVQQDEwJF
NzAeFw0yNjAxMjQyMzA3MzNaFw0yNjA0MjQyMzA3MzJaMCAxHjAcBgNVBAMMFSou
NzAeFw0yNjAxMzEyMzA1NDZaFw0yNjA1MDEyMzA1NDVaMCAxHjAcBgNVBAMMFSou
ZmJsZWFnaC5kdWNrZG5zLm9yZzBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABEMp
g8Wlki34WWSjip7jID1y5+Cj0VNJ5ASEWpfdz0UZaPWyysNeAPJskQoFN7kTvEhb
NWRDMb+PnJoI+r4dKZyjggJJMIICRTAOBgNVHQ8BAf8EBAMCB4AwHQYDVR0lBBYw
NWRDMb+PnJoI+r4dKZyjggJSMIICTjAOBgNVHQ8BAf8EBAMCB4AwHQYDVR0lBBYw
FAYIKwYBBQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYEFHZq
MAGYe8+YzwC4/4L9xSaUEidqMB8GA1UdIwQYMBaAFK5IntyHHUSgb9qi5WB0BHjC
nACAMDIGCCsGAQUFBwEBBCYwJDAiBggrBgEFBQcwAoYWaHR0cDovL2U3LmkubGVu
Y3Iub3JnLzBHBgNVHREEQDA+ghUqLmZibGVhZ2guZHVja2Rucy5vcmeCJWdpdGVh
LnNlcnZpY2UuZGMxLmZibGVhZ2guZHVja2Rucy5vcmcwEwYDVR0gBAwwCjAIBgZn
gQwBAgEwLQYDVR0fBCYwJDAioCCgHoYcaHR0cDovL2U3LmMubGVuY3Iub3JnLzU5
LmNybDCCAQMGCisGAQQB1nkCBAIEgfQEgfEA7wB1AGQRxGykEuyniRyiAi4AvKtP
KAfUHjUnq+r+1QPJfc3wAAABm/J41CIAAAQDAEYwRAIgXVISolIZg5dpBBpY0jt9
s5TKRz+G+woyrrOPjbMvLqACIEAb3O92qutaBPw9UbwTQwqEDzLb1g0qQ60qKouu
X66wAHYAlpdkv1VYl633Q4doNwhCd+nwOtX2pPM2bkakPw/KqcYAAAGb8njUbgAA
BAMARzBFAiBsHOVh+MLzBhjP/YUCJx3AzVhqDkx2ag0mA1fls5o2DQIhAPzffg8i
bnmnME65U3zQemgQWuy5zYkQNrMeu84R9ZoaMAoGCCqGSM49BAMDA2gAMGUCMQDw
xKPHPX5GkpaWYSkAhIqcpFFMTinDEnPb74Uxu1sRxVWzZXsZENKkPUot0GyDq9MC
MAQuROGdEgDzbbwB8AitK8accphS/HUSC9FMlOS5T25DplaQahXnvQaC5YJ1h/xF
LA==
gQwBAgEwLgYDVR0fBCcwJTAjoCGgH4YdaHR0cDovL2U3LmMubGVuY3Iub3JnLzEx
NS5jcmwwggELBgorBgEEAdZ5AgQCBIH8BIH5APcAfQDjI43yjaKI4KrgrPD6kMmF
8La/9dKlJ7AB/BxEWMS26AAAAZwWg7YLAAgAAAUAMRzGGgQDAEYwRAIgFItFD0W9
czHJF3sECfFN0hRJJcbtAJT4p6ghQjkWa6ACIDOBr7th0ZgpDG/fzrH9bG8wr6Wi
JSa6sSmW/bvZBkyRAHYA0W6ppWgHfmY1oD83pd28A6U8QRIU1IgY9ekxsyPLlQQA
AAGcFoO9VwAABAMARzBFAiBeMZNrXcoX11e+RecDiNaYwYqTzelZpiwLETX/Pnmu
GwIhAPzHkN+72ODm8PbP49Hv2c3tyyLnQEarozBrbJJK9Wm1MAoGCCqGSM49BAMD
A2gAMGUCMEbaDw2ePaFk3FKr+86G/DOUKa+isuLvVy8uNEpl0cy8xc/gsKaszsfT
JgWBTIXMigIxAJnpwfvMjLKrCMKcMHIBlMlEy8HrA64QnUAkEMYBq25gVLE1nXCR
RIQtQpRiAIBW0A==
-----END CERTIFICATE-----

View File

@@ -1,25 +1,25 @@
-----BEGIN CERTIFICATE-----
MIIDvTCCA0OgAwIBAgISBqtxAoJXVIqu3sAYszcBdkc6MAoGCCqGSM49BAMDMDIx
MIIDxjCCA0ygAwIBAgISBdSUOjdLe//tmcsLEMMMN2FyMAoGCCqGSM49BAMDMDIx
CzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MQswCQYDVQQDEwJF
NzAeFw0yNjAxMjQyMzA3MzNaFw0yNjA0MjQyMzA3MzJaMCAxHjAcBgNVBAMMFSou
NzAeFw0yNjAxMzEyMzA1NDZaFw0yNjA1MDEyMzA1NDVaMCAxHjAcBgNVBAMMFSou
ZmJsZWFnaC5kdWNrZG5zLm9yZzBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABEMp
g8Wlki34WWSjip7jID1y5+Cj0VNJ5ASEWpfdz0UZaPWyysNeAPJskQoFN7kTvEhb
NWRDMb+PnJoI+r4dKZyjggJJMIICRTAOBgNVHQ8BAf8EBAMCB4AwHQYDVR0lBBYw
NWRDMb+PnJoI+r4dKZyjggJSMIICTjAOBgNVHQ8BAf8EBAMCB4AwHQYDVR0lBBYw
FAYIKwYBBQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYEFHZq
MAGYe8+YzwC4/4L9xSaUEidqMB8GA1UdIwQYMBaAFK5IntyHHUSgb9qi5WB0BHjC
nACAMDIGCCsGAQUFBwEBBCYwJDAiBggrBgEFBQcwAoYWaHR0cDovL2U3LmkubGVu
Y3Iub3JnLzBHBgNVHREEQDA+ghUqLmZibGVhZ2guZHVja2Rucy5vcmeCJWdpdGVh
LnNlcnZpY2UuZGMxLmZibGVhZ2guZHVja2Rucy5vcmcwEwYDVR0gBAwwCjAIBgZn
gQwBAgEwLQYDVR0fBCYwJDAioCCgHoYcaHR0cDovL2U3LmMubGVuY3Iub3JnLzU5
LmNybDCCAQMGCisGAQQB1nkCBAIEgfQEgfEA7wB1AGQRxGykEuyniRyiAi4AvKtP
KAfUHjUnq+r+1QPJfc3wAAABm/J41CIAAAQDAEYwRAIgXVISolIZg5dpBBpY0jt9
s5TKRz+G+woyrrOPjbMvLqACIEAb3O92qutaBPw9UbwTQwqEDzLb1g0qQ60qKouu
X66wAHYAlpdkv1VYl633Q4doNwhCd+nwOtX2pPM2bkakPw/KqcYAAAGb8njUbgAA
BAMARzBFAiBsHOVh+MLzBhjP/YUCJx3AzVhqDkx2ag0mA1fls5o2DQIhAPzffg8i
bnmnME65U3zQemgQWuy5zYkQNrMeu84R9ZoaMAoGCCqGSM49BAMDA2gAMGUCMQDw
xKPHPX5GkpaWYSkAhIqcpFFMTinDEnPb74Uxu1sRxVWzZXsZENKkPUot0GyDq9MC
MAQuROGdEgDzbbwB8AitK8accphS/HUSC9FMlOS5T25DplaQahXnvQaC5YJ1h/xF
LA==
gQwBAgEwLgYDVR0fBCcwJTAjoCGgH4YdaHR0cDovL2U3LmMubGVuY3Iub3JnLzEx
NS5jcmwwggELBgorBgEEAdZ5AgQCBIH8BIH5APcAfQDjI43yjaKI4KrgrPD6kMmF
8La/9dKlJ7AB/BxEWMS26AAAAZwWg7YLAAgAAAUAMRzGGgQDAEYwRAIgFItFD0W9
czHJF3sECfFN0hRJJcbtAJT4p6ghQjkWa6ACIDOBr7th0ZgpDG/fzrH9bG8wr6Wi
JSa6sSmW/bvZBkyRAHYA0W6ppWgHfmY1oD83pd28A6U8QRIU1IgY9ekxsyPLlQQA
AAGcFoO9VwAABAMARzBFAiBeMZNrXcoX11e+RecDiNaYwYqTzelZpiwLETX/Pnmu
GwIhAPzHkN+72ODm8PbP49Hv2c3tyyLnQEarozBrbJJK9Wm1MAoGCCqGSM49BAMD
A2gAMGUCMEbaDw2ePaFk3FKr+86G/DOUKa+isuLvVy8uNEpl0cy8xc/gsKaszsfT
JgWBTIXMigIxAJnpwfvMjLKrCMKcMHIBlMlEy8HrA64QnUAkEMYBq25gVLE1nXCR
RIQtQpRiAIBW0A==
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----

View File

@@ -1,7 +1,7 @@
{
"backup_timestamp": "2026-01-31T02:01:51.096218",
"total_keys": 1220,
"successful_backups": 1215,
"backup_timestamp": "2026-02-01T02:01:41.560214",
"total_keys": 1244,
"successful_backups": 1239,
"failed_backups": 5,
"consul_address": "http://consul.service.dc1.consul:8500"
}

View File

@@ -1 +1 @@
{"conn_url":"postgres://192.168.4.227:5432/postgres","api_url":"http://192.168.4.227:8008/patroni","state":"running","role":"replica","version":"4.0.4","xlog_location":677841008648,"replication_state":"streaming","timeline":248}
{"conn_url":"postgres://192.168.4.227:5432/postgres","api_url":"http://192.168.4.227:8008/patroni","state":"running","role":"replica","version":"4.0.4","xlog_location":679324770304,"replication_state":"streaming","timeline":248}

View File

@@ -1 +1 @@
{"conn_url":"postgres://192.168.4.228:5432/postgres","api_url":"http://192.168.4.228:8008/patroni","state":"running","role":"primary","version":"4.0.4","xlog_location":677841008648,"timeline":248}
{"conn_url":"postgres://192.168.4.228:5432/postgres","api_url":"http://192.168.4.228:8008/patroni","state":"running","role":"primary","version":"4.0.4","xlog_location":679324704768,"timeline":248}

View File

@@ -1 +1 @@
{"conn_url":"postgres://192.168.4.36:5432/postgres","api_url":"http://192.168.4.36:8008/patroni","state":"running","role":"replica","version":"4.0.4","xlog_location":677841055840,"replication_state":"streaming","timeline":248}
{"conn_url":"postgres://192.168.4.36:5432/postgres","api_url":"http://192.168.4.36:8008/patroni","state":"running","role":"replica","version":"4.0.4","xlog_location":679327695248,"replication_state":"streaming","timeline":248}

View File

@@ -1 +1 @@
{"optime":677841008648,"slots":{"pg_odroid7":677841008648,"pg_opti1":677841008648,"pg_odroid8":677841008648},"retain_slots":["pg_odroid7","pg_odroid8","pg_opti1"]}
{"optime":679324704768,"slots":{"pg_odroid7":679324597032,"pg_opti1":679324597032,"pg_odroid8":679324704768},"retain_slots":["pg_odroid7","pg_odroid8","pg_opti1"]}

View File

@@ -6,15 +6,29 @@ job "gonic" {
group "gonic" {
count = 1
volume "gonic-csi-vol" {
type = "csi"
source = "gonic-volume"
attachment_mode = "file-system"
access_mode = "multi-node-multi-writer"
}
task "gonic" {
driver = "docker"
volume_mount {
volume = "gonic-csi-vol" # Matches the name in the volume block above
destination = "/data" # Where it appears inside the container
read_only = false
}
config {
image = "sentriz/gonic"
port_map {
http = 80
}
volumes = [
"/mnt/configs/gonic/data:/data",
"/mnt/configs/gonic/cache:/cache",
"/mnt/Public/Downloads/Clean_Music:/music/CleanMusic:ro",
"/mnt/Public/Downloads/incoming_music:/music/incomingmusic:ro",
@@ -48,7 +62,6 @@ job "gonic" {
"traefik.http.routers.goniclan.rule=Host(`gonic.service.dc1.consul`)",
"traefik.http.routers.gonicwan.rule=Host(`mg.fbleagh.duckdns.org`)",
"traefik.http.routers.gonicwan.tls=true",
"traefik.http.routers.gonicwan.tls.certresolver=myresolver"
]
// "traefik.http.middlewares.gonic_auth.basicauth.users=admin:$2y$05$cJGONoS0BFTeBUXqmETikeI14QhLDKIDkYuPdA1umIOC129grVMAm",
@@ -63,89 +76,5 @@ job "gonic" {
}
}
} #end gonic
task "init-manual" {
driver = "docker"
lifecycle {
hook = "prestart"
sidecar = false
}
config {
memory_hard_limit = "2048"
image = "ghcr.io/sstent/rsync"
volumes = [
"/mnt/configs/${NOMAD_GROUP_NAME}:/config",
"/mnt/Public/config/${NOMAD_GROUP_NAME}:/configbackup",
"/mnt/Public/config/locks:/locks"
]
args = ["flock", "-x","/locks/${NOMAD_GROUP_NAME}_rsync.lock","rsync","-av","--exclude=Backups","/configbackup/","/config/","--delete-before"]
}
resources {
cpu = 20 # 500 MHz
memory = 20 # 128MB
}
}
task "finalsync-manual" {
driver = "docker"
lifecycle {
hook = "poststop"
}
config {
memory_hard_limit = "2048"
image = "ghcr.io/sstent/rsync"
volumes = [
"/mnt/configs/${NOMAD_GROUP_NAME}:/config",
"/mnt/Public/config/${NOMAD_GROUP_NAME}:/configbackup",
"/mnt/Public/config/locks:/locks"
]
args = ["flock", "-x","/locks/${NOMAD_GROUP_NAME}_rsync.lock","rsync","-av","/config/","/configbackup/"]
}
resources {
cpu = 20 # 500 MHz
memory = 20 # 128MB
}
}
task "db-sync" {
driver = "docker"
lifecycle {
hook = "poststart"
sidecar = true
}
config {
memory_hard_limit = "2048"
image = "ghcr.io/sstent/rsync"
volumes = [
"/mnt/configs/${NOMAD_GROUP_NAME}:/config",
"/mnt/Public/config/${NOMAD_GROUP_NAME}:/configbackup",
]
// args = ["/usr/local/bin/litestream", "replicate", "-config","/local/litestream.yml"]
}
resources {
cpu = 20 # 500 MHz
memory = 20 # 128MB
}
template {
data = <<EOH
dbs:
- path: /data/gonic.db
replicas:
- path: /configbackup
EOH
destination = "local/litestream.yml"
}
} #####
}
}
}
}

View File

@@ -0,0 +1,37 @@
job "jfs-controller" {
datacenters = ["dc1"]
type = "system"
group "controller" {
task "plugin" {
driver = "docker"
config {
image = "juicedata/juicefs-csi-driver:v0.31.1"
args = [
"--endpoint=unix://csi/csi.sock",
"--logtostderr",
"--nodeid=test",
"--v=5",
"--by-process=true"
]
privileged = true
}
csi_plugin {
id = "juicefs0"
type = "controller"
mount_dir = "/csi"
}
resources {
cpu = 100
memory = 512
}
env {
POD_NAME = "csi-controller"
}
}
}
}

38
nomad_backup/jfs-node.hcl Normal file
View File

@@ -0,0 +1,38 @@
job "jfs-node" {
datacenters = ["dc1"]
type = "system"
group "nodes" {
task "juicefs-plugin" {
driver = "docker"
config {
image = "juicedata/juicefs-csi-driver:v0.31.1"
memory_hard_limit = 2048
args = [
"--endpoint=unix://csi/csi.sock",
"--logtostderr",
"--v=5",
"--nodeid=test",
"--by-process=true",
]
privileged = true
}
csi_plugin {
id = "juicefs0"
type = "node"
mount_dir = "/csi"
}
resources {
cpu = 100
memory = 100
}
env {
POD_NAME = "csi-node"
AWS_REGION = "garage"
}
}
}
}