From 7e55c8f58b3889eb3d2a15e93e025746899a932c Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Wed, 4 Feb 2026 02:02:47 +0000 Subject: [PATCH] chore: backup infrastructure configurations [skip ci] --- .../logs/2026-02-03T02:09:51.079977+00:00 | 1 + .../logs/2026-02-03T03:09:53.741728+00:00 | 1 + .../logs/2026-02-03T04:09:56.562342+00:00 | 1 + .../logs/2026-02-03T05:09:59.213873+00:00 | 1 + .../logs/2026-02-03T06:10:01.845015+00:00 | 1 + .../logs/2026-02-03T07:10:04.543038+00:00 | 1 + .../logs/2026-02-03T08:10:07.580253+00:00 | 1 + .../logs/2026-02-03T09:10:10.298969+00:00 | 1 + .../logs/2026-02-03T10:10:13.232000+00:00 | 1 + .../logs/2026-02-03T11:10:15.763273+00:00 | 1 + .../logs/2026-02-03T12:10:18.667264+00:00 | 1 + .../logs/2026-02-03T13:10:21.280654+00:00 | 1 + .../logs/2026-02-03T14:10:23.939881+00:00 | 1 + .../logs/2026-02-03T15:10:26.897752+00:00 | 1 + .../logs/2026-02-03T16:10:29.871920+00:00 | 1 + .../logs/2026-02-03T17:10:32.431617+00:00 | 1 + .../logs/2026-02-03T18:10:35.379904+00:00 | 1 + .../logs/2026-02-03T19:10:38.282565+00:00 | 1 + .../logs/2026-02-03T20:10:40.848017+00:00 | 1 + .../logs/2026-02-03T21:10:43.381412+00:00 | 1 + .../logs/2026-02-03T22:10:45.955712+00:00 | 1 + .../logs/2026-02-03T23:10:48.626834+00:00 | 1 + .../logs/2026-02-04T00:10:51.821010+00:00 | 1 + .../logs/2026-02-04T01:10:55.199088+00:00 | 1 + consul_backup/metadata.json | 6 +- .../nomad/postgres/members/pg-odroid7 | 2 +- .../nomad/postgres/members/pg-odroid8 | 2 +- consul_backup/nomad/postgres/members/pg-opti1 | 2 +- consul_backup/nomad/postgres/status | 2 +- consul_backup/prometheus_yml | 99 ++++++++++++------- nomad_backup/jfs-node.hcl | 30 +++++- nomad_backup/navidrome.hcl | 13 ++- 32 files changed, 132 insertions(+), 48 deletions(-) create mode 100644 consul_backup/fitbit-garmin-sync/logs/2026-02-03T02:09:51.079977+00:00 create mode 100644 consul_backup/fitbit-garmin-sync/logs/2026-02-03T03:09:53.741728+00:00 create mode 100644 consul_backup/fitbit-garmin-sync/logs/2026-02-03T04:09:56.562342+00:00 create mode 100644 consul_backup/fitbit-garmin-sync/logs/2026-02-03T05:09:59.213873+00:00 create mode 100644 consul_backup/fitbit-garmin-sync/logs/2026-02-03T06:10:01.845015+00:00 create mode 100644 consul_backup/fitbit-garmin-sync/logs/2026-02-03T07:10:04.543038+00:00 create mode 100644 consul_backup/fitbit-garmin-sync/logs/2026-02-03T08:10:07.580253+00:00 create mode 100644 consul_backup/fitbit-garmin-sync/logs/2026-02-03T09:10:10.298969+00:00 create mode 100644 consul_backup/fitbit-garmin-sync/logs/2026-02-03T10:10:13.232000+00:00 create mode 100644 consul_backup/fitbit-garmin-sync/logs/2026-02-03T11:10:15.763273+00:00 create mode 100644 consul_backup/fitbit-garmin-sync/logs/2026-02-03T12:10:18.667264+00:00 create mode 100644 consul_backup/fitbit-garmin-sync/logs/2026-02-03T13:10:21.280654+00:00 create mode 100644 consul_backup/fitbit-garmin-sync/logs/2026-02-03T14:10:23.939881+00:00 create mode 100644 consul_backup/fitbit-garmin-sync/logs/2026-02-03T15:10:26.897752+00:00 create mode 100644 consul_backup/fitbit-garmin-sync/logs/2026-02-03T16:10:29.871920+00:00 create mode 100644 consul_backup/fitbit-garmin-sync/logs/2026-02-03T17:10:32.431617+00:00 create mode 100644 consul_backup/fitbit-garmin-sync/logs/2026-02-03T18:10:35.379904+00:00 create mode 100644 consul_backup/fitbit-garmin-sync/logs/2026-02-03T19:10:38.282565+00:00 create mode 100644 consul_backup/fitbit-garmin-sync/logs/2026-02-03T20:10:40.848017+00:00 create mode 100644 consul_backup/fitbit-garmin-sync/logs/2026-02-03T21:10:43.381412+00:00 create mode 100644 consul_backup/fitbit-garmin-sync/logs/2026-02-03T22:10:45.955712+00:00 create mode 100644 consul_backup/fitbit-garmin-sync/logs/2026-02-03T23:10:48.626834+00:00 create mode 100644 consul_backup/fitbit-garmin-sync/logs/2026-02-04T00:10:51.821010+00:00 create mode 100644 consul_backup/fitbit-garmin-sync/logs/2026-02-04T01:10:55.199088+00:00 diff --git a/consul_backup/fitbit-garmin-sync/logs/2026-02-03T02:09:51.079977+00:00 b/consul_backup/fitbit-garmin-sync/logs/2026-02-03T02:09:51.079977+00:00 new file mode 100644 index 0000000..920657c --- /dev/null +++ b/consul_backup/fitbit-garmin-sync/logs/2026-02-03T02:09:51.079977+00:00 @@ -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"} \ No newline at end of file diff --git a/consul_backup/fitbit-garmin-sync/logs/2026-02-03T03:09:53.741728+00:00 b/consul_backup/fitbit-garmin-sync/logs/2026-02-03T03:09:53.741728+00:00 new file mode 100644 index 0000000..54dba06 --- /dev/null +++ b/consul_backup/fitbit-garmin-sync/logs/2026-02-03T03:09:53.741728+00:00 @@ -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"} \ No newline at end of file diff --git a/consul_backup/fitbit-garmin-sync/logs/2026-02-03T04:09:56.562342+00:00 b/consul_backup/fitbit-garmin-sync/logs/2026-02-03T04:09:56.562342+00:00 new file mode 100644 index 0000000..e925453 --- /dev/null +++ b/consul_backup/fitbit-garmin-sync/logs/2026-02-03T04:09:56.562342+00:00 @@ -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"} \ No newline at end of file diff --git a/consul_backup/fitbit-garmin-sync/logs/2026-02-03T05:09:59.213873+00:00 b/consul_backup/fitbit-garmin-sync/logs/2026-02-03T05:09:59.213873+00:00 new file mode 100644 index 0000000..a3e73eb --- /dev/null +++ b/consul_backup/fitbit-garmin-sync/logs/2026-02-03T05:09:59.213873+00:00 @@ -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"} \ No newline at end of file diff --git a/consul_backup/fitbit-garmin-sync/logs/2026-02-03T06:10:01.845015+00:00 b/consul_backup/fitbit-garmin-sync/logs/2026-02-03T06:10:01.845015+00:00 new file mode 100644 index 0000000..4355470 --- /dev/null +++ b/consul_backup/fitbit-garmin-sync/logs/2026-02-03T06:10:01.845015+00:00 @@ -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"} \ No newline at end of file diff --git a/consul_backup/fitbit-garmin-sync/logs/2026-02-03T07:10:04.543038+00:00 b/consul_backup/fitbit-garmin-sync/logs/2026-02-03T07:10:04.543038+00:00 new file mode 100644 index 0000000..01aeb1f --- /dev/null +++ b/consul_backup/fitbit-garmin-sync/logs/2026-02-03T07:10:04.543038+00:00 @@ -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"} \ No newline at end of file diff --git a/consul_backup/fitbit-garmin-sync/logs/2026-02-03T08:10:07.580253+00:00 b/consul_backup/fitbit-garmin-sync/logs/2026-02-03T08:10:07.580253+00:00 new file mode 100644 index 0000000..92515ba --- /dev/null +++ b/consul_backup/fitbit-garmin-sync/logs/2026-02-03T08:10:07.580253+00:00 @@ -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"} \ No newline at end of file diff --git a/consul_backup/fitbit-garmin-sync/logs/2026-02-03T09:10:10.298969+00:00 b/consul_backup/fitbit-garmin-sync/logs/2026-02-03T09:10:10.298969+00:00 new file mode 100644 index 0000000..dd227d8 --- /dev/null +++ b/consul_backup/fitbit-garmin-sync/logs/2026-02-03T09:10:10.298969+00:00 @@ -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"} \ No newline at end of file diff --git a/consul_backup/fitbit-garmin-sync/logs/2026-02-03T10:10:13.232000+00:00 b/consul_backup/fitbit-garmin-sync/logs/2026-02-03T10:10:13.232000+00:00 new file mode 100644 index 0000000..d20e65b --- /dev/null +++ b/consul_backup/fitbit-garmin-sync/logs/2026-02-03T10:10:13.232000+00:00 @@ -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"} \ No newline at end of file diff --git a/consul_backup/fitbit-garmin-sync/logs/2026-02-03T11:10:15.763273+00:00 b/consul_backup/fitbit-garmin-sync/logs/2026-02-03T11:10:15.763273+00:00 new file mode 100644 index 0000000..7e9f6be --- /dev/null +++ b/consul_backup/fitbit-garmin-sync/logs/2026-02-03T11:10:15.763273+00:00 @@ -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"} \ No newline at end of file diff --git a/consul_backup/fitbit-garmin-sync/logs/2026-02-03T12:10:18.667264+00:00 b/consul_backup/fitbit-garmin-sync/logs/2026-02-03T12:10:18.667264+00:00 new file mode 100644 index 0000000..6576397 --- /dev/null +++ b/consul_backup/fitbit-garmin-sync/logs/2026-02-03T12:10:18.667264+00:00 @@ -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"} \ No newline at end of file diff --git a/consul_backup/fitbit-garmin-sync/logs/2026-02-03T13:10:21.280654+00:00 b/consul_backup/fitbit-garmin-sync/logs/2026-02-03T13:10:21.280654+00:00 new file mode 100644 index 0000000..b98bb57 --- /dev/null +++ b/consul_backup/fitbit-garmin-sync/logs/2026-02-03T13:10:21.280654+00:00 @@ -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"} \ No newline at end of file diff --git a/consul_backup/fitbit-garmin-sync/logs/2026-02-03T14:10:23.939881+00:00 b/consul_backup/fitbit-garmin-sync/logs/2026-02-03T14:10:23.939881+00:00 new file mode 100644 index 0000000..61dedf4 --- /dev/null +++ b/consul_backup/fitbit-garmin-sync/logs/2026-02-03T14:10:23.939881+00:00 @@ -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"} \ No newline at end of file diff --git a/consul_backup/fitbit-garmin-sync/logs/2026-02-03T15:10:26.897752+00:00 b/consul_backup/fitbit-garmin-sync/logs/2026-02-03T15:10:26.897752+00:00 new file mode 100644 index 0000000..f7b6f0d --- /dev/null +++ b/consul_backup/fitbit-garmin-sync/logs/2026-02-03T15:10:26.897752+00:00 @@ -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"} \ No newline at end of file diff --git a/consul_backup/fitbit-garmin-sync/logs/2026-02-03T16:10:29.871920+00:00 b/consul_backup/fitbit-garmin-sync/logs/2026-02-03T16:10:29.871920+00:00 new file mode 100644 index 0000000..4707f03 --- /dev/null +++ b/consul_backup/fitbit-garmin-sync/logs/2026-02-03T16:10:29.871920+00:00 @@ -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"} \ No newline at end of file diff --git a/consul_backup/fitbit-garmin-sync/logs/2026-02-03T17:10:32.431617+00:00 b/consul_backup/fitbit-garmin-sync/logs/2026-02-03T17:10:32.431617+00:00 new file mode 100644 index 0000000..3e41805 --- /dev/null +++ b/consul_backup/fitbit-garmin-sync/logs/2026-02-03T17:10:32.431617+00:00 @@ -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"} \ No newline at end of file diff --git a/consul_backup/fitbit-garmin-sync/logs/2026-02-03T18:10:35.379904+00:00 b/consul_backup/fitbit-garmin-sync/logs/2026-02-03T18:10:35.379904+00:00 new file mode 100644 index 0000000..25578ca --- /dev/null +++ b/consul_backup/fitbit-garmin-sync/logs/2026-02-03T18:10:35.379904+00:00 @@ -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"} \ No newline at end of file diff --git a/consul_backup/fitbit-garmin-sync/logs/2026-02-03T19:10:38.282565+00:00 b/consul_backup/fitbit-garmin-sync/logs/2026-02-03T19:10:38.282565+00:00 new file mode 100644 index 0000000..daafcfe --- /dev/null +++ b/consul_backup/fitbit-garmin-sync/logs/2026-02-03T19:10:38.282565+00:00 @@ -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"} \ No newline at end of file diff --git a/consul_backup/fitbit-garmin-sync/logs/2026-02-03T20:10:40.848017+00:00 b/consul_backup/fitbit-garmin-sync/logs/2026-02-03T20:10:40.848017+00:00 new file mode 100644 index 0000000..1dc5a4c --- /dev/null +++ b/consul_backup/fitbit-garmin-sync/logs/2026-02-03T20:10:40.848017+00:00 @@ -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"} \ No newline at end of file diff --git a/consul_backup/fitbit-garmin-sync/logs/2026-02-03T21:10:43.381412+00:00 b/consul_backup/fitbit-garmin-sync/logs/2026-02-03T21:10:43.381412+00:00 new file mode 100644 index 0000000..97569a1 --- /dev/null +++ b/consul_backup/fitbit-garmin-sync/logs/2026-02-03T21:10:43.381412+00:00 @@ -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"} \ No newline at end of file diff --git a/consul_backup/fitbit-garmin-sync/logs/2026-02-03T22:10:45.955712+00:00 b/consul_backup/fitbit-garmin-sync/logs/2026-02-03T22:10:45.955712+00:00 new file mode 100644 index 0000000..c46d536 --- /dev/null +++ b/consul_backup/fitbit-garmin-sync/logs/2026-02-03T22:10:45.955712+00:00 @@ -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"} \ No newline at end of file diff --git a/consul_backup/fitbit-garmin-sync/logs/2026-02-03T23:10:48.626834+00:00 b/consul_backup/fitbit-garmin-sync/logs/2026-02-03T23:10:48.626834+00:00 new file mode 100644 index 0000000..f4a56bc --- /dev/null +++ b/consul_backup/fitbit-garmin-sync/logs/2026-02-03T23:10:48.626834+00:00 @@ -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"} \ No newline at end of file diff --git a/consul_backup/fitbit-garmin-sync/logs/2026-02-04T00:10:51.821010+00:00 b/consul_backup/fitbit-garmin-sync/logs/2026-02-04T00:10:51.821010+00:00 new file mode 100644 index 0000000..9a29412 --- /dev/null +++ b/consul_backup/fitbit-garmin-sync/logs/2026-02-04T00:10:51.821010+00:00 @@ -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"} \ No newline at end of file diff --git a/consul_backup/fitbit-garmin-sync/logs/2026-02-04T01:10:55.199088+00:00 b/consul_backup/fitbit-garmin-sync/logs/2026-02-04T01:10:55.199088+00:00 new file mode 100644 index 0000000..25f8360 --- /dev/null +++ b/consul_backup/fitbit-garmin-sync/logs/2026-02-04T01:10:55.199088+00:00 @@ -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"} \ No newline at end of file diff --git a/consul_backup/metadata.json b/consul_backup/metadata.json index 1d4893f..999ac2c 100644 --- a/consul_backup/metadata.json +++ b/consul_backup/metadata.json @@ -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" } \ No newline at end of file diff --git a/consul_backup/nomad/postgres/members/pg-odroid7 b/consul_backup/nomad/postgres/members/pg-odroid7 index 810369d..21539bc 100644 --- a/consul_backup/nomad/postgres/members/pg-odroid7 +++ b/consul_backup/nomad/postgres/members/pg-odroid7 @@ -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} \ No newline at end of file +{"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} \ No newline at end of file diff --git a/consul_backup/nomad/postgres/members/pg-odroid8 b/consul_backup/nomad/postgres/members/pg-odroid8 index ab12e94..e2e482f 100644 --- a/consul_backup/nomad/postgres/members/pg-odroid8 +++ b/consul_backup/nomad/postgres/members/pg-odroid8 @@ -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} \ No newline at end of file +{"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} \ No newline at end of file diff --git a/consul_backup/nomad/postgres/members/pg-opti1 b/consul_backup/nomad/postgres/members/pg-opti1 index f71b3b5..1c9b321 100644 --- a/consul_backup/nomad/postgres/members/pg-opti1 +++ b/consul_backup/nomad/postgres/members/pg-opti1 @@ -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} \ No newline at end of file +{"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} \ No newline at end of file diff --git a/consul_backup/nomad/postgres/status b/consul_backup/nomad/postgres/status index 380a966..1273716 100644 --- a/consul_backup/nomad/postgres/status +++ b/consul_backup/nomad/postgres/status @@ -1 +1 @@ -{"optime":683034885824,"slots":{"pg_odroid7":683034885824,"pg_opti1":683034885824,"pg_odroid8":683034885824},"retain_slots":["pg_odroid7","pg_odroid8","pg_opti1"]} \ No newline at end of file +{"optime":685234320552,"slots":{"pg_odroid7":685234320552,"pg_opti1":685234320552,"pg_odroid8":685234320552},"retain_slots":["pg_odroid7","pg_odroid8","pg_opti1"]} \ No newline at end of file diff --git a/consul_backup/prometheus_yml b/consul_backup/prometheus_yml index 2be587f..3ad714a 100644 --- a/consul_backup/prometheus_yml +++ b/consul_backup/prometheus_yml @@ -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}' \ No newline at end of file + 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} \ No newline at end of file diff --git a/nomad_backup/jfs-node.hcl b/nomad_backup/jfs-node.hcl index 93c7b8b..60815d9 100644 --- a/nomad_backup/jfs-node.hcl +++ b/nomad_backup/jfs-node.hcl @@ -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" } } } diff --git a/nomad_backup/navidrome.hcl b/nomad_backup/navidrome.hcl index be578ad..a82444d 100644 --- a/nomad_backup/navidrome.hcl +++ b/nomad_backup/navidrome.hcl @@ -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" }