The module lifecycle stage: Preview
The module has requirements for installation
The Deckhouse Kubernetes Platform installs CRDs but does not remove them when a module is disabled. If you no longer need the created CRDs, delete them.
ALBInstance
Short names: albi
Scope: Namespaced
Version: v1alpha1
Warning. Available in: EE, BE, SE, SE+, CSE
Configuration for an ALB instance (in a user namespace).
A namespaced resource for application or project gateways.
Use it when:
- a team should manage its own Gateway in its own namespace
- the Gateway is dedicated to one project
LoadBalancerinlet mode is enough.
Example:
apiVersion: network.deckhouse.io/v1alpha1
kind: ALBInstance
metadata:
name: app-gw
namespace: app
spec:
gatewayName: app-gw
inlet:
type: LoadBalancer
loadBalancer: {}-
objectspecALBInstance specification defining the gateway, inlet, network restrictions, and data plane placement settings.
-
array of stringsspec.acceptRequestsFromWhitelist of sources allowed to send requests.
-
stringspec.acceptRequestsFrom.Element of the array
Pattern:
^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\/(3[0-2]|[1-2][0-9]|[0-9]))$
-
-
objectspec.additionalHeadersAdditional headers to include in upstream requests.
Examples:
my_static_header: my_valuex-real-ip: '%REQ(CF-CONNECTING-IP)%' -
objectspec.backendTLSTLS client settings propagated to the managed Gateway. A BackendTLSPolicy selects the backends that use this client certificate.
-
objectspec.backendTLS.clientCertificateRefReference to a Kubernetes TLS Secret containing the client certificate and private key. The CA is configured by BackendTLSPolicy.
-
stringspec.backendTLS.clientCertificateRef.name
Required value
Name of the Secret.Minimal length:
1 -
stringspec.backendTLS.clientCertificateRef.namespaceNamespace of the Secret. If omitted, the Gateway namespace is used.
Minimal length:
1
-
-
-
objectspec.basicAuthSpecifies if basic authentication has to be enabled globally.
-
booleanspec.basicAuth.enabledSpecifies whether basic authentication is enabled.
-
objectspec.basicAuth.secretSpecifies the secret name and namespace to use with basic authentication.
-
stringspec.basicAuth.secret.name
Required value
Secret name. -
stringspec.basicAuth.secret.namespace
Required value
Namespace name.
-
-
-
objectspec.controllerPodsAdditionalAnnotationsAdditional annotations for controller/data plane pods.
-
booleanspec.enableHTTP3
Enable HTTP/3 support.
Warning. HTTP/3 can’t be enabled if Proxy Protocol is in use.
-
stringspec.envoyLogLevelDefines log level of Envoy proxies.
Default:
WarningAllowed values:
Off,Critical,Error,Warning,Info,Debug,Trace -
objectspec.frontendTLSFrontend TLS client certificate validation propagated to the managed Gateway.
-
objectspec.frontendTLS.default
Required value
Default validation settings for all HTTPS listeners.-
objectspec.frontendTLS.default.validationClient certificate validation settings.
-
array of objectsspec.frontendTLS.default.validation.caCertificateRefsReferences to ConfigMaps containing trusted client CAs in ca.crt. All referenced CAs are validated and combined inline.
-
stringspec.frontendTLS.default.validation.caCertificateRefs.nameName of the ConfigMap containing the CA in ca.crt.
Minimal length:
1 -
stringspec.frontendTLS.default.validation.caCertificateRefs.namespaceNamespace of the ConfigMap. If omitted, the Gateway namespace is used.
Minimal length:
1
-
-
stringspec.frontendTLS.default.validation.mode
Client certificate validation mode.
AllowValidOnly — this is strict mTLS. AllowInsecureFallback — this is effectively optional, non-enforcing client-certificate validation.
Default:
AllowValidOnlyAllowed values:
AllowValidOnly,AllowInsecureFallback
-
-
-
array of objectsspec.frontendTLS.perPortValidation settings for individual HTTPS listener ports. The port is matched exactly and overrides default settings for that port.
-
integerspec.frontendTLS.perPort.portHTTPS listener port.
Allowed values:
1 <= X <= 65535 -
objectspec.frontendTLS.perPort.tlsValidation settings for this port.
-
objectspec.frontendTLS.perPort.tls.validationClient certificate validation settings.
-
array of objectsspec.frontendTLS.perPort.tls.validation.caCertificateRefsReferences to ConfigMaps containing trusted client CAs in ca.crt. All referenced CAs are validated and combined inline.
-
stringspec.frontendTLS.perPort.tls.validation.caCertificateRefs.nameName of the ConfigMap containing the CA in ca.crt.
Minimal length:
1 -
stringspec.frontendTLS.perPort.tls.validation.caCertificateRefs.namespaceNamespace of the ConfigMap. If omitted, the Gateway namespace is used.
Minimal length:
1
-
-
stringspec.frontendTLS.perPort.tls.validation.mode
Client certificate validation mode.
AllowValidOnly — this is strict mTLS. AllowInsecureFallback — this is effectively optional, non-enforcing client-certificate validation.
Default:
AllowValidOnlyAllowed values:
AllowValidOnly,AllowInsecureFallback
-
-
-
-
-
stringspec.gatewayName
Required value
Name of the Gateway resource this instance belongs to.Length:
1..45 -
objectspec.geoIPGeoIP database downloader configuration for proxy pods.
-
objectspec.geoIP.headersHTTP headers with GeoIP data to attach to requests.
-
stringspec.geoIP.headers.anonThe header for anonymous IP information, such as VPN, proxy, Tor, or hosting-provider detection.
-
stringspec.geoIP.headers.asnThe ASN header.
-
stringspec.geoIP.headers.cityThe city header.
-
stringspec.geoIP.headers.countryThe country code header.
-
stringspec.geoIP.headers.ispThe ISP header.
-
stringspec.geoIP.headers.regionThe region or subdivision header.
-
-
objectspec.geoIP.licenseKeySecretRef
Secret reference with the MaxMind license key.
For
ALBInstance, the referenced secret must be located in the same namespace as the resource.-
stringspec.geoIP.licenseKeySecretRef.name
Required value
-
-
array of stringsspec.geoIP.maxmindEditionIDs
A list of database editions to use.
Warning. Current implementation supports using up to 4 editions.
Default:
[ "GeoLite2-City" ]-
stringspec.geoIP.maxmindEditionIDs.Element of the array
Allowed values:
GeoIP2-Anonymous-IP,GeoIP2-City,GeoIP2-ISP,GeoIP2-ASN,GeoLite2-ASN,GeoLite2-City
-
-
objectspec.geoIP.maxmindMirrorMirror configuration for downloading GeoIP databases. If the parameter is not set, the databases are downloaded directly from
https://download.maxmind.com.-
stringspec.geoIP.maxmindMirror.caCustom CA certificate in PEM format for verifying TLS connections to the mirror.
Example:
ca: | -----BEGIN CERTIFICATE----- ... -----END CERTIFICATE----- -
booleanspec.geoIP.maxmindMirror.insecureSkipVerifySkip TLS certificate verification for the mirror.
-
stringspec.geoIP.maxmindMirror.url
Required value
The URL for downloading GeoIP databases.Pattern:
^https?://.+$Examples:
url: https://mirror.localurl: https://mirror.local/GeoLite2-City.tar.gz
-
-
-
objectspec.inlet
Required value
Inlet defines how traffic enters the data plane.-
array of objectsspec.inlet.additionalPortsAdditional Service ports published besides default 80/443.
-
integerspec.inlet.additionalPorts.portAdditional Service port number.
Allowed values:
1 <= X <= 65535 -
stringspec.inlet.additionalPorts.protocolNetwork protocol for the additional Service port. Supported values:
TCP,UDP.Allowed values:
TCP,UDP
-
-
objectspec.inlet.loadBalancerSettings for the LoadBalancer inlet.
Default:
{}-
integerspec.inlet.loadBalancer.httpPort
Port for insecure HTTP connections. If it is not set,
80port is assumed.Can be set to
0to disable accepting HTTP connections.Allowed values:
0 <= X <= 65535 -
integerspec.inlet.loadBalancer.httpsPort
Port for secure HTTPS connections. If it is not set,
443port is assumed.Can be set to
0to disable accepting HTTPS connections.Allowed values:
0 <= X <= 65535 -
stringspec.inlet.loadBalancer.loadBalancerClass
Class of the load balancer that is passed to the spec.loadBalancerClass parameter of the provisioned service with the LoadBalancer type.
Warning. This field is immutable.
-
objectspec.inlet.loadBalancer.serviceAnnotationsAdditional annotations for the LoadBalancer Service.
-
-
stringspec.inlet.type
Required value
Supported inlet type.Allowed values:
LoadBalancer
-
-
objectspec.istioSidecarSettings for Istio sidecar injection into proxy pods.
-
booleanspec.istioSidecar.enabled
Attaches annotations to the proxy pods to automatically inject Istio sidecar containers.
To use this feature with an HTTPRoute, configure both of the following:
alb.network.deckhouse.io/service-upstream: "true": sends requests to the backend Service ClusterIP instead of directly to application Pods, so the Istio sidecar can intercept the traffic;- a
URLRewritefilter with the backend Service FQDN ashostname: sets the upstream Host so the Istio sidecar can identify the backend Service and establish mTLS.
Example:
metadata: annotations: alb.network.deckhouse.io/service-upstream: "true" spec: rules: - filters: - type: URLRewrite urlRewrite: hostname: httpbin.test-backend.svc.cluster.local -
objectspec.istioSidecar.resourcesResource requests and limits for the injected Istio sidecar container.
-
objectspec.istioSidecar.resources.limitsResource limits.
-
stringspec.istioSidecar.resources.limits.cpuCPU limits.
-
stringspec.istioSidecar.resources.limits.memoryMemory limits.
-
-
objectspec.istioSidecar.resources.requestsResource requests.
-
stringspec.istioSidecar.resources.requests.cpuCPU requests.
-
stringspec.istioSidecar.resources.requests.memoryMemory requests.
-
-
-
-
integerspec.minReplicasMinimum number of Envoy Proxy replicas. If a value greater than 1 is set, a PodDisruptionBudget object is provided.
Default:
1Allowed values:
1 <= X -
objectspec.nodeSelectorNode selector for pods.
-
objectspec.openTelemetryOpenTelemetry configuration for Envoy proxies.
-
objectspec.openTelemetry.tracingOpenTelemetry tracing configuration.
-
numberspec.openTelemetry.tracing.randomSamplingPercentagePercentage of requests that Envoy randomly selects for trace generation.
Default:
25Allowed values:
1 <= X <= 100 -
objectspec.openTelemetry.tracing.tlsTLS settings used by Envoy when connecting to the OpenTelemetry collector.
-
stringspec.openTelemetry.tracing.tls.caSecretNameName of the Kubernetes Secret containing the CA certificate used to verify the OpenTelemetry collector certificate. The Secret must be in the same namespace as the ALBInstance object.
Example:
caSecretName: otel-tracing-ca -
booleanspec.openTelemetry.tracing.tls.insecureSkipVerifyAllows Envoy to connect to the OpenTelemetry collector even if certificate verification fails.
-
stringspec.openTelemetry.tracing.tls.sni
Server Name Indication (SNI) value sent by Envoy during the TLS handshake.
Warning. This setting is required if the OpenTelemetry collector is behind a TLS proxy or load balancer that routes connections based on SNI.
-
array of stringsspec.openTelemetry.tracing.tls.subjectAltNamesList of Subject Alternative Names (SANs) used to verify the OpenTelemetry collector certificate.
-
-
stringspec.openTelemetry.tracing.urlOpenTelemetry collector endpoint URL used for exporting traces.
Pattern:
^(https?|grpc)://([A-Za-z0-9](?:[-A-Za-z0-9]*[A-Za-z0-9])?)(?:\.([A-Za-z0-9](?:[-A-Za-z0-9]*[A-Za-z0-9])?))+(?::(6553[0-5]|655[0-2][0-9]|65[0-4][0-9]{2}|6[0-4][0-9]{3}|[1-5][0-9]{4}|[1-9][0-9]{0,3}))?(?:/[A-Za-z0-9._~!$&'()*+,;=:@%/-]*)?$Examples:
url: http://opentelemetry.collector.localurl: grpc://opentelemetry.collector.localurl: https://opentelemetry.collector.localurl: https://opentelemetry.collector.local:4018url: https://opentelemetry.collector.local:4018/v1/traces
-
-
-
objectspec.originalIPDetectionDefines if the Envoy Proxy has to detect original IP using headers.
-
stringspec.originalIPDetection.realIPHeaderDefines a header to use for original client IP detection.
Default:
X-Forwarded-ForExample:
realIPHeader: X-Real-IP -
array of stringsspec.originalIPDetection.setRealIPFrom
Required value
Specifies CIDR ranges allowed to provide headers for origin IP detection.-
stringspec.originalIPDetection.setRealIPFrom.Element of the array
Pattern:
^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\/(3[0-2]|[1-2][0-9]|[0-9]))$
-
-
-
objectspec.resourcesManagementCPU and memory request and limit settings for the controller Pods.
-
stringspec.resourcesManagement.mode
Required value
Resource management mode.Default:
VPAAllowed values:
VPA,Static -
objectspec.resourcesManagement.staticStatic mode settings.
-
objectspec.resourcesManagement.static.limitsResource limits.
Default:
{}-
stringspec.resourcesManagement.static.limits.cpuCPU limits.
-
stringspec.resourcesManagement.static.limits.memoryMemory limits.
-
-
objectspec.resourcesManagement.static.requestsResource requests.
Default:
{}-
stringspec.resourcesManagement.static.requests.cpuCPU requests.
Default:
350m -
stringspec.resourcesManagement.static.requests.memoryMemory requests.
Default:
500Mi
-
-
-
objectspec.resourcesManagement.vpaResource management settings for the VPA mode.
-
objectspec.resourcesManagement.vpa.cpuCPU-related VPA settings.
Default:
{}-
numberspec.resourcesManagement.vpa.cpu.limitRatio
The CPU limits/requests ratio.
If set, the limits are calculated based on the requests and the specified ratio.
-
stringspec.resourcesManagement.vpa.cpu.maxMaximum value of allowed CPU requests to be submitted by the VPA.
Default:
1500m -
stringspec.resourcesManagement.vpa.cpu.minMinimum value of allowed CPU requests to be submitted by the VPA.
Default:
100m
-
-
objectspec.resourcesManagement.vpa.memoryMemory-related VPA settings.
Default:
{}-
numberspec.resourcesManagement.vpa.memory.limitRatio
The memory limits/requests ratio.
If set, the limits are calculated based on the requests and the specified ratio.
-
stringspec.resourcesManagement.vpa.memory.maxMaximum value of allowed memory requests to be submitted by the VPA.
Default:
2000Mi -
stringspec.resourcesManagement.vpa.memory.minMinimum value of allowed memory requests to be submitted by the VPA.
Default:
500Mi
-
-
stringspec.resourcesManagement.vpa.modeVPA operating mode.
Default:
InitialAllowed values:
Initial,InPlaceOrRecreate
-
-
-
array of objectsspec.tolerationsPod tolerations.
-
stringspec.tolerations.effect
Allowed values:
NoSchedule,PreferNoSchedule,NoExecute -
stringspec.tolerations.key
-
stringspec.tolerations.operator
Allowed values:
Exists,Equal -
integerspec.tolerations.tolerationSeconds
Allowed values:
0 <= X -
stringspec.tolerations.value
-
-
booleanspec.useProxyProtocol
Enable Proxy Protocol support.
Warning. Proxy Protocol can’t be enabled if HTTP/3 is in use.
-
-
objectstatusALBInstance status reflecting the actual state of the associated Gateway and data plane.
-
booleanstatus.conflictBackendTLSTrue when this instance backendTLS conflicts with another instance for the same Gateway.
-
stringstatus.conflictBackendTLSOwnerReference to an instance with a different backendTLS client certificate for this Gateway.
-
booleanstatus.conflictFrontendTLSTrue when this instance frontendTLS conflicts with another instance for the same Gateway.
-
stringstatus.conflictFrontendTLSOwnerReference to an instance with a different frontendTLS configuration for this Gateway.
-
booleanstatus.conflictPortsTrue when this instance additionalPorts are ignored because another older instance with the same gatewayName is authoritative.
-
stringstatus.conflictPortsOwnerReference to the older instance that defines effective additionalPorts for this gatewayName.
-
stringstatus.gatewayEffective Gateway name served by this instance.
-
integerstatus.observedGenerationGeneration of the resource last processed by the controller.
Allowed values:
0 <= X -
booleanstatus.readyTrue when this instance is ready to serve traffic.
-
booleanstatus.syncedTrue when desired and actual resources are in sync.
-
ClusterALBInstance
Short names: calbi
Scope: Cluster
Version: v1alpha1
Configuration for an ALB instance.
A cluster-scoped resource for shared or platform-level gateways in the system namespace.
Use it when:
- the Gateway should be located in the controller namespace
- the gateway is shared between applications or teams
- you need
HostPortinlet mode - you need cluster-level features such as the default Deckhouse Gateway.
Example:
apiVersion: network.deckhouse.io/v1alpha1
kind: ClusterALBInstance
metadata:
name: public-gw
spec:
gatewayName: public-gw
inlet:
type: LoadBalancer
loadBalancer: {}-
objectspecClusterALBInstance specification defining the gateway, inlet, network restrictions, and data plane placement settings.
-
array of stringsspec.acceptRequestsFromWhitelist of sources allowed to send requests.
-
stringspec.acceptRequestsFrom.Element of the array
Pattern:
^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\/(3[0-2]|[1-2][0-9]|[0-9]))$
-
-
objectspec.additionalHeadersAdditional HTTP headers to add.
Examples:
my_static_header: my_valuex-real-ip: '%REQ(CF-CONNECTING-IP)%' -
objectspec.backendTLSTLS client settings propagated to the managed Gateway. A BackendTLSPolicy selects the backends that use this client certificate.
-
objectspec.backendTLS.clientCertificateRefReference to a Kubernetes TLS Secret containing the client certificate and private key. The CA is configured by BackendTLSPolicy.
-
stringspec.backendTLS.clientCertificateRef.name
Required value
Name of the Secret.Minimal length:
1 -
stringspec.backendTLS.clientCertificateRef.namespaceNamespace of the Secret. If omitted, the Gateway namespace is used.
Minimal length:
1
-
-
-
objectspec.basicAuthSpecifies if basic authentication has to be enabled globally.
-
booleanspec.basicAuth.enabledSpecifies whether basic authentication is enabled.
-
objectspec.basicAuth.secretSpecifies the secret name and namespace to use with basic authentication.
-
stringspec.basicAuth.secret.name
Required value
Secret name. -
stringspec.basicAuth.secret.namespace
Required value
Namespace name.
-
-
-
objectspec.controllerPodsAdditionalAnnotationsAdditional annotations for controller/data plane pods.
-
booleanspec.defaultDeckhouseGateway
Marks the gateway as the default Deckhouse Gateway in the cluster. This gateway is used to serve Deckhouse HTTP/HTTPS endpoints.
Warning. If more than one gateway is marked as the default, the oldest gateway is selected as the default gateway.
Warning. Currently, the default gateway must have both HTTP and HTTPS ports configured.
-
booleanspec.enableHTTP3
Enable HTTP/3 support.
Warning. HTTP/3 can’t be enabled if Proxy Protocol is in use.
-
stringspec.envoyLogLevelDefines log level of Envoy proxies.
Default:
WarningAllowed values:
Off,Critical,Error,Warning,Info,Debug,Trace -
objectspec.frontendTLSFrontend TLS client certificate validation propagated to the managed Gateway.
-
objectspec.frontendTLS.default
Required value
Default validation settings for all HTTPS listeners.-
objectspec.frontendTLS.default.validationClient certificate validation settings.
-
array of objectsspec.frontendTLS.default.validation.caCertificateRefsReferences to ConfigMaps containing trusted client CAs in ca.crt. All referenced CAs are validated and combined inline.
-
stringspec.frontendTLS.default.validation.caCertificateRefs.nameName of the ConfigMap containing the CA in ca.crt.
Minimal length:
1 -
stringspec.frontendTLS.default.validation.caCertificateRefs.namespaceNamespace of the ConfigMap. If omitted, the Gateway namespace is used.
Minimal length:
1
-
-
stringspec.frontendTLS.default.validation.mode
Client certificate validation mode.
AllowValidOnly — this is strict mTLS. AllowInsecureFallback — this is effectively optional, non-enforcing client-certificate validation.
Default:
AllowValidOnlyAllowed values:
AllowValidOnly,AllowInsecureFallback
-
-
-
array of objectsspec.frontendTLS.perPortValidation settings for individual HTTPS listener ports. The port is matched exactly and overrides default settings for that port.
-
integerspec.frontendTLS.perPort.portHTTPS listener port.
Allowed values:
1 <= X <= 65535 -
objectspec.frontendTLS.perPort.tlsValidation settings for this port.
-
objectspec.frontendTLS.perPort.tls.validationClient certificate validation settings.
-
array of objectsspec.frontendTLS.perPort.tls.validation.caCertificateRefsReferences to ConfigMaps containing trusted client CAs in ca.crt. All referenced CAs are validated and combined inline.
-
stringspec.frontendTLS.perPort.tls.validation.caCertificateRefs.nameName of the ConfigMap containing the CA in ca.crt.
Minimal length:
1 -
stringspec.frontendTLS.perPort.tls.validation.caCertificateRefs.namespaceNamespace of the ConfigMap. If omitted, the Gateway namespace is used.
Minimal length:
1
-
-
stringspec.frontendTLS.perPort.tls.validation.mode
Client certificate validation mode.
AllowValidOnly — this is strict mTLS. AllowInsecureFallback — this is effectively optional, non-enforcing client-certificate validation.
Default:
AllowValidOnlyAllowed values:
AllowValidOnly,AllowInsecureFallback
-
-
-
-
-
stringspec.gatewayName
Required value
Name of the Gateway resource this instance belongs to.Length:
1..45 -
objectspec.geoIPGeoIP database downloader configuration for proxy pods.
-
objectspec.geoIP.headersHTTP headers with GeoIP data to attach to requests.
-
stringspec.geoIP.headers.anonThe header for anonymous IP information, such as VPN, proxy, Tor, or hosting-provider detection.
-
stringspec.geoIP.headers.asnThe ASN header.
-
stringspec.geoIP.headers.cityThe city header.
-
stringspec.geoIP.headers.countryThe country code header.
-
stringspec.geoIP.headers.ispThe ISP header.
-
stringspec.geoIP.headers.regionThe region or subdivision header.
-
-
objectspec.geoIP.licenseKeySecretRef
Secret reference with the MaxMind license key.
For
ClusterALBInstance, the secret may reside in any namespace, with a preference ford8-alb.-
stringspec.geoIP.licenseKeySecretRef.name
Required value
-
stringspec.geoIP.licenseKeySecretRef.namespace
Required value
-
-
array of stringsspec.geoIP.maxmindEditionIDs
A list of database editions to use.
Warning. Current implementation supports using up to 4 editions.
Default:
[ "GeoLite2-City" ]-
stringspec.geoIP.maxmindEditionIDs.Element of the array
Allowed values:
GeoIP2-Anonymous-IP,GeoIP2-City,GeoIP2-ISP,GeoIP2-ASN,GeoLite2-ASN,GeoLite2-City
-
-
objectspec.geoIP.maxmindMirrorMirror configuration for downloading GeoIP databases. If the parameter is not set, the databases are downloaded directly from
https://download.maxmind.com.-
stringspec.geoIP.maxmindMirror.caCustom CA certificate in PEM format for verifying TLS connections to the mirror.
Example:
ca: | -----BEGIN CERTIFICATE----- ... -----END CERTIFICATE----- -
booleanspec.geoIP.maxmindMirror.insecureSkipVerifySkip TLS certificate verification for the mirror.
-
stringspec.geoIP.maxmindMirror.url
Required value
The URL for downloading GeoIP databases.Pattern:
^https?://.+$Examples:
url: https://mirror.localurl: https://mirror.local/GeoLite2-City.tar.gz
-
-
-
objectspec.inlet
Required value
Inlet defines how traffic enters the data plane.-
array of objectsspec.inlet.additionalPortsAdditional Service ports published besides default 80/443. For HostPort inlets these ports are also bound as Pod hostPorts on the managed DaemonSet.
-
integerspec.inlet.additionalPorts.portAdditional Service port number.
Allowed values:
1 <= X <= 65535 -
stringspec.inlet.additionalPorts.protocolNetwork protocol for the additional Service port. Supported values:
TCP,UDP.Allowed values:
TCP,UDP
-
-
objectspec.inlet.hostPort
HostPortinlet settings.-
integerspec.inlet.hostPort.httpPort
Port for insecure HTTP connections.
If the parameter is not set, the connection over HTTP cannot be established.
This parameter is mandatory if
httpsPortis not set.Allowed values:
1 <= X <= 65535 -
integerspec.inlet.hostPort.httpsPort
Port for secure HTTPS connections.
If the parameter is not set, the connection over HTTPS cannot be established.
This parameter is mandatory if
httpPortis not set.Allowed values:
1 <= X <= 65535
-
-
objectspec.inlet.loadBalancerSettings for the LoadBalancer inlet.
-
integerspec.inlet.loadBalancer.httpPort
Port for insecure HTTP connections. If it is not set,
80port is assumed.Can be set to
0to disable accepting HTTP connections.Allowed values:
0 <= X <= 65535 -
integerspec.inlet.loadBalancer.httpsPort
Port for secure HTTPS connections. If it is not set,
443port is assumed.Can be set to
0to disable accepting HTTPS connections.Allowed values:
0 <= X <= 65535 -
stringspec.inlet.loadBalancer.loadBalancerClass
Class of the load balancer that is passed to the spec.loadBalancerClass parameter of the provisioned service with the LoadBalancer type.
Warning. This field is immutable.
-
objectspec.inlet.loadBalancer.serviceAnnotationsAdditional annotations for the LoadBalancer Service.
-
-
stringspec.inlet.type
Required value
Supported inlet type.Allowed values:
LoadBalancer,HostPort
-
-
objectspec.istioSidecarSettings for Istio sidecar injection into proxy pods.
-
booleanspec.istioSidecar.enabled
Attaches annotations to the proxy pods to automatically inject Istio sidecar containers.
To use this feature with an HTTPRoute, configure both of the following:
alb.network.deckhouse.io/service-upstream: "true": sends requests to the backend Service ClusterIP instead of directly to application Pods, so the Istio sidecar can intercept the traffic;- a
URLRewritefilter with the backend Service FQDN ashostname: sets the upstream Host so the Istio sidecar can identify the backend Service and establish mTLS.
Example:
metadata: annotations: alb.network.deckhouse.io/service-upstream: "true" spec: rules: - filters: - type: URLRewrite urlRewrite: hostname: httpbin.test-backend.svc.cluster.local -
objectspec.istioSidecar.resourcesResource requests and limits for the injected Istio sidecar container.
-
objectspec.istioSidecar.resources.limitsResource limits.
-
stringspec.istioSidecar.resources.limits.cpuCPU limits.
-
stringspec.istioSidecar.resources.limits.memoryMemory limits.
-
-
objectspec.istioSidecar.resources.requestsResource requests.
-
stringspec.istioSidecar.resources.requests.cpuCPU requests.
-
stringspec.istioSidecar.resources.requests.memoryMemory requests.
-
-
-
-
objectspec.nodeSelectorNode selector for pods.
-
objectspec.openTelemetryOpenTelemetry configuration for Envoy proxies.
-
objectspec.openTelemetry.tracingOpenTelemetry tracing configuration.
-
numberspec.openTelemetry.tracing.randomSamplingPercentagePercentage of requests that Envoy randomly selects for trace generation.
Default:
25Allowed values:
1 <= X <= 100 -
objectspec.openTelemetry.tracing.tlsTLS settings used by Envoy when connecting to the OpenTelemetry collector.
-
stringspec.openTelemetry.tracing.tls.caSecretNameName of the Kubernetes Secret containing the CA certificate used to verify the OpenTelemetry collector certificate. The Secret must be in the
d8-albnamespace.Example:
caSecretName: otel-tracing-ca -
booleanspec.openTelemetry.tracing.tls.insecureSkipVerifyAllows Envoy to connect to the OpenTelemetry collector even if certificate verification fails.
-
stringspec.openTelemetry.tracing.tls.sni
Server Name Indication (SNI) value sent by Envoy during the TLS handshake.
Warning. This setting is required if the OpenTelemetry collector is behind a TLS proxy or load balancer that routes connections based on SNI.
-
array of stringsspec.openTelemetry.tracing.tls.subjectAltNamesList of Subject Alternative Names (SANs) used to verify the OpenTelemetry collector certificate.
-
-
stringspec.openTelemetry.tracing.urlOpenTelemetry collector endpoint URL used for exporting traces.
Pattern:
^(https?|grpc)://([A-Za-z0-9](?:[-A-Za-z0-9]*[A-Za-z0-9])?)(?:\.([A-Za-z0-9](?:[-A-Za-z0-9]*[A-Za-z0-9])?))+(?::(6553[0-5]|655[0-2][0-9]|65[0-4][0-9]{2}|6[0-4][0-9]{3}|[1-5][0-9]{4}|[1-9][0-9]{0,3}))?(?:/[A-Za-z0-9._~!$&'()*+,;=:@%/-]*)?$Examples:
url: http://opentelemetry.collector.localurl: grpc://opentelemetry.collector.localurl: https://opentelemetry.collector.localurl: https://opentelemetry.collector.local:4018url: https://opentelemetry.collector.local:4018/v1/traces
-
-
-
objectspec.originalIPDetectionDefines if the Envoy Proxy has to detect original IP using headers.
-
stringspec.originalIPDetection.realIPHeaderDefines a header to use for original client IP detection.
Default:
X-Forwarded-ForExample:
realIPHeader: X-Real-IP -
array of stringsspec.originalIPDetection.setRealIPFrom
Required value
Specifies CIDR ranges allowed to provide headers for origin IP detection.-
stringspec.originalIPDetection.setRealIPFrom.Element of the array
Pattern:
^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\/(3[0-2]|[1-2][0-9]|[0-9]))$
-
-
-
objectspec.resourcesManagementCPU and memory request and limit settings for the controller Pods.
-
stringspec.resourcesManagement.mode
Required value
Resource management mode.Default:
VPAAllowed values:
VPA,Static -
objectspec.resourcesManagement.staticStatic mode settings.
-
objectspec.resourcesManagement.static.limitsResource limits.
Default:
{}-
stringspec.resourcesManagement.static.limits.cpuCPU limits.
-
stringspec.resourcesManagement.static.limits.memoryMemory limits.
-
-
objectspec.resourcesManagement.static.requestsResource requests.
Default:
{}-
stringspec.resourcesManagement.static.requests.cpuCPU requests.
Default:
350m -
stringspec.resourcesManagement.static.requests.memoryMemory requests.
Default:
500Mi
-
-
-
objectspec.resourcesManagement.vpaResource management settings for the VPA mode.
-
objectspec.resourcesManagement.vpa.cpuCPU-related VPA settings.
Default:
{}-
numberspec.resourcesManagement.vpa.cpu.limitRatio
The CPU limits/requests ratio.
If set, the limits are calculated based on the requests and the specified ratio.
-
stringspec.resourcesManagement.vpa.cpu.maxMaximum value of allowed CPU requests to be submitted by the VPA.
Default:
1500m -
stringspec.resourcesManagement.vpa.cpu.minMinimum value of allowed CPU requests to be submitted by the VPA.
Default:
100m
-
-
objectspec.resourcesManagement.vpa.memoryMemory-related VPA settings.
Default:
{}-
numberspec.resourcesManagement.vpa.memory.limitRatio
The memory limits/requests ratio.
If set, the limits are calculated based on the requests and the specified ratio.
-
stringspec.resourcesManagement.vpa.memory.maxMaximum value of allowed memory requests to be submitted by the VPA.
Default:
2000Mi -
stringspec.resourcesManagement.vpa.memory.minMinimum value of allowed memory requests to be submitted by the VPA.
Default:
500Mi
-
-
stringspec.resourcesManagement.vpa.modeVPA operating mode.
Default:
InitialAllowed values:
Initial,InPlaceOrRecreate
-
-
-
array of objectsspec.tolerationsPod tolerations.
-
stringspec.tolerations.effect
Allowed values:
NoSchedule,PreferNoSchedule,NoExecute -
stringspec.tolerations.key
-
stringspec.tolerations.operator
Allowed values:
Exists,Equal -
integerspec.tolerations.tolerationSeconds
Allowed values:
0 <= X -
stringspec.tolerations.value
-
-
booleanspec.useProxyProtocol
Enable Proxy Protocol support.
Warning. Proxy Protocol can’t be enabled if HTTP/3 is in use.
-
-
objectstatusClusterALBInstance status reflecting the actual state of the associated Gateway and data plane.
-
booleanstatus.conflictBackendTLSTrue when this instance backendTLS conflicts with another instance for the same Gateway.
-
stringstatus.conflictBackendTLSOwnerReference to an instance with a different backendTLS client certificate for this Gateway.
-
booleanstatus.conflictFrontendTLSTrue when this instance frontendTLS conflicts with another instance for the same Gateway.
-
stringstatus.conflictFrontendTLSOwnerReference to an instance with a different frontendTLS configuration for this Gateway.
-
booleanstatus.conflictPortsTrue when this instance additionalPorts are ignored because another older instance with the same gatewayName is authoritative.
-
stringstatus.conflictPortsOwnerReference to the older instance that defines effective additionalPorts for this gatewayName.
-
booleanstatus.defaultDeckhouseGatewayTrue when this cluster ClusterALBInstance is selected as default gateway source.
-
stringstatus.gatewayEffective Gateway name served by this instance.
-
integerstatus.observedGenerationGeneration of the resource last processed by the controller.
Allowed values:
0 <= X -
booleanstatus.readyTrue when this instance is ready to serve traffic.
-
booleanstatus.syncedTrue when desired and actual resources are in sync.
-