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.
Note: Airlock Microgateway propagates changes to the GatewayClass’s GatewayParameters to all Gateways which don’t specify their own .spec.infrastructure.parametersRef. In most scenarios, it is recommended to only attach GatewayParameters directly to the Gateway and not to the GatewayClass.
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 |