Add metallb to try things out
Signed-off-by: Nicolas Belouin <nicolas.belouin@suse.com>
This commit is contained in:
448
metallb-chart/values.schema.json
Normal file
448
metallb-chart/values.schema.json
Normal file
@@ -0,0 +1,448 @@
|
||||
{
|
||||
"$schema": "https://json-schema.org/draft-07/schema#",
|
||||
"title": "Values",
|
||||
"type": "object",
|
||||
"definitions": {
|
||||
"prometheusAlert": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"enabled": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"labels": {
|
||||
"type": "object",
|
||||
"additionalProperties": { "type": "string" }
|
||||
}
|
||||
},
|
||||
"required": [ "enabled" ]
|
||||
},
|
||||
"probe": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"enabled": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"failureThreshold": {
|
||||
"type": "integer"
|
||||
},
|
||||
"initialDelaySeconds": {
|
||||
"type": "integer"
|
||||
},
|
||||
"periodSeconds": {
|
||||
"type": "integer"
|
||||
},
|
||||
"successThreshold": {
|
||||
"type": "integer"
|
||||
},
|
||||
"timeoutSeconds": {
|
||||
"type": "integer"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"failureThreshold",
|
||||
"initialDelaySeconds",
|
||||
"periodSeconds",
|
||||
"successThreshold",
|
||||
"timeoutSeconds"
|
||||
]
|
||||
},
|
||||
"component": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"enabled": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"logLevel": {
|
||||
"type": "string",
|
||||
"enum": [ "all", "debug", "info", "warn", "error", "none" ]
|
||||
},
|
||||
"image": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"repository": {
|
||||
"type": "string"
|
||||
},
|
||||
"tag": {
|
||||
"anyOf": [
|
||||
{ "type": "string" },
|
||||
{ "type": "null" }
|
||||
]
|
||||
},
|
||||
"pullPolicy": {
|
||||
"anyOf": [
|
||||
{
|
||||
"type": "null"
|
||||
},
|
||||
{
|
||||
"type": "string",
|
||||
"enum": [ "Always", "IfNotPresent", "Never" ]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
"serviceAccount": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"create": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"name": {
|
||||
"type": "string"
|
||||
},
|
||||
"annotations": {
|
||||
"type": "object"
|
||||
}
|
||||
}
|
||||
},
|
||||
"resources": {
|
||||
"type": "object"
|
||||
},
|
||||
"nodeSelector": {
|
||||
"type": "object"
|
||||
},
|
||||
"tolerations": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "object"
|
||||
}
|
||||
},
|
||||
"priorityClassName": {
|
||||
"type":"string"
|
||||
},
|
||||
"runtimeClassName": {
|
||||
"type":"string"
|
||||
},
|
||||
"affinity": {
|
||||
"type": "object"
|
||||
},
|
||||
"podAnnotations": {
|
||||
"type": "object"
|
||||
},
|
||||
"livenessProbe": {
|
||||
"$ref": "#/definitions/probe"
|
||||
},
|
||||
"readinessProbe": {
|
||||
"$ref": "#/definitions/probe"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"image",
|
||||
"serviceAccount"
|
||||
]
|
||||
}
|
||||
},
|
||||
"properties": {
|
||||
"imagePullSecrets": {
|
||||
"description": "Secrets used for pulling images",
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"name": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"required": [ "name" ],
|
||||
"additionalProperties": false
|
||||
}
|
||||
},
|
||||
"nameOverride": {
|
||||
"description": "Override chart name",
|
||||
"type": "string"
|
||||
},
|
||||
"fullNameOverride": {
|
||||
"description": "Override fully qualified app name",
|
||||
"type": "string"
|
||||
},
|
||||
"configInLine": {
|
||||
"description": "MetalLB configuration",
|
||||
"type": "object"
|
||||
},
|
||||
"loadBalancerClass": {
|
||||
"type":"string"
|
||||
},
|
||||
"rbac": {
|
||||
"description": "RBAC configuration",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"create": {
|
||||
"description": "Enable RBAC",
|
||||
"type": "boolean"
|
||||
}
|
||||
}
|
||||
},
|
||||
"prometheus": {
|
||||
"description": "Prometheus monitoring config",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"scrapeAnnotations": { "type": "boolean" },
|
||||
"metricsPort": { "type": "integer" },
|
||||
"secureMetricsPort": { "type": "integer" },
|
||||
"rbacPrometheus": { "type": "boolean" },
|
||||
"serviceAccount": { "type": "string" },
|
||||
"namespace": { "type": "string" },
|
||||
"rbacProxy": {
|
||||
"description": "kube-rbac-proxy configuration",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"repository": { "type": "string" },
|
||||
"tag": { "type": "string" }
|
||||
}
|
||||
},
|
||||
"podMonitor": {
|
||||
"description": "Prometheus Operator PodMonitors",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"enabled": { "type": "boolean" },
|
||||
"additionalMonitors": { "type": "object" },
|
||||
"jobLabel": { "type": "string" },
|
||||
"interval": {
|
||||
"anyOf": [
|
||||
{ "type": "integer" },
|
||||
{ "type": "null" }
|
||||
]
|
||||
},
|
||||
"metricRelabelings": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "object"
|
||||
}
|
||||
},
|
||||
"relabelings": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "object"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"serviceMonitor": {
|
||||
"description": "Prometheus Operator ServiceMonitors",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"enabled": { "type": "boolean" },
|
||||
"jobLabel": { "type": "string" },
|
||||
"interval": {
|
||||
"anyOf": [
|
||||
{ "type": "integer" },
|
||||
{ "type": "null" }
|
||||
]
|
||||
},
|
||||
"metricRelabelings": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "object"
|
||||
}
|
||||
},
|
||||
"relabelings": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "object"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"prometheusRule": {
|
||||
"description": "Prometheus Operator alertmanager alerts",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"enabled": { "type": "boolean" },
|
||||
"additionalMonitors": { "type": "object" },
|
||||
"staleConfig": { "$ref": "#/definitions/prometheusAlert" },
|
||||
"configNotLoaded": { "$ref": "#/definitions/prometheusAlert" },
|
||||
"addressPoolExhausted": { "$ref": "#/definitions/prometheusAlert" },
|
||||
"addressPoolUsage": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"enabled": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"thresholds": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"percent": {
|
||||
"type": "integer",
|
||||
"minimum": 0,
|
||||
"maximum": 100
|
||||
},
|
||||
"labels": {
|
||||
"type": "object",
|
||||
"additionalProperties": { "type": "string" }
|
||||
}
|
||||
},
|
||||
"required": [ "percent" ]
|
||||
}
|
||||
}
|
||||
},
|
||||
"required": [ "enabled" ]
|
||||
},
|
||||
"bgpSessionDown": { "$ref": "#/definitions/prometheusAlert" },
|
||||
"extraAlerts": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "object"
|
||||
}
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"enabled",
|
||||
"staleConfig",
|
||||
"configNotLoaded",
|
||||
"addressPoolExhausted",
|
||||
"addressPoolUsage",
|
||||
"bgpSessionDown"
|
||||
]
|
||||
}
|
||||
},
|
||||
"required": [ "podMonitor", "prometheusRule" ]
|
||||
},
|
||||
"controller": {
|
||||
"allOf": [
|
||||
{ "$ref": "#/definitions/component" },
|
||||
{ "description": "MetalLB Controller",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"strategy": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"type": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"required": [ "type" ]
|
||||
},
|
||||
"command" : {
|
||||
"type": "string"
|
||||
},
|
||||
"webhookMode" : {
|
||||
"type": "string"
|
||||
},
|
||||
"extraContainers": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "object"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"speaker": {
|
||||
"allOf": [
|
||||
{ "$ref": "#/definitions/component" },
|
||||
{ "description": "MetalLB Speaker",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"tolerateMaster": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"memberlist": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"enabled": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"mlBindPort": {
|
||||
"type": "integer"
|
||||
},
|
||||
"mlBindAddrOverride": {
|
||||
"type": "string"
|
||||
},
|
||||
"mlSecretKeyPath": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
"excludeInterfaces": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"enabled": {
|
||||
"type": "boolean"
|
||||
}
|
||||
}
|
||||
},
|
||||
"ignoreExcludeLB": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"updateStrategy": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"type": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"required": [ "type" ]
|
||||
},
|
||||
"runtimeClassName": {
|
||||
"type": "string"
|
||||
},
|
||||
"securityContext": {
|
||||
"type": "object"
|
||||
},
|
||||
"secretName": {
|
||||
"type": "string"
|
||||
},
|
||||
"frr": {
|
||||
"description": "Install FRR container in speaker deployment",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"enabled": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"image": { "$ref": "#/definitions/component/properties/image" },
|
||||
"metricsPort": { "type": "integer" },
|
||||
"secureMetricsPort": { "type": "integer" },
|
||||
"resources:": { "type": "object" }
|
||||
},
|
||||
"required": [ "enabled" ]
|
||||
},
|
||||
"command" : {
|
||||
"type": "string"
|
||||
},
|
||||
"reloader": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"resources": { "type": "object" }
|
||||
}
|
||||
},
|
||||
"frrMetrics": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"resources": { "type": "object" }
|
||||
}
|
||||
},
|
||||
"extraContainers": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "object"
|
||||
}
|
||||
}
|
||||
},
|
||||
"required": [ "tolerateMaster" ]
|
||||
}
|
||||
]
|
||||
},
|
||||
"crds": {
|
||||
"description": "CRD configuration",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"enabled": {
|
||||
"description": "Enable CRDs",
|
||||
"type": "boolean"
|
||||
},
|
||||
"validationFailurePolicy": {
|
||||
"description": "Failure policy to use with validating webhooks",
|
||||
"type": "string",
|
||||
"enum": [ "Ignore", "Fail" ]
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"controller",
|
||||
"speaker"
|
||||
]
|
||||
}
|
Reference in New Issue
Block a user