GatewayClass
gateway.networking.k8s.io/v1
Gateway API Versionv1.6.0
GatewayClass describes a class of Gateways available to the user for creating Gateway resources.
It is recommended that this resource be used as a template for Gateways. This means that a Gateway is based on the state of the GatewayClass at the time it was created and changes to the GatewayClass or associated parameters are not propagated down to existing Gateways. This recommendation is intended to limit the blast radius of changes to GatewayClass or associated parameters.
If implementations choose to propagate GatewayClass changes to existing Gateways, that MUST be clearly documented by the implementation.
Whenever one or more Gateways are using a GatewayClass, implementations SHOULD add the gateway-exists-finalizer.gateway.networking.k8s.io finalizer on the associated GatewayClass. This ensures that a GatewayClass associated with a Gateway is not deleted while in use.
GatewayClass is a Cluster level resource.
A GatewayClass name SHOULD be compliant with RFC 1035, consisting of a maximum of 63 lower case alphanumeric characters or hyphens (’-’), and MUST start and end with an alphanumeric character.
---
config:
theme: base
themeVariables:
secondaryColor: '#ffffff'
---
block
columns 7
classDef al_ref_box fill:#F2F2F2,stroke:#555;
classDef al_mgw_box fill:#70991F,stroke:#555;
classDef al_gwapi_box fill:#326CE5,stroke:#555;
classDef al_std_box fill:#808B8F,stroke:#555;
classDef al_self_box fill:#326CE5,stroke:#777,stroke-width:5px;
block:RefBy:1
columns 1
Gateway["<a href='../../../gateway-api/gateway/v1'> Gateway </a>"]
class Gateway al_gwapi_box
end
class RefBy al_ref_box
space:2
GatewayClass["<a href='../../../gateway-api/gateway-class/v1'> <b>GatewayClass</b> </a>"]
class GatewayClass al_self_box
space:2
block:Ref:1
columns 1
GatewayParameters["<a href='../../../microgateway/gateway-parameters/v1alpha1'> GatewayParameters </a>"]
class GatewayParameters al_mgw_box
end
class Ref al_ref_box
RefBy -- "<br><i>references</i>" --> GatewayClass
GatewayClass -- "<br><i>references</i>" --> Ref
GatewayClass
| Field | Description | Type | Required | Default | Allowed Values |
|---|---|---|---|---|---|
| metadata | defines the resource’s metadata | ObjectMeta | yes | ||
| spec | defines the desired state of GatewayClass. | object | yes | ||
| status | defines the current state of GatewayClass. Implementations MUST populate status on all GatewayClass resources which specify their controller name. |
object | no |
GatewayClass.spec
| Field | Description | Type | Required | Default | Allowed Values |
|---|---|---|---|---|---|
| controllerName | is the name of the controller that is managing Gateways of this class. The value of this field MUST be a domain prefixed path. Example: “example.net/gateway-controller”. This field is not mutable and cannot be empty. |
string | yes | ||
| description | helps describe a GatewayClass with more details. | string | no | ||
| parametersRef |
ParametersRef is a reference to a resource that contains the configuration parameters corresponding to the GatewayClass. This is optional if the controller does not require any additional configuration. Supported kinds: GatewayParameters |
object | no |
GatewayClass.spec.parametersRef
| Field | Description | Type | Required | Default | Allowed Values |
|---|---|---|---|---|---|
| group | Group is the group of the referent.
Supported groups: |
string | yes | ||
| kind | Kind is kind of the referent. Supported kinds: GatewayParameters |
string | yes | ||
| name | is the name of the referent. | string | yes | ||
| namespace | is the namespace of the referent. This field is required when referring to a Namespace-scoped resource and MUST be unset when referring to a Cluster-scoped resource. |
string | no |
GatewayClass.status
| Field | Description | Type |
|---|---|---|
| conditions |
Conditions is the current status from the controller for this GatewayClass.
Possible conditions:
|
Condition[] |
| supportedFeatures | is the set of features the GatewayClass support. It MUST be sorted in ascending alphabetical order by the Name key. |
object[] |
GatewayClass.status.supportedFeatures[]
| Field | Description | Type |
|---|---|---|
| name | string |