openapi: 3.1.0 info: title: Contour Gateway GatewayClass API description: Contour's implementation of the Kubernetes Gateway API, providing support for GatewayClass, Gateway, HTTPRoute, TLSRoute, and related resources. The Gateway API is the next-generation Kubernetes ingress standard, and Contour implements it alongside the legacy Ingress and HTTPProxy resources. All resources are managed through the Kubernetes API server using standard Kubernetes CRD patterns. version: 1.30.0 contact: name: Contour Community url: https://projectcontour.io/community/ license: name: Apache 2.0 url: https://www.apache.org/licenses/LICENSE-2.0 servers: - url: https://{kubernetes-api-server} description: Kubernetes API server variables: kubernetes-api-server: default: localhost:6443 description: Address of the Kubernetes API server tags: - name: GatewayClass description: Cluster-scoped resources that define the controller responsible for managing Gateways of a particular class. GatewayClass is analogous to IngressClass in the legacy Ingress API. paths: /apis/gateway.networking.k8s.io/v1/gatewayclasses: get: operationId: listGatewayClass summary: Contour List GatewayClass resources description: Returns all GatewayClass resources in the cluster. GatewayClasses are cluster-scoped and define which controller (such as Contour) manages Gateways of that class. Contour registers a GatewayClass for itself during installation. tags: - GatewayClass parameters: - $ref: '#/components/parameters/labelSelector' - $ref: '#/components/parameters/fieldSelector' responses: '200': description: List of GatewayClass resources content: application/json: schema: $ref: '#/components/schemas/GatewayClassList' '401': description: Unauthorized '403': description: Forbidden /apis/gateway.networking.k8s.io/v1/gatewayclasses/{name}: get: operationId: readGatewayClass summary: Contour Get a specific GatewayClass description: Returns the specified GatewayClass resource including its controller reference, parameters, and current acceptance status. tags: - GatewayClass parameters: - $ref: '#/components/parameters/name' responses: '200': description: GatewayClass resource content: application/json: schema: $ref: '#/components/schemas/GatewayClass' '401': description: Unauthorized '403': description: Forbidden '404': description: GatewayClass not found components: parameters: fieldSelector: name: fieldSelector in: query required: false description: Field selector to filter resources. schema: type: string name: name: name in: path required: true description: The name of the resource. schema: type: string labelSelector: name: labelSelector in: query required: false description: Label selector to filter resources. schema: type: string schemas: GatewayClassList: type: object description: List of GatewayClass resources. properties: apiVersion: type: string kind: type: string items: type: array items: $ref: '#/components/schemas/GatewayClass' Condition: type: object description: A standard Kubernetes condition indicating the state of a resource. required: - type - status properties: type: type: string description: Type of the condition. status: type: string enum: - 'True' - 'False' - Unknown description: Status of the condition. observedGeneration: type: integer format: int64 lastTransitionTime: type: string format: date-time description: Time when this condition last changed. reason: type: string description: Short reason code for the condition. message: type: string description: Human-readable details about this condition. GatewayClass: type: object description: Cluster-scoped resource associating a controller with Gateways of a given class. Contour registers a GatewayClass pointing to itself. required: - apiVersion - kind - metadata - spec properties: apiVersion: type: string enum: - gateway.networking.k8s.io/v1 kind: type: string enum: - GatewayClass metadata: $ref: '#/components/schemas/ObjectMeta' spec: type: object description: GatewayClass specification. required: - controllerName properties: controllerName: type: string description: Name of the controller responsible for managing Gateways of this class. For Contour, this is 'projectcontour.io/contour'. example: projectcontour.io/contour parametersRef: type: object description: Reference to a resource providing configuration for this class. properties: group: type: string kind: type: string name: type: string namespace: type: string description: type: string description: Human-readable description of the GatewayClass. status: type: object description: Status conditions reported by the controller. properties: conditions: type: array items: $ref: '#/components/schemas/Condition' ObjectMeta: type: object description: Standard Kubernetes object metadata. required: - name properties: name: type: string description: Name of the resource. namespace: type: string description: Namespace the resource belongs to. labels: type: object additionalProperties: type: string description: Labels for organizing and selecting resources. annotations: type: object additionalProperties: type: string description: Annotations for non-identifying metadata. resourceVersion: type: string description: Internal version for optimistic concurrency. generation: type: integer format: int64 uid: type: string creationTimestamp: type: string format: date-time externalDocs: description: Contour Gateway API Documentation url: https://projectcontour.io/docs/1.30/config/gateway-api/