68 lines
1.5 KiB
JSON
68 lines
1.5 KiB
JSON
{
|
|
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
"type": "object",
|
|
"properties": {
|
|
"replicaCount": {
|
|
"type": "integer",
|
|
"minimum": 1
|
|
},
|
|
"image": {
|
|
"type": "object",
|
|
"required": ["repository", "pullPolicy"],
|
|
"properties": {
|
|
"repository": { "type": "string", "minLength": 1 },
|
|
"tag": { "type": "string" },
|
|
"pullPolicy": {
|
|
"type": "string",
|
|
"enum": ["Always", "IfNotPresent", "Never"]
|
|
}
|
|
}
|
|
},
|
|
"service": {
|
|
"type": "object",
|
|
"required": ["type", "port", "containerPort"],
|
|
"properties": {
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["ClusterIP", "NodePort", "LoadBalancer"]
|
|
},
|
|
"port": { "type": "integer", "minimum": 1, "maximum": 65535 },
|
|
"containerPort": { "type": "integer", "minimum": 1, "maximum": 65535 }
|
|
}
|
|
},
|
|
"honcho": {
|
|
"type": "object",
|
|
"properties": {
|
|
"defaultUrl": { "type": "string" },
|
|
"upstreamAllowlist": { "type": "string" }
|
|
}
|
|
},
|
|
"autoscaling": {
|
|
"type": "object",
|
|
"properties": {
|
|
"enabled": { "type": "boolean" },
|
|
"minReplicas": { "type": "integer", "minimum": 1 },
|
|
"maxReplicas": { "type": "integer", "minimum": 1 },
|
|
"targetCPUUtilizationPercentage": {
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"maximum": 100
|
|
}
|
|
}
|
|
},
|
|
"podDisruptionBudget": {
|
|
"type": "object",
|
|
"properties": {
|
|
"enabled": { "type": "boolean" },
|
|
"minAvailable": { "type": "integer", "minimum": 0 }
|
|
}
|
|
},
|
|
"networkPolicy": {
|
|
"type": "object",
|
|
"properties": {
|
|
"enabled": { "type": "boolean" }
|
|
}
|
|
}
|
|
}
|
|
}
|