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,

View File

@@ -641,7 +641,7 @@ definitions:
no_loading_page:
type: boolean
proxmox:
$ref: '#/definitions/ProxmoxConfig'
$ref: '#/definitions/ProxmoxNodeConfig'
start_endpoint:
description: Optional path that must be hit to start container
type: string
@@ -933,10 +933,12 @@ definitions:
- ProviderTypeDocker
- ProviderTypeFile
- ProviderTypeAgent
ProxmoxConfig:
ProxmoxNodeConfig:
properties:
node:
type: string
service:
type: string
vmid:
type: integer
required:
@@ -1050,6 +1052,10 @@ definitions:
description: for backward compatibility
type: string
x-nullable: true
proxmox:
allOf:
- $ref: '#/definitions/ProxmoxNodeConfig'
x-nullable: true
purl:
type: string
response_header_timeout:
@@ -1849,6 +1855,10 @@ definitions:
description: for backward compatibility
type: string
x-nullable: true
proxmox:
allOf:
- $ref: '#/definitions/ProxmoxNodeConfig'
x-nullable: true
purl:
type: string
response_header_timeout: