77 lines
2.4 KiB
JSON
77 lines
2.4 KiB
JSON
{
|
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
"type": "object",
|
|
"required": ["apache", "image", "metrics", "persistence", "service", "ingress"],
|
|
"properties": {
|
|
"replicaCount": { "type": "integer", "minimum": 1 },
|
|
"fullnameOverride": { "type": "string" },
|
|
"apache": {
|
|
"type": "object",
|
|
"required": ["serverAdmin", "statusPort"],
|
|
"properties": {
|
|
"serverAdmin": { "type": "string", "minLength": 3 },
|
|
"statusPort": { "type": "integer", "minimum": 1, "maximum": 65535 }
|
|
}
|
|
},
|
|
"image": {
|
|
"type": "object",
|
|
"required": ["repository", "tag", "pullPolicy"],
|
|
"properties": {
|
|
"repository": { "type": "string", "minLength": 1 },
|
|
"tag": { "type": "string" },
|
|
"pullPolicy": { "enum": ["Always", "IfNotPresent", "Never"] }
|
|
}
|
|
},
|
|
"metrics": {
|
|
"type": "object",
|
|
"required": ["enabled", "image", "port", "serviceMonitor", "prometheusRule"],
|
|
"properties": {
|
|
"enabled": { "type": "boolean" },
|
|
"port": { "type": "integer", "minimum": 1, "maximum": 65535 },
|
|
"image": {
|
|
"type": "object",
|
|
"required": ["repository", "tag", "pullPolicy"],
|
|
"properties": {
|
|
"repository": { "type": "string", "minLength": 1 },
|
|
"tag": { "type": "string", "minLength": 1 },
|
|
"pullPolicy": { "enum": ["Always", "IfNotPresent", "Never"] }
|
|
}
|
|
},
|
|
"serviceMonitor": {
|
|
"type": "object",
|
|
"required": ["enabled", "interval", "scrapeTimeout"],
|
|
"properties": {
|
|
"enabled": { "type": "boolean" },
|
|
"interval": { "type": "string", "minLength": 2 },
|
|
"scrapeTimeout": { "type": "string", "minLength": 2 }
|
|
}
|
|
},
|
|
"prometheusRule": {
|
|
"type": "object",
|
|
"required": ["enabled"],
|
|
"properties": {
|
|
"enabled": { "type": "boolean" }
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"persistence": {
|
|
"type": "object",
|
|
"required": ["enabled", "existingClaim", "mountPath"],
|
|
"properties": {
|
|
"enabled": { "type": "boolean" },
|
|
"existingClaim": { "type": "string" },
|
|
"mountPath": { "type": "string", "minLength": 1 },
|
|
"retain": { "type": "boolean" }
|
|
}
|
|
},
|
|
"ingress": {
|
|
"type": "object",
|
|
"required": ["enabled"],
|
|
"properties": {
|
|
"enabled": { "type": "boolean" }
|
|
}
|
|
}
|
|
}
|
|
}
|