GatewayClass

A GatewayClass is a cluster-scoped resource that defines a class of gateway implementations, linking to a specific gateway controller via the controllerName field. Infrastructure providers create GatewayClasses when deploying their gateway controller.

Container OrchestrationKubernetesLoad BalancingNetworkingService Discovery

Properties

Name Type Description
apiVersion string
kind string
metadata object
spec object GatewayClass specification.
status object Current status of the GatewayClass.
View JSON Schema on GitHub

JSON Schema

kubernetes-services-gatewayclass-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "#/components/schemas/GatewayClass",
  "title": "GatewayClass",
  "type": "object",
  "description": "A GatewayClass is a cluster-scoped resource that defines a class of gateway implementations, linking to a specific gateway controller via the controllerName field. Infrastructure providers create GatewayClasses when deploying their gateway controller.",
  "properties": {
    "apiVersion": {
      "type": "string",
      "const": "gateway.networking.k8s.io/v1"
    },
    "kind": {
      "type": "string",
      "const": "GatewayClass"
    },
    "metadata": {
      "$ref": "#/components/schemas/ObjectMeta"
    },
    "spec": {
      "type": "object",
      "description": "GatewayClass specification.",
      "required": [
        "controllerName"
      ],
      "properties": {
        "controllerName": {
          "type": "string",
          "description": "Domain-prefixed path identifying the gateway controller implementing this class. Example: gateway.nginx.org/nginx-gateway."
        },
        "parametersRef": {
          "type": "object",
          "description": "Reference to a provider-specific resource containing controller configuration parameters.",
          "properties": {
            "group": {
              "type": "string"
            },
            "kind": {
              "type": "string"
            },
            "name": {
              "type": "string"
            },
            "namespace": {
              "type": "string"
            }
          }
        }
      }
    },
    "status": {
      "type": "object",
      "description": "Current status of the GatewayClass.",
      "properties": {
        "conditions": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/Condition"
          }
        }
      }
    }
  }
}