Skip to main content

Module provision

Module provision 

Source
Available on crate feature gateway-api only.
Expand description

The provisioned mode (RWS_CONFIG_GATEWAY_API_MODE=provisioned): every Gateway gets its own Deployment of rws data-plane pods, in the controller’s namespace and under its ServiceAccount, so no Gateway shares pods with another. Those pods run with RWS_CONFIG_GATEWAY_API_GATEWAY=<namespace>/<name>: they watch like the controller but serve only that Gateway and never write. The Gateway’s Service lists them in its EndpointSlice (super::services). A Deployment can’t be owned by an object in another namespace, so the controller deletes those whose Gateway is gone (stale).

Structs§

ProvisionSettings

Constants§

APP_NAME
app.kubernetes.io/name of provisioned pods.
GATEWAY_NAMESPACE_LABEL
The Gateway’s namespace on its Deployment and pods.

Functions§

deployment_name
rws-gw-<namespace>-<name>, shortened with a hash past 63 characters.
desired
The Deployment each Gateway should have, keyed by (its namespace, name).
pod_labels
The labels of a Gateway’s pods (and its Deployment’s selector).
same
Whether current already runs what desired asks for (the fields rws sets).
stale
Provisioned Deployments in deployments whose Gateway no longer wants one.