chore: backup infrastructure configurations [skip ci]

This commit is contained in:
github-actions[bot]
2026-02-04 02:02:47 +00:00
parent e231f18f08
commit 7e55c8f58b
32 changed files with 132 additions and 48 deletions

View File

@@ -0,0 +1 @@
{"sync_type": "weight_sync", "status": "partial", "message": "Synced 0 records, 1 failed", "records_processed": 0, "timestamp": "2026-02-03T02:09:51.079977+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-03T03:09:53.741728+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-03T04:09:56.562342+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-03T05:09:59.213873+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-03T06:10:01.845015+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-03T07:10:04.543038+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-03T08:10:07.580253+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-03T09:10:10.298969+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-03T10:10:13.232000+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-03T11:10:15.763273+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-03T12:10:18.667264+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-03T13:10:21.280654+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-03T14:10:23.939881+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-03T15:10:26.897752+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-03T16:10:29.871920+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-03T17:10:32.431617+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-03T18:10:35.379904+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-03T19:10:38.282565+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-03T20:10:40.848017+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-03T21:10:43.381412+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-03T22:10:45.955712+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-03T23:10:48.626834+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-04T00:10:51.821010+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-04T01:10:55.199088+00:00"}

View File

@@ -1,7 +1,7 @@
{
"backup_timestamp": "2026-02-03T02:02:34.837596",
"total_keys": 1292,
"successful_backups": 1287,
"backup_timestamp": "2026-02-04T02:02:47.020515",
"total_keys": 1316,
"successful_backups": 1311,
"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":683034885072,"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":685234337264,"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":683034885824,"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":685234320552,"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":683034970016,"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":685234180872,"replication_state":"streaming","timeline":248}

View File

@@ -1 +1 @@
{"optime":683034885824,"slots":{"pg_odroid7":683034885824,"pg_opti1":683034885824,"pg_odroid8":683034885824},"retain_slots":["pg_odroid7","pg_odroid8","pg_opti1"]}
{"optime":685234320552,"slots":{"pg_odroid7":685234320552,"pg_opti1":685234320552,"pg_odroid8":685234320552},"retain_slots":["pg_odroid7","pg_odroid8","pg_opti1"]}

View File

@@ -1,90 +1,119 @@
---
global:
scrape_interval: 15s
scrape_interval: 15s
evaluation_interval: 15s
scrape_timeout: 12s
external_labels:
monitor: 'example'
monitor: example
rule_files:
- "alerts.yml"
- alerts.yml
alerting:
alertmanagers:
- scheme: http
static_configs:
- targets:
- "alertmanager.service.dc1.consul:9093"
- scheme: http
static_configs:
- targets:
- alertmanager.service.dc1.consul:9093
scrape_configs:
- job_name: postgres-job
metrics_path: /metrics
scheme: http
static_configs:
- targets: ['postgres.service.dc1.consul:8008']
- targets:
- postgres.service.dc1.consul:8008
- job_name: minio-job
metrics_path: /minio/v2/metrics/cluster
scheme: http
static_configs:
- targets: ['minio.service.dc1.consul:9000']
- job_name: 'traefik'
- targets:
- minio.service.dc1.consul:9000
- job_name: traefik
static_configs:
- targets:
- 'traefik.service.dc1.consul:80'
- job_name: 'consulservices'
- traefik.service.dc1.consul:80
- job_name: consulservices
consul_sd_configs:
- server: 'consul.service.dc1.consul:8500'
- server: consul.service.dc1.consul:8500
services:
- cadvisor
- cadvisor
relabel_configs:
- source_labels: [__meta_consul_service]
- source_labels:
- __meta_consul_service
target_label: job
- source_labels: [__meta_consul_node]
- source_labels:
- __meta_consul_node
regex: (.+)
target_label: node
replacement: '${1}'
target_label: node
replacement: ${1}
- job_name: nomad_metrics
params:
format:
- prometheus
- prometheus
scrape_interval: 10s
scrape_timeout: 10s
metrics_path: /v1/metrics
consul_sd_configs:
- server: 'consul.service.dc1.consul:8500'
datacenter: 'dc1'
tag_separator: ','
- server: consul.service.dc1.consul:8500
datacenter: dc1
tag_separator: ","
scheme: http
services:
- nomad-client
- nomad-client
relabel_configs:
- source_labels: [__meta_consul_tags]
- source_labels:
- __meta_consul_tags
separator: ;
regex: (.*)http(.*)
replacement: $1
action: keep
- source_labels: [__meta_consul_address]
- source_labels:
- __meta_consul_address
separator: ;
regex: (.*)
target_label: __meta_consul_service_address
replacement: $1
action: replace
- source_labels: [__meta_consul_node]
- source_labels:
- __meta_consul_node
regex: (.+)
target_label: node
replacement: '${1}'
target_label: node
replacement: ${1}
- job_name: node_exporter
params:
format:
- prometheus
- prometheus
scrape_interval: 10s
scrape_timeout: 10s
metrics_path: /metrics
consul_sd_configs:
- server: 'consul.service.dc1.consul:8500'
datacenter: 'dc1'
tag_separator: ','
- server: consul.service.dc1.consul:8500
datacenter: dc1
tag_separator: ","
scheme: http
services:
- node-exporter
- node-exporter
relabel_configs:
- source_labels: [__meta_consul_node]
- source_labels:
- __meta_consul_node
regex: (.+)
target_label: node
replacement: '${1}'
replacement: ${1}
- job_name: juicefs_csi
params:
format:
- prometheus
scrape_interval: 10s
scrape_timeout: 10s
metrics_path: /metrics
consul_sd_configs:
- server: consul.service.dc1.consul:8500
datacenter: dc1
tag_separator: ","
scheme: http
services:
- juicefs-metrics
relabel_configs:
- source_labels:
- __meta_consul_node
regex: (.+)
target_label: node
replacement: ${1}

