3fecf4c713
internal/localapi: per-guest local-API server (doc 03 §6) — 7 self-scoped endpoints, hashed per-guest token store, persisted self-signed leaf with stable SHA-256 pin, optional 6th daemon goroutine. internal/provision: back-half — mint token, render bootstrap.json (no registry cred), write 0600, chown 100000:100000, attach pct-set bind mount (host-side, F3, no pct exec). --selftest=provision. build-golden.sh bakes the controller image + bootstrap unit. sudoers FELHOM_PROVISION; firewall narrowing artifact. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
57 lines
1.5 KiB
JSON
57 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"
|
|
},
|
|
"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"
|
|
}
|