{
    "$schema": "http://json-schema.org/schema#",
    "type": "object",
    "properties": {
        "affinity": {
            "type": "object"
        },
        "autoscaling": {
            "type": "object",
            "properties": {
                "enabled": {
                    "type": "boolean"
                },
                "maxReplicas": {
                    "type": "integer"
                },
                "minReplicas": {
                    "type": "integer"
                },
                "targetCPUUtilizationPercentage": {
                    "type": "integer"
                }
            }
        },
        "fullnameOverride": {
            "type": "string"
        },
        "image": {
            "type": "object",
            "properties": {
                "pullPolicy": {
                    "type": "string"
                },
                "repository": {
                    "type": "string"
                },
                "tag": {
                    "type": "string"
                }
            }
        },
        "imagePullSecrets": {
            "type": "array"
        },
        "ingress": {
            "type": "object",
            "properties": {
                "annotations": {
                    "type": "object"
                },
                "enabled": {
                    "type": "boolean"
                },
                "host": {
                    "type": "string"
                },
                "path": {
                    "type": "string"
                },
                "tls": {
                    "type": "array"
                }
            }
        },
        "nameOverride": {
            "type": "string"
        },
        "nodeSelector": {
            "type": "object"
        },
        "podAnnotations": {
            "type": "object",
            "properties": {
                "sidecar.istio.io/inject": {
                    "type": "string"
                }
            }
        },
        "podSecurityContext": {
            "type": "object"
        },
        "priorityClassName": {
            "type": "string"
        },
        "replicaCount": {
            "type": "integer"
        },
        "resources": {
            "type": "object",
            "properties": {
                "limits": {
                    "type": "object",
                    "properties": {
                        "cpu": {
                            "type": "string"
                        },
                        "memory": {
                            "type": "string"
                        }
                    }
                },
                "requests": {
                    "type": "object",
                    "properties": {
                        "cpu": {
                            "type": "string"
                        },
                        "memory": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "securityContext": {
            "type": "object",
            "properties": {
                "readOnlyRootFilesystem": {
                    "type": "boolean"
                },
                "runAsNonRoot": {
                    "type": "boolean"
                },
                "runAsUser": {
                    "type": "integer"
                }
            }
        },
        "service": {
            "type": "object",
            "properties": {
                "port": {
                    "type": "integer"
                },
                "type": {
                    "type": "string"
                }
            }
        },
        "serviceAccount": {
            "type": "object",
            "properties": {
                "annotations": {
                    "type": "object"
                },
                "create": {
                    "type": "boolean"
                },
                "name": {
                    "type": "string"
                },
                "psp": {
                    "type": "boolean"
                }
            }
        },
        "tolerations": {
            "type": "array"
        },
        "zipkin": {
            "type": "object",
            "properties": {
                "storage": {
                    "type": "object",
                    "properties": {
                        "elasticsearch": {
                            "type": "object",
                            "properties": {
                                "hosts": {
                                    "type": "string"
                                },
                                "index": {
                                    "type": "string"
                                },
                                "sslNoVerify": {
                                    "type": "boolean"
                                },
                                "username": {
                                    "type": "string"
                                },
                                "password": {
                                    "type": "string"
                                }
                            },
                            "required": ["hosts", "index"]
                        },
                        "type": {
                            "enum": ["mem", "elasticsearch"]
                        }
                    },
                    "anyOf": [
                        {
                            "properties": {
                                "type": {"const": "mem"}
                            },
                            "required": []
                        },
                        {
                            "properties": {
                                "type": {"const": "elasticsearch"}
                            },
                            "required": ["elasticsearch"]
                        }
                    ]
                },
		"extraEnv": {
			"type": "object"
		}
            }
        }
    }
}