View File

@@ -3,17 +3,38 @@ job "jfs-node" {
type = "system"
group "nodes" {
network {
port "metrics" {
static = 9567
to = 8080
}
}
# Add this inside your "juicefs-plugin" task in jfs-node.nomad
service {
name = "juicefs-metrics"
port = "metrics" # References the static port 9567 defined in your network block
tags = ["prometheus"]
check {
type = "http"
path = "/metrics"
interval = "10s"
timeout = "2s"
}
}
task "juicefs-plugin" {
driver = "docker"
config {
image = "juicedata/juicefs-csi-driver:v0.31.1"
memory_hard_limit = 2048
ports = ["metrics"]
args = [
"--endpoint=unix://csi/csi.sock",
"--logtostderr",
"--v=5",
"--nodeid=test",
"--nodeid=${node.unique.name}", # Better than hardcoded "test"
"--by-process=true",
]
@@ -24,6 +45,7 @@ job "jfs-node" {
id = "juicefs0"
type = "node"
mount_dir = "/csi"
health_timeout = "3m"
}
resources {
cpu = 100
@@ -31,7 +53,11 @@ job "jfs-node" {
}
env {
POD_NAME = "csi-node"
AWS_REGION = "garage"
AWS_REGION = "garage"
# Aggregates metrics from children onto the 8080 port
JFS_METRICS = "0.0.0.0:8080"
# Ensures mounts run as background processes managed by the driver
JFS_MOUNT_MODE = "process"
}
}
}

View File

@@ -16,7 +16,9 @@ job "navidrome" {
source = "navidrome-volume" # This must match the 'id' in your volume registration
attachment_mode = "file-system"
access_mode = "multi-node-multi-writer"
}
}
# Main Navidrome task
task "navidrome" {
@@ -24,7 +26,7 @@ job "navidrome" {
volume_mount {
volume = "navidrome-csi-vol" # Matches the name in the volume block above
destination = "/data" # Where it appears inside the container
destination = "/db" # Where it appears inside the container
read_only = false
}
@@ -37,16 +39,19 @@ job "navidrome" {
"/mnt/Public/Downloads/Clean_Music:/music/CleanMusic:ro",
"/mnt/Public/Downloads/news/slskd/downloads:/music/slskd:ro",
"/mnt/Public/Downloads/incoming_music:/music/incomingmusic:ro",
#"/mnt/configs/navidrome:/data"
"/mnt/Public/configs/navidrome/cache:/data/cache",
"/mnt/Public/configs/navidrome/backups:/data/backups"
]
}
env {
ND_DATAFOLDER = "/db"
ND_CACHEFOLDER = "/data/cache"
ND_SCANSCHEDULE = "32 8-20 * * *"
ND_LOGLEVEL = "debug"
ND_REVERSEPROXYWHITELIST = "0.0.0.0/0"
ND_REVERSEPROXYUSERHEADER = "X-Forwarded-User"
ND_SCANNER_GROUPALBUMRELEASES = "False"
ND_BACKUP_PATH = "/data"
ND_BACKUP_PATH = "/data/backups"
ND_BACKUP_SCHEDULE = "0 0 * * *"
ND_BACKUP_COUNT = "7"
}