Creating Gateway API Objects
The Gateway API has been currently implemented in version 1.2.0-experimental.
JSON Schema Elements
The hull.BackendLBPolicy.v1alpha2 properties
Properties can be set as they are defined in the Kubernetes API's BackendLBPolicy spec.
However the properties listed below are overwritten or added by HULL:
| Parameter | Description | Default | Example |
|---|---|---|---|
targetRefs |
Dictionary with TargetRefs to add to the BackendLBPolicy's targetRefs section. Key: Unique related to parent element. Value: The gateway.networking.k8s.io.v1alpha2.LocalPolicyTargetReference properties. |
{} |
The hull.BackendTLSPolicy.v1alpha2 properties
Properties can be set as they are defined in the Kubernetes API's BackendTLSPolicy spec.
However the properties listed below are overwritten or added by HULL:
| Parameter | Description | Default | Example |
|---|---|---|---|
targetRefs |
Dictionary with TargetRefs to add to the BackendTLSPolicy's targetRefs section. Key: Unique related to parent element. Value: The gateway.networking.k8s.io.v1alpha3.LocalPolicyTargetReferenceWithSectionName properties. |
{} |
The hull.Gateway.v1 properties
The key-value pairs of value type
gateway.networking.k8s.io.v1.GatewayAddressare converted to an array on rendering The key-value pairs of value typehttps://gateway-api.sigs.k8s.io/reference/spec/#gateway.networking.k8s.io/v1.Listenerare converted to an array on rendering
Properties can be set as they are defined in the Kubernetes API's Gateway spec.
However the properties listed below are overwritten or added by HULL:
| Parameter | Description | Default | Example |
|---|---|---|---|
addresses |
Dictionary with GatewayAddresses to add to the Gateway's addresses section. Key: Unique related to parent element. Value: The gateway.networking.k8s.io.v1.GatewayAddress properties. |
{} |
|
listeners |
Dictionary with Listeners to add to the Gateway's listeners section. Key: Unique related to parent element. Value: The gateway.networking.k8s.io.v1.Listener properties exceptallowedRoutes.kinds property of type hull.RouteGroupKind.v1 and tls.certificateRefs property of type hull.SecretObjectReference.v1 and tls.frontendValidation.caCertificateRefs property of type hull.ObjectReference.v1.See below for additional types. |
{} |
The hull.RouteGroupKind.v1 properties under gateway.networking.k8s.io/v1.AllowedRoutes
The key-value pairs of value type
hull.RouteGroupKind.v1are converted to an array on rendering
Properties can be set as they are defined in the elements Kubernetes API's AllowedRoutes spec.
However the properties listed below are overwritten or added by HULL:
| Parameter | Description | Default | Example |
|---|---|---|---|
kinds |
Dictionary with Kinds to add to the AllowedRoutes's kinds section. Key: Unique related to parent element. Value: The gateway.networking.k8s.io.v1.RouteGroupKind properties. |
{} |
The hull.SecretObjectReference.v1 properties under gateway.networking.k8s.io/v1.GatewayTLSConfig
The key-value pairs of value type
hull.SecretObjectReference.v1are converted to an array on rendering
Properties can be set as they are defined in the elements Kubernetes API's GatewayTLSConfig spec.
However the properties listed below are overwritten or added by HULL:
| Parameter | Description | Default | Example |
|---|---|---|---|
certificateRefs |
Dictionary with CertificateRefs to add to the GatewayTLSConfig's certificateRefs section. Key: Unique related to parent element. Value: The gateway.networking.k8s.io/v1.SecretObjectReference properties. |
{} |
The hull.ObjectReference.v11 properties under gateway.networking.k8s.io/v1.FrontendTLSValidation
The key-value pairs of value type
hull.ObjectReference.v1are converted to an array on rendering
Properties can be set as they are defined in the elements Kubernetes API's FrontendTLSValidation spec.
However the properties listed below are overwritten or added by HULL:
| Parameter | Description | Default | Example |
|---|---|---|---|
caCertificateRefs |
Dictionary with CaCertificateRefs to add to the FrontendTLSValidation's caCertificateRefs section. Key: Unique related to parent element. Value: The gateway.networking.k8s.io.v1.ObjectReference properties. |
{} |
The hull.ReferenceGrant.v1beta1 properties
The key-value pairs of value type
gateway.networking.k8s.io/v1beta1.ReferenceGrantToare converted to an array on rendering The key-value pairs of value typegateway.networking.k8s.io/v1beta1.ReferenceGrantFromare converted to an array on rendering
Properties can be set as they are defined in the Kubernetes API's ReferenceGrant spec.
However the properties listed below are overwritten or added by HULL:
| Parameter | Description | Default | Example |
|---|---|---|---|
from |
Dictionary with ReferenceGrantFroms to add to the ReferenceGrant's from section. Key: Unique related to parent element. Value: The gateway.networking.k8s.io/v1beta1.ReferenceGrantFrom properties. |
{} |
|
to |
Dictionary with ReferenceGrantTos to add to the ReferenceGrant's to section. Key: Unique related to parent element. Value: The gateway.networking.k8s.io/v1beta1.ReferenceGrantTo properties. |
{} |
The hull.GRPCRoute.v1 properties
The key-value pairs of value type
gateway.networking.k8s.io.v1.ParentReferenceare converted to an array on rendering The key-value pairs of value typegateway.networking.k8s.io.v1.GRPCRouteRuleare converted to an array on rendering
Properties can be set as they are defined in the Kubernetes API's GRPCRoute spec.
However the properties listed below are overwritten or added by HULL:
| Parameter | Description | Default | Example |
|---|---|---|---|
parentRefs |
Dictionary with ParentReferences to add to the GRPCRoute's parentRefs section. Key: Unique related to parent element. Value: The gateway.networking.k8s.io.v1.ParentReference properties. |
{} |
|
rules |
Dictionary with Rules to add to the GRPCRoute's rules section. Key: Unique related to parent element. Value: The gateway.networking.k8s.io.v1.GRPCRouteRule properties and hull.GRPCRouteRule.v1 properties (see below). |
{} |
The hull.GRPCRouteRule.v1 properties
The key-value pairs of value type
gateway.networking.k8s.io/v1.GRPCRouteFilterare converted to an array on rendering The key-value pairs of value typegateway.networking.k8s.io/v1.GRPCBackendRefare converted to an array on rendering The key-value pairs of value typegateway.networking.k8s.io/v1.GRPCRouteMatchare converted to an array on rendering
Properties can be set as they are defined in the Kubernetes API's GRPCRouteRoule spec.
However the properties listed below are overwritten or added by HULL:
| Parameter | Description | Default | Example |
|---|---|---|---|
filters |
Dictionary with GRPCRouteFilter to add to the GRPCRoute's filters section. Key: Unique related to parent element. Value: The gateway.networking.k8s.io.v1.GRPCRouteFilter properties. |
{} |
|
matches |
Dictionary with GRPCRouteMatch to add to the GRPCRoute's matches section. Key: Unique related to parent element. Value: The gateway.networking.k8s.io.v1.GRPCRouteMatch properties. |
{} |
|
backendRefs |
Dictionary with GRPCBackendRefs to add to the GRPCRoute's backendRefs section. Key: Unique related to parent element. Value: The gateway.networking.k8s.io.v1.GRPCBackendRef properties and hull.GRPCBackendRef.v1 properties (see below). |
{} |
The hull.GRPCBackendRef.v1 properties
The key-value pairs of value type
gateway.networking.k8s.io/v1.GRPCRouteFilterare converted to an array on rendering
Properties can be set as they are defined in the Kubernetes API's GRPCBackendRef spec.
However the properties listed below are overwritten or added by HULL:
| Parameter | Description | Default | Example |
|---|---|---|---|
filters |
Dictionary with GRPCRouteFilter to add to the GRPCBackendRef's filters section. Key: Unique related to parent element. Value: The gateway.networking.k8s.io.v1.GRPCRouteFilter properties. |
{} |
The hull.TCPRoute.v1alpha2 properties
The key-value pairs of value type
gateway.networking.k8s.io.v1.ParentReferenceare converted to an array on rendering The key-value pairs of value typegateway.networking.k8s.io.v1alpha2.TCPRouteRuleare converted to an array on rendering
Properties can be set as they are defined in the Kubernetes API's TCPRoute spec.
However the properties listed below are overwritten or added by HULL:
| Parameter | Description | Default | Example |
|---|---|---|---|
parentRefs |
Dictionary with ParentReferences to add to the TCPRoute's parentRefs section. Key: Unique related to parent element. Value: The gateway.networking.k8s.io.v1.ParentReference properties. |
{} |
|
rules |
Dictionary with Rules to add to the TCPRoute's rules section. Key: Unique related to parent element. Value: The gateway.networking.k8s.io.v1alpha2.TCPRouteRule properties and hull.TCPRouteRule.v1alpha2 properties (see below). |
{} |
The hull.TCPRouteRule.v1alpha2 properties
The key-value pairs of value type
gateway.networking.k8s.io.v1.BackendRefare converted to an array on rendering
Properties can be set as they are defined in the Kubernetes API's TCPRouteRoule spec.
However the properties listed below are overwritten or added by HULL:
| Parameter | Description | Default | Example |
|---|---|---|---|
backendRefs |
Dictionary with BackendRefs to add to the TCPRoute's backendRefs section. Key: Unique related to parent element. Value: The gateway.networking.k8s.io.v1.BackendRef properties. |
{} |
The hull.TLSRoute.v1alpha2 properties
The key-value pairs of value type
gateway.networking.k8s.io.v1.ParentReferenceare converted to an array on rendering The key-value pairs of value typegateway.networking.k8s.io.v1alpha2.TLSRouteRuleare converted to an array on rendering
Properties can be set as they are defined in the Kubernetes API's TLSRoute spec.
However the properties listed below are overwritten or added by HULL:
| Parameter | Description | Default | Example |
|---|---|---|---|
parentRefs |
Dictionary with ParentReferences to add to the TLSRoute's parentRefs section. Key: Unique related to parent element. Value: The gateway.networking.k8s.io.v1.ParentReference properties. |
{} |
|
rules |
Dictionary with Rules to add to the TLSRoute's rules section. Key: Unique related to parent element. Value: The gateway.networking.k8s.io.v1alpha2.TLSRouteRule properties and hull.TLSRouteRule.v1alpha2 properties (see below). |
{} |
The hull.TLSRouteRule.v1alpha2 properties
The key-value pairs of value type
gateway.networking.k8s.io.v1.BackendRefare converted to an array on rendering
Properties can be set as they are defined in the Kubernetes API's TLSRouteRoule spec.
However the properties listed below are overwritten or added by HULL:
| Parameter | Description | Default | Example |
|---|---|---|---|
backendRefs |
Dictionary with BackendRefs to add to the TCPRoute's backendRefs section. Key: Unique related to parent element. Value: The gateway.networking.k8s.io.v1.BackendRef properties. |
{} |
The hull.UDPRoute.v1alpha2 properties
The key-value pairs of value type
gateway.networking.k8s.io.v1.ParentReferenceare converted to an array on rendering The key-value pairs of value typegateway.networking.k8s.io.v1alpha2.UDPRouteRuleare converted to an array on rendering
Properties can be set as they are defined in the Kubernetes API's UDPRoute spec.
However the properties listed below are overwritten or added by HULL:
| Parameter | Description | Default | Example |
|---|---|---|---|
parentRefs |
Dictionary with ParentReferences to add to the UDPRoute's parentRefs section. Key: Unique related to parent element. Value: The gateway.networking.k8s.io.v1.ParentReference properties. |
{} |
|
rules |
Dictionary with Rules to add to the UDPRoute's rules section. Key: Unique related to parent element. Value: The gateway.networking.k8s.io.v1alpha2.UDPRouteRule properties and hull.UDPRouteRule.v1alpha2 properties (see below). |
{} |
The hull.UDPRouteRule.v1alpha2 properties
The key-value pairs of value type
gateway.networking.k8s.io.v1.BackendRefare converted to an array on rendering
Properties can be set as they are defined in the Kubernetes API's UDPRouteRoule spec.
However the properties listed below are overwritten or added by HULL:
| Parameter | Description | Default | Example |
|---|---|---|---|
backendRefs |
Dictionary with BackendRefs to add to the UDPRoute's backendRefs section. Key: Unique related to parent element. Value: The gateway.networking.k8s.io.v1.BackendRef properties. |
{} |
The hull.HTTPRoute.v1 properties
The key-value pairs of value type
gateway.networking.k8s.io.v1.ParentReferenceare converted to an array on rendering The key-value pairs of value typegateway.networking.k8s.io.v1.HTTPRouteRuleare converted to an array on rendering
Properties can be set as they are defined in the Kubernetes API's HTTPRoute spec.
However the properties listed below are overwritten or added by HULL:
| Parameter | Description | Default | Example |
|---|---|---|---|
parentRefs |
Dictionary with ParentReferences to add to the HTTPRoute's parentRefs section. Key: Unique related to parent element. Value: The gateway.networking.k8s.io.v1.ParentReference properties. |
{} |
|
rules |
Dictionary with Rules to add to the HTTPRoute's rules section. Key: Unique related to parent element. Value: The gateway.networking.k8s.io.v1.HTTPRouteRule properties and hull.HTTPRouteRule.v1 properties (see below). |
{} |
The hull.HTTPRouteRule.v1 properties
The key-value pairs of value type
gateway.networking.k8s.io/v1.HTTPRouteFilterare converted to an array on rendering The key-value pairs of value typegateway.networking.k8s.io/v1.HTTPBackendRefare converted to an array on rendering The key-value pairs of value typegateway.networking.k8s.io/v1.HTTPRouteMatchare converted to an array on rendering
Properties can be set as they are defined in the Kubernetes API's HTTPRouteRoule spec.
However the properties listed below are overwritten or added by HULL:
| Parameter | Description | Default | Example |
|---|---|---|---|
filters |
Dictionary with HTTPRouteFilter to add to the HTTPRoute's filters section. Key: Unique related to parent element. Value: The gateway.networking.k8s.io.v1.HTTPRouteFilter properties. |
{} |
|
matches |
Dictionary with HTTPRouteMatch to add to the HTTPRoute's matches section. Key: Unique related to parent element. Value: The gateway.networking.k8s.io.v1.HTTPRouteMatch properties. |
{} |
|
backendRefs |
Dictionary with HTTPBackendRefs to add to the HTTPRoute's backendRefs section. Key: Unique related to parent element. Value: The gateway.networking.k8s.io.v1.HTTPBackendRef properties and hull.HTTPBackendRef.v1 properties (see below). |
{} |
The hull.HTTPBackendRef.v1 properties
The key-value pairs of value type
gateway.networking.k8s.io/v1.HTTPRouteFilterare converted to an array on rendering
Properties can be set as they are defined in the Kubernetes API's HTTPBackendRef spec.
However the properties listed below are overwritten or added by HULL:
| Parameter | Description | Default | Example |
|---|---|---|---|
filters |
Dictionary with HTTPRouteFilter to add to the HTTPBackendRef's filters section. Key: Unique related to parent element. Value: The gateway.networking.k8s.io.v1.HTTPRouteFilter properties. |
{} |
Overview of HULL based properties
The below tree is from values.yaml and indicates which properties are treated as dictionaries on the HULL input side and are rendered as arrays in the output:
# GATEWAY API - BACKENDLBPOLICY
backendlbpolicy:
_HULL_OBJECT_TYPE_DEFAULT_:
enabled: true
annotations: {}
labels: {}
targetRefs:
_HULL_OBJECT_TYPE_DEFAULT_: {}
##################################################
# GATEWAY API - BACKENDTLSPOLICY
backendtlspolicy:
_HULL_OBJECT_TYPE_DEFAULT_:
enabled: true
annotations: {}
labels: {}
targetRefs:
_HULL_OBJECT_TYPE_DEFAULT_: {}
##################################################
# GATEWAY API - GATEWAYCLASS
gatewayclass:
_HULL_OBJECT_TYPE_DEFAULT_:
enabled: true
annotations: {}
labels: {}
##################################################
# GATEWAY API - GATEWAY
gateway:
_HULL_OBJECT_TYPE_DEFAULT_:
enabled: true
annotations: {}
labels: {}
addresses:
_HULL_OBJECT_TYPE_DEFAULT_: {}
listeners:
_HULL_OBJECT_TYPE_DEFAULT_:
tls:
certificateRefs:
_HULL_OBJECT_TYPE_DEFAULT_: {}
frontendValidation:
caCertificateRefs:
_HULL_OBJECT_TYPE_DEFAULT_: {}
allowedRoutes:
kinds:
_HULL_OBJECT_TYPE_DEFAULT_: {}
##################################################
# GATEWAY API - GRPCROUTE
grpcroute:
_HULL_OBJECT_TYPE_DEFAULT_:
enabled: true
annotations: {}
labels: {}
parentRefs:
_HULL_OBJECT_TYPE_DEFAULT_: {}
rules:
_HULL_OBJECT_TYPE_DEFAULT_:
matches:
_HULL_OBJECT_TYPE_DEFAULT_: {}
filters:
_HULL_OBJECT_TYPE_DEFAULT_: {}
backendRefs:
_HULL_OBJECT_TYPE_DEFAULT_:
filters:
_HULL_OBJECT_TYPE_DEFAULT_: {}
##################################################
# GATEWAY API - REFERENCEGRANT
referencegrant:
_HULL_OBJECT_TYPE_DEFAULT_:
enabled: true
annotations: {}
labels: {}
from:
_HULL_OBJECT_TYPE_DEFAULT_: {}
to:
_HULL_OBJECT_TYPE_DEFAULT_: {}
##################################################
# GATEWAY API - TCPROUTE
tcproute:
_HULL_OBJECT_TYPE_DEFAULT_:
enabled: true
annotations: {}
labels: {}
parentRefs:
_HULL_OBJECT_TYPE_DEFAULT_: {}
rules:
_HULL_OBJECT_TYPE_DEFAULT_:
backendRefs:
_HULL_OBJECT_TYPE_DEFAULT_: {}
##################################################
# GATEWAY API - TLSROUTE
tlsroute:
_HULL_OBJECT_TYPE_DEFAULT_:
enabled: true
annotations: {}
labels: {}
parentRefs:
_HULL_OBJECT_TYPE_DEFAULT_: {}
rules:
_HULL_OBJECT_TYPE_DEFAULT_:
backendRefs:
_HULL_OBJECT_TYPE_DEFAULT_: {}
##################################################
# GATEWAY API - UDPROUTE
udproute:
_HULL_OBJECT_TYPE_DEFAULT_:
enabled: true
annotations: {}
labels: {}
parentRefs:
_HULL_OBJECT_TYPE_DEFAULT_: {}
rules:
_HULL_OBJECT_TYPE_DEFAULT_:
backendRefs:
_HULL_OBJECT_TYPE_DEFAULT_: {}
##################################################
# GATEWAY API - HTTPROUTE
httproute:
_HULL_OBJECT_TYPE_DEFAULT_:
enabled: true
annotations: {}
labels: {}
parentRefs:
_HULL_OBJECT_TYPE_DEFAULT_: {}
rules:
_HULL_OBJECT_TYPE_DEFAULT_:
matches:
_HULL_OBJECT_TYPE_DEFAULT_: {}
filters:
_HULL_OBJECT_TYPE_DEFAULT_: {}
backendRefs:
_HULL_OBJECT_TYPE_DEFAULT_:
filters:
_HULL_OBJECT_TYPE_DEFAULT_: {}
Back to README.md