33dfd9afb3
internal/localapi: real /backup/due (cadence; due when no successful backup or newest older than backup.backup_cadence_seconds; false in-window after success; failed doesn't count) + /backup/status phases (idle|running|done|failed + job id) + POST /backup single-flight with job id. Drives the controller quiesce loop. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
58 lines
1.5 KiB
JSON
58 lines
1.5 KiB
JSON
{
|
|
"proxmox": {
|
|
"endpoint": "https://127.0.0.1:8006",
|
|
"node": "demo-felhom",
|
|
"token": "felhom-agent@pve!agent=REPLACE_WITH_SECRET",
|
|
"tls": {
|
|
"ca_file": "",
|
|
"fingerprint": "BA:7C:99:7D:45:D0:67:91:E2:F2:72:74:6E:D6:9F:83:51:D1:61:E5:C3:BD:F6:A0:B8:0B:E3:D8:DB:89:5B:CF",
|
|
"insecure_skip_verify": false
|
|
}
|
|
},
|
|
"privileged": {
|
|
"mode": "sudo",
|
|
"sudo_path": "sudo"
|
|
},
|
|
"authz": {
|
|
"nonce_store_path": "/var/lib/felhom-agent/nonces.log",
|
|
"signers": [
|
|
{
|
|
"key_id": "felhom-op-1",
|
|
"role": "operational",
|
|
"public_key": "ssh-ed25519 AAAA... felhom-op-1"
|
|
},
|
|
{
|
|
"key_id": "felhom-recovery-1",
|
|
"role": "recovery",
|
|
"public_key": "ssh-ed25519 AAAA... felhom-recovery-1"
|
|
}
|
|
]
|
|
},
|
|
"hub": {
|
|
"url": "https://hub.felhom.eu",
|
|
"host_id": "demo-host-01",
|
|
"api_key": "REPLACE_WITH_PER_HOST_HUB_KEY",
|
|
"poll_seconds": 900,
|
|
"timeout_seconds": 30,
|
|
"ca_file": ""
|
|
},
|
|
"backup": {
|
|
"local_backup_target": "local",
|
|
"restore_storage": "local-lvm",
|
|
"restore_test_cadence_seconds": 0,
|
|
"scratch_vmid_min": 990000,
|
|
"scratch_vmid_max": 990009,
|
|
"pbs_verify_cadence_seconds": 0,
|
|
"pbs_secret_dir": "/etc/pve/priv/storage",
|
|
"backup_cadence_seconds": 0
|
|
},
|
|
"local_api": {
|
|
"enable": true,
|
|
"listen_addr": "192.168.0.162:8443",
|
|
"cert_file": "/var/lib/felhom-agent/local-api.crt",
|
|
"key_file": "/var/lib/felhom-agent/local-api.key",
|
|
"token_store": "/var/lib/felhom-agent/local-tokens.log"
|
|
},
|
|
"log_level": "info"
|
|
}
|