Kgateway · Schema

kgateway GatewayParameters

GatewayParameters customizes gateway infrastructure deployment settings including replicas, container configuration, and proxy provisioning.

Gateways

Properties

Name Type Description
apiVersion string API version for the GatewayParameters resource.
kind string Resource kind.
metadata object Standard Kubernetes object metadata.
spec object GatewayParametersSpec defines the desired state of GatewayParameters.
View JSON Schema on GitHub

JSON Schema

gateway-parameters.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://github.com/api-evangelist/kgateway/blob/main/json-schema/gateway-parameters.json",
  "title": "kgateway GatewayParameters",
  "description": "GatewayParameters customizes gateway infrastructure deployment settings including replicas, container configuration, and proxy provisioning.",
  "type": "object",
  "properties": {
    "apiVersion": {
      "type": "string",
      "const": "gateway.kgateway.dev/v1alpha1",
      "description": "API version for the GatewayParameters resource."
    },
    "kind": {
      "type": "string",
      "const": "GatewayParameters",
      "description": "Resource kind."
    },
    "metadata": {
      "type": "object",
      "description": "Standard Kubernetes object metadata.",
      "properties": {
        "name": {
          "type": "string",
          "description": "Name of the GatewayParameters resource."
        },
        "namespace": {
          "type": "string",
          "description": "Namespace of the GatewayParameters resource."
        },
        "labels": {
          "type": "object",
          "additionalProperties": { "type": "string" }
        },
        "annotations": {
          "type": "object",
          "additionalProperties": { "type": "string" }
        }
      },
      "required": ["name"]
    },
    "spec": {
      "type": "object",
      "description": "GatewayParametersSpec defines the desired state of GatewayParameters.",
      "properties": {
        "kube": {
          "type": "object",
          "description": "Kubernetes deployment settings.",
          "properties": {
            "deployment": {
              "type": "object",
              "properties": {
                "replicas": {
                  "type": "integer",
                  "description": "Number of gateway proxy replicas."
                }
              }
            },
            "podTemplate": {
              "type": "object",
              "description": "Pod template configuration.",
              "properties": {
                "extraLabels": {
                  "type": "object",
                  "additionalProperties": { "type": "string" }
                },
                "extraAnnotations": {
                  "type": "object",
                  "additionalProperties": { "type": "string" }
                },
                "nodeSelector": {
                  "type": "object",
                  "additionalProperties": { "type": "string" }
                },
                "tolerations": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "key": { "type": "string" },
                      "operator": { "type": "string" },
                      "value": { "type": "string" },
                      "effect": { "type": "string" }
                    }
                  }
                }
              }
            },
            "envoyContainer": {
              "type": "object",
              "description": "Envoy proxy container configuration.",
              "properties": {
                "resources": {
                  "type": "object",
                  "properties": {
                    "requests": {
                      "type": "object",
                      "properties": {
                        "cpu": { "type": "string" },
                        "memory": { "type": "string" }
                      }
                    },
                    "limits": {
                      "type": "object",
                      "properties": {
                        "cpu": { "type": "string" },
                        "memory": { "type": "string" }
                      }
                    }
                  }
                },
                "image": {
                  "type": "object",
                  "properties": {
                    "registry": { "type": "string" },
                    "repository": { "type": "string" },
                    "tag": { "type": "string" }
                  }
                }
              }
            },
            "service": {
              "type": "object",
              "description": "Service configuration.",
              "properties": {
                "type": {
                  "type": "string",
                  "enum": ["ClusterIP", "NodePort", "LoadBalancer"]
                },
                "extraAnnotations": {
                  "type": "object",
                  "additionalProperties": { "type": "string" }
                }
              }
            }
          }
        }
      }
    }
  }
}