1813 lines
53 KiB
JSON
1813 lines
53 KiB
JSON
{
|
|
"$schema": "https://json-schema.org/draft/2019-09/schema",
|
|
"type": "object",
|
|
"default": {},
|
|
"title": "Root Schema",
|
|
"required": [
|
|
"controller",
|
|
"rbac",
|
|
"prometheus",
|
|
"serviceInsight",
|
|
"nginxServiceMesh"
|
|
],
|
|
"properties": {
|
|
"controller": {
|
|
"type": "object",
|
|
"default": {},
|
|
"title": "The Ingress Controller Helm Schema",
|
|
"required": [
|
|
"name",
|
|
"kind",
|
|
"image"
|
|
],
|
|
"properties": {
|
|
"name": {
|
|
"type": "string",
|
|
"default": "",
|
|
"title": "The name of the Ingress Controller",
|
|
"examples": [
|
|
"controller"
|
|
]
|
|
},
|
|
"kind": {
|
|
"type": "string",
|
|
"default": "",
|
|
"title": "The kind of the Ingress Controller",
|
|
"enum": [
|
|
"deployment",
|
|
"daemonset"
|
|
],
|
|
"examples": [
|
|
"deployment",
|
|
"daemonset"
|
|
]
|
|
},
|
|
"selectorLabels": {
|
|
"type": "object",
|
|
"default": {},
|
|
"title": "The selectorLabels Schema",
|
|
"$ref": "https://raw.githubusercontent.com/nginxinc/kubernetes-json-schema/master/v1.27.4/_definitions.json#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.LabelSelector/properties/matchLabels"
|
|
},
|
|
"annotations": {
|
|
"type": "object",
|
|
"default": {},
|
|
"title": "The annotations Schema",
|
|
"$ref": "https://raw.githubusercontent.com/nginxinc/kubernetes-json-schema/master/v1.27.4/_definitions.json#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta/properties/annotations"
|
|
},
|
|
"nginxplus": {
|
|
"type": "boolean",
|
|
"default": false,
|
|
"title": "Deploys the Ingress Controller for NGINX Plus",
|
|
"examples": [
|
|
false,
|
|
true
|
|
]
|
|
},
|
|
"nginxReloadTimeout": {
|
|
"type": "integer",
|
|
"default": 0,
|
|
"title": "Timeout in milliseconds which the Ingress Controller will wait for a successful NGINX reload after a change or at the initial start",
|
|
"examples": [
|
|
60000
|
|
]
|
|
},
|
|
"appprotect": {
|
|
"type": "object",
|
|
"default": {},
|
|
"title": "The App Protect WAF Schema",
|
|
"required": [
|
|
"enable"
|
|
],
|
|
"properties": {
|
|
"enable": {
|
|
"type": "boolean",
|
|
"default": false,
|
|
"title": "Enable the App Protect WAF module in the Ingress Controller",
|
|
"examples": [
|
|
false,
|
|
true
|
|
]
|
|
},
|
|
"logLevel": {
|
|
"type": "string",
|
|
"default": "",
|
|
"title": "The logLevel for App Protect WAF",
|
|
"enum": [
|
|
"fatal",
|
|
"error",
|
|
"warn",
|
|
"info",
|
|
"debug",
|
|
"trace"
|
|
],
|
|
"examples": [
|
|
"fatal",
|
|
"error",
|
|
"warn",
|
|
"info",
|
|
"debug",
|
|
"trace"
|
|
]
|
|
}
|
|
},
|
|
"examples": [
|
|
{
|
|
"enable": true,
|
|
"logLevel": "fatal"
|
|
}
|
|
]
|
|
},
|
|
"appprotectdos": {
|
|
"type": "object",
|
|
"default": {},
|
|
"title": "The App Protect DoS Schema",
|
|
"required": [
|
|
"enable"
|
|
],
|
|
"properties": {
|
|
"enable": {
|
|
"type": "boolean",
|
|
"default": false,
|
|
"title": "Enable the App Protect DoS module in the Ingress Controller",
|
|
"examples": [
|
|
false,
|
|
true
|
|
]
|
|
},
|
|
"debug": {
|
|
"type": "boolean",
|
|
"default": false,
|
|
"title": "debugging for App Protect DoS",
|
|
"examples": [
|
|
false,
|
|
true
|
|
]
|
|
},
|
|
"maxWorkers": {
|
|
"type": "integer",
|
|
"default": 0,
|
|
"title": "Max number of nginx processes to support",
|
|
"examples": [
|
|
0
|
|
]
|
|
},
|
|
"maxDaemons": {
|
|
"type": "integer",
|
|
"default": 0,
|
|
"title": "Max number of ADMD instances",
|
|
"examples": [
|
|
0
|
|
]
|
|
},
|
|
"memory": {
|
|
"type": "integer",
|
|
"default": 0,
|
|
"title": "RAM memory size to consume in MB",
|
|
"examples": [
|
|
0
|
|
]
|
|
}
|
|
},
|
|
"examples": [
|
|
{
|
|
"enable": true,
|
|
"debug": false,
|
|
"maxWorkers": 0,
|
|
"maxDaemons": 0,
|
|
"memory": 0
|
|
}
|
|
]
|
|
},
|
|
"hostNetwork": {
|
|
"type": "boolean",
|
|
"default": false,
|
|
"title": "The hostNetwork Schema",
|
|
"examples": [
|
|
false,
|
|
true
|
|
]
|
|
},
|
|
"hostPort": {
|
|
"type": "object",
|
|
"default": {},
|
|
"title": "The hostPort Schema",
|
|
"patternProperties": {
|
|
"^.*$": {
|
|
"anyOf": [
|
|
{
|
|
"$ref": "https://raw.githubusercontent.com/nginxinc/kubernetes-json-schema/master/v1.27.4/_definitions.json#/definitions/io.k8s.api.core.v1.ContainerPort/properties/hostPort"
|
|
},
|
|
{
|
|
"type": "boolean"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"containerPort": {
|
|
"type": "object",
|
|
"default": {},
|
|
"title": "The containerPort Schema",
|
|
"patternProperties": {
|
|
"^.*$": {
|
|
"$ref": "https://raw.githubusercontent.com/nginxinc/kubernetes-json-schema/master/v1.27.4/_definitions.json#/definitions/io.k8s.api.core.v1.ContainerPort/properties/containerPort"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"dnsPolicy": {
|
|
"type": "string",
|
|
"allOf": [
|
|
{
|
|
"$ref": "https://raw.githubusercontent.com/nginxinc/kubernetes-json-schema/master/v1.27.4/_definitions.json#/definitions/io.k8s.api.core.v1.PodSpec/properties/dnsPolicy"
|
|
},
|
|
{
|
|
"enum": [
|
|
"ClusterFirstWithHostNet",
|
|
"ClusterFirst",
|
|
"Default",
|
|
"None"
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"nginxDebug": {
|
|
"type": "boolean",
|
|
"default": false,
|
|
"title": "Enables debugging for NGINX",
|
|
"examples": [
|
|
false,
|
|
true
|
|
]
|
|
},
|
|
"logLevel": {
|
|
"type": "integer",
|
|
"default": 1,
|
|
"title": "The logLevel of the Ingress Controller",
|
|
"enum": [
|
|
0,
|
|
1,
|
|
2,
|
|
3
|
|
],
|
|
"examples": [
|
|
1
|
|
]
|
|
},
|
|
"customPorts": {
|
|
"type": "array",
|
|
"default": [],
|
|
"title": "The customPorts to expose on the NGINX Ingress Controller pod",
|
|
"items": {
|
|
"type": "object",
|
|
"$ref": "https://raw.githubusercontent.com/nginxinc/kubernetes-json-schema/master/v1.27.4/_definitions.json#/definitions/io.k8s.api.core.v1.ContainerPort"
|
|
},
|
|
"examples": [
|
|
[
|
|
{
|
|
"name": "http",
|
|
"containerPort": 80,
|
|
"protocol": "TCP"
|
|
},
|
|
{
|
|
"name": "https",
|
|
"containerPort": 443,
|
|
"protocol": "TCP"
|
|
}
|
|
]
|
|
]
|
|
},
|
|
"image": {
|
|
"type": "object",
|
|
"default": {},
|
|
"title": "The image Schema",
|
|
"required": [
|
|
"repository"
|
|
],
|
|
"properties": {
|
|
"repository": {
|
|
"type": "string",
|
|
"default": "nginx/nginx-ingress",
|
|
"title": "The repository of the Ingress Controller",
|
|
"examples": [
|
|
"nginx/nginx-ingress"
|
|
]
|
|
},
|
|
"tag": {
|
|
"type": "string",
|
|
"default": "2.3.1",
|
|
"title": "The tag of the Ingress Controller image",
|
|
"examples": [
|
|
"2.3.1"
|
|
]
|
|
},
|
|
"digest": {
|
|
"type": "string",
|
|
"default": "",
|
|
"title": "The digest of the Ingress Controller image",
|
|
"examples": [
|
|
"sha256:2710c264e8eaeb663cee63db37b75a1ac1709f63a130fb091c843a6c3a4dc572"
|
|
]
|
|
},
|
|
"pullPolicy": {
|
|
"type": "string",
|
|
"default": "IfNotPresent",
|
|
"title": "The pullPolicy for the Ingress Controller image",
|
|
"allOf": [
|
|
{
|
|
"$ref": "https://raw.githubusercontent.com/nginxinc/kubernetes-json-schema/master/v1.27.4/_definitions.json#/definitions/io.k8s.api.core.v1.Container/properties/imagePullPolicy"
|
|
},
|
|
{
|
|
"enum": [
|
|
"Always",
|
|
"IfNotPresent",
|
|
"Never"
|
|
]
|
|
}
|
|
],
|
|
"examples": [
|
|
"Always",
|
|
"IfNotPresent",
|
|
"Never"
|
|
]
|
|
}
|
|
},
|
|
"examples": [
|
|
{
|
|
"repository": "nginx/nginx-ingress",
|
|
"tag": "2.3.1",
|
|
"pullPolicy": "IfNotPresent"
|
|
}
|
|
]
|
|
},
|
|
"lifecycle": {
|
|
"type": "object",
|
|
"default": {},
|
|
"title": "The lifecycle Schema",
|
|
"$ref": "https://raw.githubusercontent.com/nginxinc/kubernetes-json-schema/master/v1.27.4/_definitions.json#/definitions/io.k8s.api.core.v1.Lifecycle"
|
|
},
|
|
"customConfigMap": {
|
|
"type": "string",
|
|
"default": "",
|
|
"title": "The customConfigMap Schema",
|
|
"examples": [
|
|
""
|
|
]
|
|
},
|
|
"config": {
|
|
"type": "object",
|
|
"default": {},
|
|
"title": "The config Schema",
|
|
"required": [],
|
|
"properties": {
|
|
"name": {
|
|
"type": "string",
|
|
"default": "",
|
|
"title": "The name Schema",
|
|
"examples": [
|
|
""
|
|
]
|
|
},
|
|
"annotations": {
|
|
"type": "object",
|
|
"default": {},
|
|
"title": "The annotations Schema",
|
|
"$ref": "https://raw.githubusercontent.com/nginxinc/kubernetes-json-schema/master/v1.27.4/_definitions.json#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta/properties/annotations"
|
|
},
|
|
"entries": {
|
|
"type": "object",
|
|
"default": {},
|
|
"title": "The entries Schema",
|
|
"required": [],
|
|
"properties": {},
|
|
"examples": [
|
|
{}
|
|
]
|
|
}
|
|
},
|
|
"examples": [
|
|
{
|
|
"name": "",
|
|
"annotations": {},
|
|
"entries": {}
|
|
}
|
|
]
|
|
},
|
|
"defaultTLS": {
|
|
"type": "object",
|
|
"default": {},
|
|
"title": "The defaultTLS Schema",
|
|
"required": [],
|
|
"properties": {
|
|
"cert": {
|
|
"type": "string",
|
|
"default": "",
|
|
"title": "The cert Schema",
|
|
"examples": []
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"default": "",
|
|
"title": "The key Schema",
|
|
"examples": []
|
|
},
|
|
"secret": {
|
|
"type": "string",
|
|
"default": "",
|
|
"title": "The secret Schema",
|
|
"examples": [
|
|
""
|
|
]
|
|
}
|
|
},
|
|
"examples": []
|
|
},
|
|
"wildcardTLS": {
|
|
"type": "object",
|
|
"default": {},
|
|
"title": "The wildcardTLS Schema",
|
|
"required": [],
|
|
"properties": {
|
|
"cert": {
|
|
"type": "string",
|
|
"default": "",
|
|
"title": "The cert Schema",
|
|
"examples": [
|
|
""
|
|
]
|
|
},
|
|
"key": {
|
|
"type": "string",
|
|
"default": "",
|
|
"title": "The key Schema",
|
|
"examples": [
|
|
""
|
|
]
|
|
},
|
|
"secret": {
|
|
"type": "string",
|
|
"default": "",
|
|
"title": "The secret Schema",
|
|
"examples": [
|
|
""
|
|
]
|
|
}
|
|
},
|
|
"examples": []
|
|
},
|
|
"nodeSelector": {
|
|
"type": "object",
|
|
"default": {},
|
|
"title": "The nodeSelector Schema",
|
|
"$ref": "https://raw.githubusercontent.com/nginxinc/kubernetes-json-schema/master/v1.27.4/_definitions.json#/definitions/io.k8s.api.core.v1.PodSpec/properties/nodeSelector"
|
|
},
|
|
"terminationGracePeriodSeconds": {
|
|
"type": "integer",
|
|
"default": 30,
|
|
"title": "The terminationGracePeriodSeconds Schema",
|
|
"$ref": "https://raw.githubusercontent.com/nginxinc/kubernetes-json-schema/master/v1.27.4/_definitions.json#/definitions/io.k8s.api.core.v1.PodSpec/properties/terminationGracePeriodSeconds"
|
|
},
|
|
"resources": {
|
|
"type": "object",
|
|
"default": {},
|
|
"title": "The resources Schema",
|
|
"$ref": "https://raw.githubusercontent.com/nginxinc/kubernetes-json-schema/master/v1.27.4/_definitions.json#/definitions/io.k8s.api.core.v1.ResourceRequirements"
|
|
},
|
|
"tolerations": {
|
|
"type": "array",
|
|
"default": [],
|
|
"title": "The tolerations Schema",
|
|
"items": {
|
|
"type": "object",
|
|
"$ref": "https://raw.githubusercontent.com/nginxinc/kubernetes-json-schema/master/v1.27.4/_definitions.json#/definitions/io.k8s.api.core.v1.Toleration"
|
|
}
|
|
},
|
|
"affinity": {
|
|
"type": "object",
|
|
"default": {},
|
|
"title": "The affinity Schema",
|
|
"$ref": "https://raw.githubusercontent.com/nginxinc/kubernetes-json-schema/master/v1.27.4/_definitions.json#/definitions/io.k8s.api.core.v1.Affinity"
|
|
},
|
|
"topologySpreadConstraints": {
|
|
"type": "object",
|
|
"default": {},
|
|
"title": "The topologySpreadConstraints Schema",
|
|
"$ref": "https://raw.githubusercontent.com/nginxinc/kubernetes-json-schema/master/v1.27.4/_definitions.json#/definitions/io.k8s.api.core.v1.PodSpec/properties/topologySpreadConstraints"
|
|
},
|
|
"env": {
|
|
"type": "array",
|
|
"default": [],
|
|
"title": "The env Schema",
|
|
"items": {
|
|
"type": "object",
|
|
"$ref": "https://raw.githubusercontent.com/nginxinc/kubernetes-json-schema/master/v1.27.4/_definitions.json#/definitions/io.k8s.api.core.v1.EnvVar"
|
|
}
|
|
},
|
|
"volumes": {
|
|
"type": "array",
|
|
"default": [],
|
|
"title": "The volumes Schema",
|
|
"items": {
|
|
"type": "object",
|
|
"$ref": "https://raw.githubusercontent.com/nginxinc/kubernetes-json-schema/master/v1.27.4/_definitions.json#/definitions/io.k8s.api.core.v1.Volume"
|
|
}
|
|
},
|
|
"volumeMounts": {
|
|
"type": "array",
|
|
"default": [],
|
|
"title": "The volumeMounts Schema",
|
|
"items": {
|
|
"type": "object",
|
|
"$ref": "https://raw.githubusercontent.com/nginxinc/kubernetes-json-schema/master/v1.27.4/_definitions.json#/definitions/io.k8s.api.core.v1.VolumeMount"
|
|
}
|
|
},
|
|
"initContainers": {
|
|
"type": "array",
|
|
"default": [],
|
|
"title": "The initContainers Schema",
|
|
"items": {
|
|
"type": "object",
|
|
"$ref": "https://raw.githubusercontent.com/nginxinc/kubernetes-json-schema/master/v1.27.4/_definitions.json#/definitions/io.k8s.api.core.v1.Container"
|
|
}
|
|
},
|
|
"minReadySeconds": {
|
|
"type": "integer",
|
|
"default": 0,
|
|
"title": "The minReadySeconds Schema",
|
|
"$ref": "https://raw.githubusercontent.com/nginxinc/kubernetes-json-schema/master/v1.27.4/_definitions.json#/definitions/io.k8s.api.apps.v1.DeploymentSpec/properties/minReadySeconds"
|
|
},
|
|
"strategy": {
|
|
"type": "object",
|
|
"default": {},
|
|
"title": "The strategy Schema",
|
|
"allOf": [
|
|
{
|
|
"$ref": "https://raw.githubusercontent.com/nginxinc/kubernetes-json-schema/master/v1.27.4/_definitions.json#/definitions/io.k8s.api.apps.v1.DeploymentStrategy"
|
|
},
|
|
{
|
|
"properties": {
|
|
"type": {
|
|
"type": "string",
|
|
"enum": [
|
|
"Recreate",
|
|
"RollingUpdate",
|
|
"OnDelete"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"extraContainers": {
|
|
"type": "array",
|
|
"default": [],
|
|
"title": "The extraContainers Schema",
|
|
"items": {
|
|
"type": "object",
|
|
"$ref": "https://raw.githubusercontent.com/nginxinc/kubernetes-json-schema/master/v1.27.4/_definitions.json#/definitions/io.k8s.api.core.v1.Container"
|
|
}
|
|
},
|
|
"replicaCount": {
|
|
"type": "integer",
|
|
"default": 1,
|
|
"title": "The replicaCount",
|
|
"examples": [
|
|
1
|
|
]
|
|
},
|
|
"ingressClass": {
|
|
"type": "object",
|
|
"default": {},
|
|
"title": "The ingressClass",
|
|
"required": [],
|
|
"properties": {
|
|
"create": {
|
|
"type": "boolean",
|
|
"default": true,
|
|
"title": "The create",
|
|
"examples": [
|
|
true
|
|
]
|
|
},
|
|
"name": {
|
|
"type": "string",
|
|
"default": "",
|
|
"title": "The ingressClass name",
|
|
"examples": [
|
|
"nginx"
|
|
]
|
|
},
|
|
"setAsDefaultIngress": {
|
|
"type": "boolean",
|
|
"default": false,
|
|
"title": "The setAsDefaultIngress",
|
|
"examples": [
|
|
false
|
|
]
|
|
}
|
|
}
|
|
},
|
|
"watchNamespace": {
|
|
"type": "string",
|
|
"default": "",
|
|
"title": "The watchNamespace",
|
|
"examples": [
|
|
""
|
|
]
|
|
},
|
|
"watchSecretNamespace": {
|
|
"type": "string",
|
|
"default": "",
|
|
"title": "The watchSecretNamespace",
|
|
"examples": [
|
|
""
|
|
]
|
|
},
|
|
"enableCustomResources": {
|
|
"type": "boolean",
|
|
"default": false,
|
|
"title": "The enableCustomResources",
|
|
"examples": [
|
|
true
|
|
]
|
|
},
|
|
"enablePreviewPolicies": {
|
|
"type": "boolean",
|
|
"default": false,
|
|
"title": "The enablePreviewPolicies",
|
|
"examples": [
|
|
false
|
|
]
|
|
},
|
|
"enableOIDC": {
|
|
"type": "boolean",
|
|
"default": false,
|
|
"title": "The enableOIDC",
|
|
"examples": [
|
|
false
|
|
]
|
|
},
|
|
"includeYear": {
|
|
"type": "boolean",
|
|
"default": false,
|
|
"title": "The includeYear",
|
|
"examples": [
|
|
false
|
|
]
|
|
},
|
|
"enableTLSPassthrough": {
|
|
"type": "boolean",
|
|
"default": false,
|
|
"title": "The enableTLSPassthrough",
|
|
"examples": [
|
|
false
|
|
]
|
|
},
|
|
"tlsPassthroughPort": {
|
|
"type": "integer",
|
|
"default": 443,
|
|
"title": "The tlsPassthroughPort",
|
|
"examples": [
|
|
443
|
|
]
|
|
},
|
|
"enableCertManager": {
|
|
"type": "boolean",
|
|
"default": false,
|
|
"title": "The enableCertManager",
|
|
"examples": [
|
|
false
|
|
]
|
|
},
|
|
"enableExternalDNS": {
|
|
"type": "boolean",
|
|
"default": false,
|
|
"title": "The enableExternalDNS",
|
|
"examples": [
|
|
false
|
|
]
|
|
},
|
|
"globalConfiguration": {
|
|
"type": "object",
|
|
"default": {},
|
|
"title": "The globalConfiguration Schema",
|
|
"required": [
|
|
"create",
|
|
"spec"
|
|
],
|
|
"properties": {
|
|
"create": {
|
|
"type": "boolean",
|
|
"default": false,
|
|
"title": "The create Schema",
|
|
"examples": [
|
|
false
|
|
]
|
|
},
|
|
"spec": {
|
|
"type": "object",
|
|
"default": {},
|
|
"title": "The spec Schema",
|
|
"required": [],
|
|
"properties": {
|
|
"listeners": {
|
|
"type": "array",
|
|
"default": [],
|
|
"title": "The listeners Schema",
|
|
"items": {
|
|
"type": "object",
|
|
"default": {},
|
|
"properties": {
|
|
"port": {
|
|
"type": "integer",
|
|
"default": 0,
|
|
"title": "The port",
|
|
"examples": [
|
|
5353
|
|
]
|
|
},
|
|
"protocol": {
|
|
"type": "string",
|
|
"default": "",
|
|
"title": "The protocol",
|
|
"examples": [
|
|
"TCP"
|
|
]
|
|
},
|
|
"name": {
|
|
"type": "string",
|
|
"default": "",
|
|
"title": "The name",
|
|
"examples": [
|
|
"dns-tcp"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"examples": [
|
|
{}
|
|
]
|
|
}
|
|
},
|
|
"examples": [
|
|
{
|
|
"create": false,
|
|
"spec": {}
|
|
}
|
|
]
|
|
},
|
|
"enableSnippets": {
|
|
"type": "boolean",
|
|
"default": false,
|
|
"title": "The enableSnippets",
|
|
"examples": [
|
|
false
|
|
]
|
|
},
|
|
"healthStatus": {
|
|
"type": "boolean",
|
|
"default": false,
|
|
"title": "The healthStatus",
|
|
"examples": [
|
|
false
|
|
]
|
|
},
|
|
"healthStatusURI": {
|
|
"type": "string",
|
|
"format": "uri-reference",
|
|
"default": "/nginx-health",
|
|
"title": "The healthStatusURI Schema",
|
|
"examples": [
|
|
"/nginx-health"
|
|
]
|
|
},
|
|
"nginxStatus": {
|
|
"type": "object",
|
|
"default": {},
|
|
"title": "The nginxStatus Schema",
|
|
"required": [],
|
|
"properties": {
|
|
"enable": {
|
|
"type": "boolean",
|
|
"default": false,
|
|
"title": "The enable",
|
|
"examples": [
|
|
true
|
|
]
|
|
},
|
|
"port": {
|
|
"type": "integer",
|
|
"default": 8080,
|
|
"title": "The port",
|
|
"examples": [
|
|
8080
|
|
]
|
|
},
|
|
"allowCidrs": {
|
|
"type": "string",
|
|
"default": "127.0.0.1",
|
|
"title": "The allowCidrs",
|
|
"examples": [
|
|
"127.0.0.1"
|
|
]
|
|
}
|
|
},
|
|
"examples": [
|
|
{
|
|
"enable": true,
|
|
"port": 8080,
|
|
"allowCidrs": "127.0.0.1"
|
|
}
|
|
]
|
|
},
|
|
"service": {
|
|
"type": "object",
|
|
"default": {},
|
|
"title": "The service Schema",
|
|
"required": [],
|
|
"properties": {
|
|
"create": {
|
|
"type": "boolean",
|
|
"default": false,
|
|
"title": "The create",
|
|
"examples": [
|
|
true
|
|
]
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"default": "",
|
|
"title": "The type",
|
|
"$ref": "https://raw.githubusercontent.com/nginxinc/kubernetes-json-schema/master/v1.27.4/_definitions.json#/definitions/io.k8s.api.core.v1.ServiceSpec/properties/type"
|
|
},
|
|
"externalTrafficPolicy": {
|
|
"type": "string",
|
|
"default": "",
|
|
"title": "The externalTrafficPolicy",
|
|
"$ref": "https://raw.githubusercontent.com/nginxinc/kubernetes-json-schema/master/v1.27.4/_definitions.json#/definitions/io.k8s.api.core.v1.ServiceSpec/properties/externalTrafficPolicy"
|
|
},
|
|
"annotations": {
|
|
"type": "object",
|
|
"default": {},
|
|
"title": "The annotations",
|
|
"$ref": "https://raw.githubusercontent.com/nginxinc/kubernetes-json-schema/master/v1.27.4/_definitions.json#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta/properties/annotations"
|
|
},
|
|
"extraLabels": {
|
|
"type": "object",
|
|
"default": {},
|
|
"title": "The extraLabels",
|
|
"required": [],
|
|
"properties": {},
|
|
"examples": [
|
|
{}
|
|
]
|
|
},
|
|
"loadBalancerIP": {
|
|
"type": "string",
|
|
"default": "",
|
|
"title": "The loadBalancerIP",
|
|
"$ref": "https://raw.githubusercontent.com/nginxinc/kubernetes-json-schema/master/v1.27.4/_definitions.json#/definitions/io.k8s.api.core.v1.ServiceSpec/properties/loadBalancerIP"
|
|
},
|
|
"externalIPs": {
|
|
"type": "array",
|
|
"default": [],
|
|
"title": "The externalIPs",
|
|
"$ref": "https://raw.githubusercontent.com/nginxinc/kubernetes-json-schema/master/v1.27.4/_definitions.json#/definitions/io.k8s.api.core.v1.ServiceSpec/properties/externalIPs"
|
|
},
|
|
"loadBalancerSourceRanges": {
|
|
"type": "array",
|
|
"default": [],
|
|
"title": "The loadBalancerSourceRanges",
|
|
"items": {},
|
|
"examples": [
|
|
[]
|
|
]
|
|
},
|
|
"allocateLoadBalancerNodePorts": {
|
|
"type": "boolean",
|
|
"default": false,
|
|
"title": "The allocateLoadBalancerNodePorts Schema",
|
|
"ref": "https://raw.githubusercontent.com/nginxinc/kubernetes-json-schema/master/v1.27.4/_definitions.json#/definitions/io.k8s.api.core.v1.ServiceSpec/properties/allocateLoadBalancerNodePorts"
|
|
},
|
|
"ipFamilyPolicy": {
|
|
"type": "string",
|
|
"default": "",
|
|
"title": "The ipFamilyPolicy Schema",
|
|
"$ref": "https://raw.githubusercontent.com/nginxinc/kubernetes-json-schema/master/v1.27.4/_definitions.json#/definitions/io.k8s.api.core.v1.ServiceSpec/properties/ipFamilyPolicy",
|
|
"examples": [
|
|
""
|
|
]
|
|
},
|
|
"ipFamilies": {
|
|
"type": "array",
|
|
"default": [],
|
|
"title": "The ipFamilies Schema",
|
|
"ref": "https://raw.githubusercontent.com/nginxinc/kubernetes-json-schema/master/v1.27.4/_definitions.json#/definitions/io.k8s.api.core.v1.ServiceSpec/properties/ipFamilies"
|
|
},
|
|
"httpPort": {
|
|
"type": "object",
|
|
"default": {},
|
|
"title": "The httpPort",
|
|
"required": [],
|
|
"properties": {
|
|
"enable": {
|
|
"type": "boolean",
|
|
"default": false,
|
|
"title": "The enable",
|
|
"examples": [
|
|
true
|
|
]
|
|
},
|
|
"port": {
|
|
"type": "integer",
|
|
"default": 0,
|
|
"title": "The port",
|
|
"examples": [
|
|
80
|
|
]
|
|
},
|
|
"nodePort": {
|
|
"type": "integer",
|
|
"default": 0,
|
|
"title": "The nodePort",
|
|
"examples": [
|
|
443
|
|
]
|
|
},
|
|
"targetPort": {
|
|
"type": "integer",
|
|
"default": 0,
|
|
"title": "The targetPort",
|
|
"examples": [
|
|
80
|
|
]
|
|
}
|
|
},
|
|
"examples": [
|
|
{
|
|
"enable": true,
|
|
"port": 80,
|
|
"nodePort": "",
|
|
"targetPort": 80
|
|
}
|
|
]
|
|
},
|
|
"httpsPort": {
|
|
"type": "object",
|
|
"default": {},
|
|
"title": "The httpsPort",
|
|
"required": [],
|
|
"properties": {
|
|
"enable": {
|
|
"type": "boolean",
|
|
"default": false,
|
|
"title": "The enable",
|
|
"examples": [
|
|
true
|
|
]
|
|
},
|
|
"port": {
|
|
"type": "integer",
|
|
"default": 0,
|
|
"title": "The port",
|
|
"examples": [
|
|
443
|
|
]
|
|
},
|
|
"nodePort": {
|
|
"type": "integer",
|
|
"default": 0,
|
|
"title": "The nodePort",
|
|
"examples": [
|
|
443
|
|
]
|
|
},
|
|
"targetPort": {
|
|
"type": "integer",
|
|
"default": 0,
|
|
"title": "The targetPort",
|
|
"examples": [
|
|
443
|
|
]
|
|
}
|
|
},
|
|
"examples": [
|
|
{
|
|
"enable": true,
|
|
"port": 443,
|
|
"nodePort": "",
|
|
"targetPort": 443
|
|
}
|
|
]
|
|
},
|
|
"customPorts": {
|
|
"type": "array",
|
|
"default": [],
|
|
"title": "The customPorts",
|
|
"items": {
|
|
"type": "object",
|
|
"ref": "https://raw.githubusercontent.com/nginxinc/kubernetes-json-schema/master/v1.27.4/_definitions.json#/definitions/io.k8s.api.core.v1.ServicePort"
|
|
}
|
|
}
|
|
},
|
|
"examples": [
|
|
{
|
|
"create": true,
|
|
"type": "LoadBalancer",
|
|
"externalTrafficPolicy": "Local",
|
|
"annotations": {},
|
|
"extraLabels": {},
|
|
"loadBalancerIP": "",
|
|
"externalIPs": [],
|
|
"loadBalancerSourceRanges": [],
|
|
"name": "",
|
|
"allocateLoadBalancerNodePorts": false,
|
|
"ipFamilyPolicy": "",
|
|
"ipFamilies": [],
|
|
"httpPort": {
|
|
"enable": true,
|
|
"port": 80,
|
|
"targetPort": 80
|
|
},
|
|
"httpsPort": {
|
|
"enable": true,
|
|
"port": 443,
|
|
"targetPort": 443
|
|
},
|
|
"customPorts": []
|
|
}
|
|
]
|
|
},
|
|
"serviceAccount": {
|
|
"type": "object",
|
|
"default": {},
|
|
"title": "The serviceAccount Schema",
|
|
"required": [],
|
|
"properties": {
|
|
"annotations": {
|
|
"type": "object",
|
|
"default": {},
|
|
"title": "The annotations Schema",
|
|
"$ref": "https://raw.githubusercontent.com/nginxinc/kubernetes-json-schema/master/v1.27.4/_definitions.json#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta/properties/annotations"
|
|
},
|
|
"name": {
|
|
"type": "string",
|
|
"default": "",
|
|
"title": "The name Schema",
|
|
"examples": [
|
|
""
|
|
]
|
|
},
|
|
"imagePullSecretName": {
|
|
"type": "string",
|
|
"default": "",
|
|
"title": "The imagePullSecretName",
|
|
"examples": [
|
|
""
|
|
]
|
|
}
|
|
},
|
|
"examples": [
|
|
{
|
|
"name": "",
|
|
"imagePullSecretName": ""
|
|
}
|
|
]
|
|
},
|
|
"reportIngressStatus": {
|
|
"type": "object",
|
|
"default": {},
|
|
"title": "The reportIngressStatus Schema",
|
|
"required": [
|
|
"enable"
|
|
],
|
|
"properties": {
|
|
"enable": {
|
|
"type": "boolean",
|
|
"default": false,
|
|
"title": "The enable",
|
|
"examples": [
|
|
true
|
|
]
|
|
},
|
|
"externalService": {
|
|
"type": "string",
|
|
"default": "",
|
|
"title": "The externalService",
|
|
"examples": [
|
|
""
|
|
]
|
|
},
|
|
"ingressLink": {
|
|
"type": "string",
|
|
"default": "",
|
|
"title": "The ingressLink",
|
|
"examples": [
|
|
""
|
|
]
|
|
},
|
|
"enableLeaderElection": {
|
|
"type": "boolean",
|
|
"default": false,
|
|
"title": "The enableLeaderElection",
|
|
"examples": [
|
|
true
|
|
]
|
|
},
|
|
"leaderElectionLockName": {
|
|
"type": "string",
|
|
"default": "",
|
|
"title": "The leaderElectionLockName",
|
|
"examples": [
|
|
""
|
|
]
|
|
},
|
|
"annotations": {
|
|
"type": "object",
|
|
"default": {},
|
|
"title": "The annotations Schema",
|
|
"$ref": "https://raw.githubusercontent.com/nginxinc/kubernetes-json-schema/master/v1.27.4/_definitions.json#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta/properties/annotations"
|
|
}
|
|
},
|
|
"examples": [
|
|
{
|
|
"enable": true,
|
|
"externalService": "",
|
|
"ingressLink": "",
|
|
"enableLeaderElection": true,
|
|
"leaderElectionLockName": "",
|
|
"annotations": {}
|
|
}
|
|
]
|
|
},
|
|
"pod": {
|
|
"type": "object",
|
|
"default": {},
|
|
"title": "The pod Schema",
|
|
"required": [],
|
|
"properties": {
|
|
"annotations": {
|
|
"type": "object",
|
|
"default": {},
|
|
"title": "The annotations Schema",
|
|
"$ref": "https://raw.githubusercontent.com/nginxinc/kubernetes-json-schema/master/v1.27.4/_definitions.json#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta/properties/annotations"
|
|
},
|
|
"extraLabels": {
|
|
"type": "object",
|
|
"default": {},
|
|
"title": "The extraLabels Schema",
|
|
"$ref": "https://raw.githubusercontent.com/nginxinc/kubernetes-json-schema/master/v1.27.4/_definitions.json#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta/properties/labels"
|
|
}
|
|
},
|
|
"examples": [
|
|
{
|
|
"annotations": {},
|
|
"extraLabels": {}
|
|
}
|
|
]
|
|
},
|
|
"priorityClassName": {
|
|
"type": "string",
|
|
"default": "",
|
|
"title": "The priorityClassName",
|
|
"$ref": "https://raw.githubusercontent.com/nginxinc/kubernetes-json-schema/master/v1.27.4/_definitions.json#/definitions/io.k8s.api.core.v1.PodSpec/properties/priorityClassName"
|
|
},
|
|
"podDisruptionBudget": {
|
|
"type": "object",
|
|
"default": {},
|
|
"title": "The podDisruptionBudget Schema",
|
|
"required": [
|
|
"enabled"
|
|
],
|
|
"properties": {
|
|
"enabled": {
|
|
"type": "boolean"
|
|
},
|
|
"annotations": {
|
|
"type": "object",
|
|
"default": {},
|
|
"title": "The annotations Schema",
|
|
"$ref": "https://raw.githubusercontent.com/nginxinc/kubernetes-json-schema/master/v1.27.4/_definitions.json#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta/properties/annotations"
|
|
},
|
|
"minAvailable": {
|
|
"$ref": "https://raw.githubusercontent.com/nginxinc/kubernetes-json-schema/master/v1.27.4/_definitions.json#/definitions/io.k8s.api.policy.v1.PodDisruptionBudgetSpec/properties/minAvailable"
|
|
},
|
|
"maxUnavailable": {
|
|
"$ref": "https://raw.githubusercontent.com/nginxinc/kubernetes-json-schema/master/v1.27.4/_definitions.json#/definitions/io.k8s.api.policy.v1.PodDisruptionBudgetSpec/properties/maxUnavailable"
|
|
}
|
|
},
|
|
"examples": [
|
|
{
|
|
"enable": true,
|
|
"minAvailable": 1
|
|
},
|
|
{
|
|
"enable": true,
|
|
"maxUnavailable": 1
|
|
}
|
|
]
|
|
},
|
|
"readyStatus": {
|
|
"type": "object",
|
|
"default": {},
|
|
"title": "The readyStatus",
|
|
"required": [],
|
|
"properties": {
|
|
"enable": {
|
|
"type": "boolean",
|
|
"default": false,
|
|
"title": "The enable",
|
|
"examples": [
|
|
true
|
|
]
|
|
},
|
|
"port": {
|
|
"type": "integer",
|
|
"default": 0,
|
|
"title": "The port",
|
|
"examples": [
|
|
8081
|
|
]
|
|
},
|
|
"initialDelaySeconds": {
|
|
"type": "integer",
|
|
"default": 0,
|
|
"$ref": "https://raw.githubusercontent.com/nginxinc/kubernetes-json-schema/master/v1.27.4/_definitions.json#/definitions/io.k8s.api.core.v1.Probe/properties/initialDelaySeconds"
|
|
}
|
|
},
|
|
"examples": [
|
|
{
|
|
"enable": true,
|
|
"port": 8081,
|
|
"initialDelaySeconds": 0
|
|
}
|
|
]
|
|
},
|
|
"enableLatencyMetrics": {
|
|
"type": "boolean",
|
|
"default": false,
|
|
"title": "The enableLatencyMetrics",
|
|
"examples": [
|
|
false
|
|
]
|
|
},
|
|
"disableIPV6": {
|
|
"type": "boolean",
|
|
"default": false,
|
|
"title": "The disableIPV6",
|
|
"examples": [
|
|
false
|
|
]
|
|
},
|
|
"readOnlyRootFilesystem": {
|
|
"type": "boolean",
|
|
"default": false,
|
|
"title": "The readOnlyRootFilesystem",
|
|
"examples": [
|
|
false
|
|
]
|
|
}
|
|
},
|
|
"examples": [
|
|
{
|
|
"name": "",
|
|
"kind": "deployment",
|
|
"nginxplus": false,
|
|
"nginxReloadTimeout": 60000,
|
|
"appprotect": {
|
|
"enable": false,
|
|
"logLevel": "fatal"
|
|
},
|
|
"appprotectdos": {
|
|
"enable": false,
|
|
"debug": false,
|
|
"maxWorkers": 0,
|
|
"maxDaemons": 0,
|
|
"memory": 0
|
|
},
|
|
"hostNetwork": false,
|
|
"nginxDebug": false,
|
|
"logLevel": 1,
|
|
"customPorts": [],
|
|
"image": {
|
|
"repository": "nginx/nginx-ingress",
|
|
"tag": "2.3.1",
|
|
"digest": "",
|
|
"pullPolicy": "IfNotPresent"
|
|
},
|
|
"lifecycle": {},
|
|
"customConfigMap": "",
|
|
"config": {
|
|
"name": "",
|
|
"annotations": {},
|
|
"entries": {}
|
|
},
|
|
"defaultTLS": {
|
|
"cert": "",
|
|
"key": "",
|
|
"secret": ""
|
|
},
|
|
"wildcardTLS": {
|
|
"cert": "",
|
|
"key": "",
|
|
"secret": ""
|
|
},
|
|
"nodeSelector": {},
|
|
"terminationGracePeriodSeconds": 30,
|
|
"resources": {
|
|
"requests": {
|
|
"cpu": "100m",
|
|
"memory": "128Mi"
|
|
}
|
|
},
|
|
"tolerations": [],
|
|
"affinity": {},
|
|
"topologySpreadConstraints": {},
|
|
"env": [],
|
|
"volumes": [],
|
|
"volumeMounts": [],
|
|
"initContainers": [],
|
|
"minReadySeconds": 0,
|
|
"strategy": {},
|
|
"extraContainers": [],
|
|
"replicaCount": 1,
|
|
"ingressClass": "nginx",
|
|
"setAsDefaultIngress": false,
|
|
"watchNamespace": "",
|
|
"enableCustomResources": true,
|
|
"enablePreviewPolicies": false,
|
|
"enableOIDC": false,
|
|
"includeYear": false,
|
|
"enableTLSPassthrough": false,
|
|
"tlsPassthroughPort": 443,
|
|
"enableCertManager": false,
|
|
"enableExternalDNS": false,
|
|
"globalConfiguration": {
|
|
"create": false,
|
|
"spec": {}
|
|
},
|
|
"enableSnippets": false,
|
|
"healthStatus": false,
|
|
"healthStatusURI": "/nginx-health",
|
|
"nginxStatus": {
|
|
"enable": true,
|
|
"port": 8080,
|
|
"allowCidrs": "127.0.0.1"
|
|
},
|
|
"service": {
|
|
"create": true,
|
|
"type": "LoadBalancer",
|
|
"externalTrafficPolicy": "Local",
|
|
"annotations": {},
|
|
"extraLabels": {},
|
|
"loadBalancerIP": "",
|
|
"externalIPs": [],
|
|
"loadBalancerSourceRanges": [],
|
|
"allocateLoadBalancerNodePorts": false,
|
|
"ipFamilyPolicy": "",
|
|
"ipFamilies": [],
|
|
"httpPort": {
|
|
"enable": true,
|
|
"port": 80,
|
|
"targetPort": 80
|
|
},
|
|
"httpsPort": {
|
|
"enable": true,
|
|
"port": 443,
|
|
"targetPort": 443
|
|
},
|
|
"customPorts": []
|
|
},
|
|
"serviceAccount": {
|
|
"name": "",
|
|
"imagePullSecretName": ""
|
|
},
|
|
"serviceMonitor": {
|
|
"create": false,
|
|
"labels": {},
|
|
"selectorMatchLabels": {},
|
|
"endpoints": {}
|
|
},
|
|
"reportIngressStatus": {
|
|
"enable": true,
|
|
"externalService": "",
|
|
"ingressLink": "",
|
|
"enableLeaderElection": true,
|
|
"leaderElectionLockName": "",
|
|
"annotations": {}
|
|
},
|
|
"pod": {
|
|
"annotations": {},
|
|
"extraLabels": {}
|
|
},
|
|
"priorityClassName": "",
|
|
"readyStatus": {
|
|
"enable": true,
|
|
"port": 8081,
|
|
"initialDelaySeconds": 0
|
|
},
|
|
"enableLatencyMetrics": false,
|
|
"disableIPV6": false,
|
|
"readOnlyRootFilesystem": false
|
|
}
|
|
]
|
|
},
|
|
"rbac": {
|
|
"type": "object",
|
|
"default": {},
|
|
"title": "The rbac Schema",
|
|
"required": [
|
|
"create"
|
|
],
|
|
"properties": {
|
|
"create": {
|
|
"type": "boolean",
|
|
"default": false,
|
|
"title": "The create Schema",
|
|
"examples": [
|
|
true
|
|
]
|
|
}
|
|
},
|
|
"examples": [
|
|
{
|
|
"create": true
|
|
}
|
|
]
|
|
},
|
|
"prometheus": {
|
|
"type": "object",
|
|
"default": {},
|
|
"title": "The prometheus Schema",
|
|
"required": [
|
|
"create"
|
|
],
|
|
"properties": {
|
|
"create": {
|
|
"type": "boolean",
|
|
"default": false,
|
|
"title": "The create",
|
|
"examples": [
|
|
true
|
|
]
|
|
},
|
|
"port": {
|
|
"type": "integer",
|
|
"default": 9113,
|
|
"title": "The port",
|
|
"examples": [
|
|
9113
|
|
]
|
|
},
|
|
"secret": {
|
|
"type": "string",
|
|
"default": "",
|
|
"title": "The secret",
|
|
"examples": [
|
|
""
|
|
]
|
|
},
|
|
"scheme": {
|
|
"type": "string",
|
|
"default": "http",
|
|
"title": "The scheme",
|
|
"examples": [
|
|
"http"
|
|
]
|
|
},
|
|
"service": {
|
|
"type": "object",
|
|
"default": {},
|
|
"properties": {
|
|
"create": {
|
|
"type": "boolean",
|
|
"default": false,
|
|
"title": "The create",
|
|
"examples": [
|
|
true
|
|
]
|
|
},
|
|
"labels": {
|
|
"type": "object",
|
|
"default": {},
|
|
"title": "The labels Schema",
|
|
"$ref": "https://raw.githubusercontent.com/nginxinc/kubernetes-json-schema/master/v1.27.4/_definitions.json#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta/properties/labels"
|
|
}
|
|
}
|
|
},
|
|
"serviceMonitor": {
|
|
"type": "object",
|
|
"default": {},
|
|
"title": "The serviceMonitor Schema",
|
|
"required": [],
|
|
"properties": {
|
|
"create": {
|
|
"type": "boolean",
|
|
"default": false,
|
|
"title": "The create",
|
|
"examples": [
|
|
false
|
|
]
|
|
},
|
|
"labels": {
|
|
"type": "object",
|
|
"default": {},
|
|
"title": "The labels Schema",
|
|
"$ref": "https://raw.githubusercontent.com/nginxinc/kubernetes-json-schema/master/v1.27.4/_definitions.json#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta/properties/labels"
|
|
},
|
|
"selectorMatchLabels": {
|
|
"type": "object",
|
|
"default": {},
|
|
"title": "The selectorMatchLabels Schema",
|
|
"$ref": "https://raw.githubusercontent.com/nginxinc/kubernetes-json-schema/master/v1.27.4/_definitions.json#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.LabelSelector/properties/matchLabels"
|
|
},
|
|
"endpoints": {
|
|
"type": "array",
|
|
"default": [],
|
|
"title": "The endpoints",
|
|
"required": [],
|
|
"items": {}
|
|
}
|
|
},
|
|
"examples": [
|
|
{
|
|
"create": false,
|
|
"labels": {},
|
|
"selectorMatchLabels": {},
|
|
"endpoints": []
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"examples": [
|
|
{
|
|
"create": true,
|
|
"port": 9113,
|
|
"secret": "",
|
|
"scheme": "http"
|
|
}
|
|
]
|
|
},
|
|
"serviceInsight": {
|
|
"type": "object",
|
|
"default": {},
|
|
"title": "The Service Insight Schema",
|
|
"required": [
|
|
"create"
|
|
],
|
|
"properties": {
|
|
"create": {
|
|
"type": "boolean",
|
|
"default": false,
|
|
"title": "The create",
|
|
"examples": [
|
|
true
|
|
]
|
|
},
|
|
"port": {
|
|
"type": "integer",
|
|
"default": 9114,
|
|
"title": "The port",
|
|
"examples": [
|
|
9114
|
|
]
|
|
},
|
|
"secret": {
|
|
"type": "string",
|
|
"default": "",
|
|
"title": "The secret",
|
|
"examples": [
|
|
""
|
|
]
|
|
},
|
|
"scheme": {
|
|
"type": "string",
|
|
"default": "http",
|
|
"title": "The scheme",
|
|
"examples": [
|
|
"http"
|
|
]
|
|
}
|
|
},
|
|
"examples": [
|
|
{
|
|
"create": true,
|
|
"port": 9114,
|
|
"secret": "",
|
|
"scheme": "http"
|
|
}
|
|
]
|
|
},
|
|
"nginxServiceMesh": {
|
|
"type": "object",
|
|
"default": {},
|
|
"title": "The nginxServiceMesh Schema",
|
|
"required": [
|
|
"enable"
|
|
],
|
|
"properties": {
|
|
"enable": {
|
|
"type": "boolean",
|
|
"default": false,
|
|
"title": "The enable",
|
|
"examples": [
|
|
false
|
|
]
|
|
},
|
|
"enableEgress": {
|
|
"type": "boolean",
|
|
"default": false,
|
|
"title": "The enableEgress",
|
|
"examples": [
|
|
false
|
|
]
|
|
}
|
|
},
|
|
"examples": [
|
|
{
|
|
"enable": false,
|
|
"enableEgress": false
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"examples": [
|
|
{
|
|
"controller": {
|
|
"name": "",
|
|
"kind": "deployment",
|
|
"nginxplus": false,
|
|
"nginxReloadTimeout": 60000,
|
|
"appprotect": {
|
|
"enable": false,
|
|
"logLevel": "fatal"
|
|
},
|
|
"appprotectdos": {
|
|
"enable": false,
|
|
"debug": false,
|
|
"maxWorkers": 0,
|
|
"maxDaemons": 0,
|
|
"memory": 0
|
|
},
|
|
"hostNetwork": false,
|
|
"nginxDebug": false,
|
|
"logLevel": 1,
|
|
"customPorts": [],
|
|
"image": {
|
|
"repository": "nginx/nginx-ingress",
|
|
"tag": "2.3.1",
|
|
"digest": "",
|
|
"pullPolicy": "IfNotPresent"
|
|
},
|
|
"lifecycle": {},
|
|
"customConfigMap": "",
|
|
"config": {
|
|
"name": "",
|
|
"annotations": {},
|
|
"entries": {}
|
|
},
|
|
"defaultTLS": {
|
|
"cert": "",
|
|
"key": "",
|
|
"secret": ""
|
|
},
|
|
"wildcardTLS": {
|
|
"cert": "",
|
|
"key": "",
|
|
"secret": ""
|
|
},
|
|
"nodeSelector": {},
|
|
"terminationGracePeriodSeconds": 30,
|
|
"resources": {
|
|
"requests": {
|
|
"cpu": "100m",
|
|
"memory": "128Mi"
|
|
}
|
|
},
|
|
"tolerations": [],
|
|
"affinity": {},
|
|
"topologySpreadConstraints": {},
|
|
"env": [],
|
|
"volumes": [],
|
|
"volumeMounts": [],
|
|
"initContainers": [],
|
|
"minReadySeconds": 0,
|
|
"strategy": {},
|
|
"extraContainers": [],
|
|
"replicaCount": 1,
|
|
"ingressClass": "nginx",
|
|
"setAsDefaultIngress": false,
|
|
"watchNamespace": "",
|
|
"enableCustomResources": true,
|
|
"enablePreviewPolicies": false,
|
|
"enableOIDC": false,
|
|
"includeYear": false,
|
|
"enableTLSPassthrough": false,
|
|
"enableCertManager": false,
|
|
"enableExternalDNS": false,
|
|
"globalConfiguration": {
|
|
"create": false,
|
|
"spec": {}
|
|
},
|
|
"enableSnippets": false,
|
|
"healthStatus": false,
|
|
"healthStatusURI": "/nginx-health",
|
|
"nginxStatus": {
|
|
"enable": true,
|
|
"port": 8080,
|
|
"allowCidrs": "127.0.0.1"
|
|
},
|
|
"service": {
|
|
"create": true,
|
|
"type": "LoadBalancer",
|
|
"externalTrafficPolicy": "Local",
|
|
"annotations": {},
|
|
"extraLabels": {},
|
|
"loadBalancerIP": "",
|
|
"externalIPs": [],
|
|
"loadBalancerSourceRanges": [],
|
|
"allocateLoadBalancerNodePorts": false,
|
|
"ipFamilyPolicy": "",
|
|
"ipFamilies": [],
|
|
"httpPort": {
|
|
"enable": true,
|
|
"port": 80,
|
|
"nodePort": "",
|
|
"targetPort": 80
|
|
},
|
|
"httpsPort": {
|
|
"enable": true,
|
|
"port": 443,
|
|
"nodePort": "",
|
|
"targetPort": 443
|
|
},
|
|
"customPorts": []
|
|
},
|
|
"serviceAccount": {
|
|
"name": "",
|
|
"imagePullSecretName": ""
|
|
},
|
|
"podDisruptionBudget": {
|
|
"enabled": false,
|
|
"annotations": {},
|
|
"minAvailable": 0,
|
|
"minUnavailable": 0
|
|
},
|
|
"reportIngressStatus": {
|
|
"enable": true,
|
|
"externalService": "",
|
|
"ingressLink": "",
|
|
"enableLeaderElection": true,
|
|
"leaderElectionLockName": "",
|
|
"annotations": {}
|
|
},
|
|
"pod": {
|
|
"annotations": {},
|
|
"extraLabels": {}
|
|
},
|
|
"priorityClassName": "",
|
|
"readyStatus": {
|
|
"enable": true,
|
|
"port": 8081,
|
|
"initialDelaySeconds": 0
|
|
},
|
|
"enableLatencyMetrics": false,
|
|
"disableIPV6": false,
|
|
"readOnlyRootFilesystem": false
|
|
},
|
|
"rbac": {
|
|
"create": true
|
|
},
|
|
"prometheus": {
|
|
"create": true,
|
|
"port": 9113,
|
|
"secret": "",
|
|
"scheme": "http",
|
|
"service": {
|
|
"create": false,
|
|
"labels": {}
|
|
},
|
|
"serviceMonitor": {
|
|
"create": false,
|
|
"labels": {},
|
|
"selectorMatchLabels": {},
|
|
"endpoints": {}
|
|
}
|
|
},
|
|
"serviceInsight": {
|
|
"create": true,
|
|
"port": 9114,
|
|
"secret": "",
|
|
"scheme": "http"
|
|
},
|
|
"nginxServiceMesh": {
|
|
"enable": false,
|
|
"enableEgress": false
|
|
}
|
|
}
|
|
]
|
|
}
|