|
CloudBees Beta
This feature is available as a beta release and is subject to change without notice. CloudBees recommends stringent testing in a development environment and a complete review of the documentation and architecture before using it in production. |
This content applies only to CloudBees CI on modern cloud platforms.
CloudBees CI on modern cloud platforms uses specific features from the Kubernetes Gateway API specification. Verify that your chosen implementation supports the features below for CloudBees CI on modern cloud platforms to function correctly. If a Gateway API feature is not listed here, it is not required for CloudBees CI on modern cloud platforms. For the full list of tested and conformant implementations, refer to Kubernetes Gateway API supported implementations.
|
This list reflects CloudBees CI on modern cloud platforms requirements as of the current release. Future versions may require additional Gateway API features. Check these requirements when upgrading CloudBees CI on modern cloud platforms or changing your Gateway API implementation. |
Required and recommended features
CloudBees CI on modern cloud platforms requires a Gateway API implementation that achieves GATEWAY-HTTP conformance.
All Core features (such as HTTPRoute and cross-namespace routing) are guaranteed by this conformance profile and do not need per-feature verification.
Refer to Core features for details on how CloudBees CI on modern cloud platforms uses Core features.
The following table lists the Extended features CloudBees CI on modern cloud platforms requires beyond the Core conformance baseline. Extended features are portable but not universally supported; implementations that do not support an Extended feature may silently ignore it. Verify that your implementation supports these features before deploying CloudBees CI on modern cloud platforms.
| Feature | Required | Purpose |
|---|---|---|
Conditional |
Redirects the root path to the operations center context path (for example, |
|
Conditional |
Provides cookie-based sticky sessions for High Availability (HA) and Horizontal Scalability (HS) controllers. Not needed if you do not use HA/HS controllers. |
|
Recommended |
Redirects HTTP to HTTPS. Customer-managed; not created by CloudBees CI on modern cloud platforms. |
|
Conditional |
Required for external WebSocket-based agents connecting through the |
|
Use the Gateway API implementation wizard or the implementations page to check which features your implementation supports.
Focus on the |
Core features
All Core features are guaranteed by GATEWAY-HTTP conformance; you do not need to verify them individually.
This section describes how CloudBees CI on modern cloud platforms uses Core features.
HTTPRoute
CloudBees CI on modern cloud platforms creates HTTPRoute resources to route traffic to the operations center, managed controllers, and infrastructure services (for example, CasC retriever, CasC bundle service, hibernation monitor, and SSO relay).
The following HTTPRoute capabilities are used:
-
parentRefs: EachHTTPRoutereferences the customer’sGatewayresource by name and namespace. The optionalsectionNamefield targets a specific Gateway listener. -
Hostname matching:
HTTPRouteresources specifyhostnamesto match incoming requests to the correct service. -
Path matching:
HTTPRouteresources usePathPrefixandExactpath types to route requests. -
Backend references:
HTTPRouteresources reference KubernetesServiceresources as backends.
Gateway with cross-namespace routing
Cross-namespace routing is a Core feature, but it requires explicit configuration on your Gateway resource:
-
Cross-namespace routing:
allowedRoutes.namespaces.frommust be set toSelector(orAllfor development environments). CloudBees CI on modern cloud platforms deploysHTTPRouteresources in application namespaces that must attach to aGatewayin an infrastructure namespace. Without cross-namespace routing,HTTPRouteresources created by CloudBees CI on modern cloud platforms fail to attach to theGateway. -
Namespace label selector: When using
Selector, namespaces containing operations center or managed controller services must have the matching label (for example,cloudbees.com/gateway-routes: enabled).
For detailed Gateway verification steps, refer to Verify Gateway resource.
Extended features
Extended features are portable across implementations that support them but are not universally available. Verify that your Gateway API implementation supports these features before deploying CloudBees CI on modern cloud platforms.
HTTPRoute Path Redirect (path-based routing only)
The HTTPRoute Path Redirect (HTTPRoutePathRedirect) enables the RequestRedirect filter with path replacement.
When using path-based routing, CloudBees CI on modern cloud platforms creates an HTTPRoute rule that redirects the root path (/) to the operations center context path (for example, /cjoc/) with an HTTP 301 status code.
This redirect is not needed for subdomain-based routing, where each service has its own hostname.
Most implementations that achieve GATEWAY-HTTP conformance support this feature.
Session persistence (HA/HS controllers only)
CloudBees CI on modern cloud platforms uses the sessionPersistence field on HTTPRoute rules (GEP-1619) to provide cookie-based sticky sessions for HA and HS controllers.
When a controller is configured for replication, CloudBees CI on modern cloud platforms automatically adds session persistence to its HTTPRoute.
This feature requires:
-
Experimental channel CustomResourceDefinitions (CRDs): The
sessionPersistencefield is only available when Gateway API experimental channel CRDs are installed. Refer to Verify experimental channel CRDs. -
Implementation support: Not all Gateway API implementations support
sessionPersistence. Implementations that do not support it silently ignore the field, which means sticky sessions are not enforced and HA controllers may not function correctly.
For the current status of sessionPersistence support across implementations tested by CloudBees, refer to session persistence implementation support.
HTTPRoute Scheme Redirect
The HTTPRoute Scheme Redirect (HTTPRouteSchemeRedirect) enables the RequestRedirect filter with scheme replacement.
CloudBees CI on modern cloud platforms does not manage HTTP-to-HTTPS redirects.
CloudBees recommends configuring an HTTPRoute with a RequestRedirect filter that changes the scheme from http to https to prevent users from accessing CloudBees CI on modern cloud platforms over unencrypted HTTP.
For an example configuration, refer to Recommended Gateway-level routing configuration.
HTTPRoute Backend Protocol WebSocket (external agents only)
The HTTPRoute Backend Protocol WebSocket (HTTPRouteBackendProtocolWebSocket) enables WebSocket protocol support for backend connections.
CloudBees CI on modern cloud platforms requires this feature when external WebSocket-based agents connect through the Gateway.
Provider-specific considerations
Some Gateway API implementations require additional configuration beyond the standard Gateway API specification. Provider-specific requirements identified by CloudBees are listed below.
| Implementation | Considerations |
|---|---|
Istio |
Does not support |
Google Kubernetes Engine (GKE) Gateway Controller |
Does not support |
Azure Kubernetes Service (AKS) Application Gateway for Containers |
Does not support |
Traefik |
Does not support |
|
This table is not exhaustive. If your Gateway API implementation requires additional configuration, refer to your implementation’s documentation or contact CloudBees Support. |