refactor(proxmox): consolidate NodeConfig and add service field

Centralize Proxmox node configuration by moving `ProxmoxConfig` from `internal/types/idlewatcher.go` to a new `NodeConfig` struct in `internal/proxmox/node.go`.

- Add `proxmox` field to route; allowing `proxy.app.proxmox` labels and corresponding route file config
- Added `service` optional field to NodeConfig for service identification
- Integrated Proxmox config directly into Route struct with proper validation
- Propagate Proxmox settings to Idlewatcher during route validation
- Updated swagger documentation to reflect schema changes
This commit is contained in:
yusing
2026-01-24 21:33:47 +08:00
parent ea6543b3f9
commit e3001a70ed
5 changed files with 48 additions and 10 deletions

View File

@@ -3750,7 +3750,7 @@
"x-omitempty": false
},
"proxmox": {
"$ref": "#/definitions/ProxmoxConfig",
"$ref": "#/definitions/ProxmoxNodeConfig",
"x-nullable": false,
"x-omitempty": false
},
@@ -4369,7 +4369,7 @@
"x-nullable": false,
"x-omitempty": false
},
"ProxmoxConfig": {
"ProxmoxNodeConfig": {
"type": "object",
"required": [
"node",
@@ -4381,6 +4381,9 @@
"x-nullable": false,
"x-omitempty": false
},
"service": {
"type": "string"
},
"vmid": {
"type": "integer",
"x-nullable": false,
@@ -4600,6 +4603,14 @@
"type": "string",
"x-nullable": true
},
"proxmox": {
"allOf": [
{
"$ref": "#/definitions/ProxmoxNodeConfig"
}
],
"x-nullable": true
},
"purl": {
"type": "string",
"x-nullable": false,
@@ -6069,6 +6080,14 @@
"type": "string",
"x-nullable": true
},
"proxmox": {
"allOf": [
{
"$ref": "#/definitions/ProxmoxNodeConfig"
}
],
"x-nullable": true
},
"purl": {
"type": "string",
"x-nullable": false,