nginx-proxy-manager/backend/internal/api/schema/create_upstream.go
Jamie Curnow 5e5f0de0e2 - Added upstream objects
- Renamed host templates to nginx templates
- Generate upstream templates
- Better nginx error reporting when reloading
- Use tparse for golang test reporting
2023-01-04 15:53:52 +10:00

74 lines
1.2 KiB
Go

package schema
import "fmt"
// CreateUpstream is the schema for incoming data validation
func CreateUpstream() string {
return fmt.Sprintf(`
{
"type": "object",
"additionalProperties": false,
"required": [
"name",
"servers",
"nginx_template_id"
],
"properties": {
"name": %s,
"nginx_template_id": {
"type": "integer",
"minimum": 1
},
"advanced_config": %s,
"ip_hash": {
"type": "boolean"
},
"ntlm": {
"type": "boolean"
},
"keepalive": {
"type": "integer"
},
"keepalive_requests": {
"type": "integer"
},
"keepalive_time": {
"type": "string"
},
"keepalive_timeout": {
"type": "string"
},
"servers": {
"type": "array",
"minItems": 1,
"items": {
"type": "object",
"additionalProperties": false,
"required": [
"server"
],
"properties": {
"server": %s,
"weight": {
"type": "integer"
},
"max_conns": {
"type": "integer"
},
"max_fails": {
"type": "integer"
},
"fail_timeout": {
"type": "integer"
},
"backup": {
"type": "boolean"
}
}
}
}
}
}
`, stringMinMax(1, 100), stringMinMax(0, 1024), stringMinMax(2, 255))
}