Connection Pipeline
Status: Unavailable through NexoConnectionPipeline: the schema is installed but not consumed, and the connection phase is not executed. Use only the bundle-supported standalone NexoConnectionPooler behavior.
:::caution No supported deployment contract
This capability is documented for catalog completeness, but the selected release does not publish a supported end-to-end deployment contract.
:::
This page belongs to the immutable 0.2.0 Private Preview documentation.
At a glance
| Property | Value |
|---|---|
| Pipeline phase | Connection |
| Category | Connection |
| Canonical minimum tier | Free |
| Legacy dashboard tier label | Free |
| Legacy rendered name | Connection Pipeline Pooling |
| Legacy rendered summary | Pooling is now a Connection Pipeline setting, not a standalone pipeline step. |
| Canonical entitlement | Yes |
| Supported deployment contract | No |
| Release status | Unavailable through NexoConnectionPipeline: the schema is installed but not consumed, and the connection phase is not executed. Use only the bundle-supported standalone NexoConnectionPooler behavior. |
Release accuracy
- 0.2.0 Private Preview: Unavailable through NexoConnectionPipeline: the schema is installed but not consumed, and the connection phase is not executed. Use only the bundle-supported standalone NexoConnectionPooler behavior.
The detailed material below preserves every section rendered by the legacy dashboard. Where it conflicts with the release status above, the release status is authoritative. Legacy field names and examples are not a substitute for the selected bundle's CRD and runtime contract. Unsafe legacy wording is retained in metadata for traceability but is corrected in the rendered guidance.
Release-aware feature flow. The diagram is explanatory; the release status on this page is authoritative.
Diagram resources: Open the SVG full screen · Download the editable Excalidraw source
Performance impact
:::warning Legacy, unverified performance claims
These numbers are preserved for documentation parity with the legacy dashboard. They are not current benchmarks or service guarantees and have not been verified by the current test suite.
:::
| Percentile | Legacy claim |
|---|---|
| P50 | 0ms |
| P95 | 0ms |
| P99 | 0ms |
Legacy note: Increment 1 is a configuration fold; transaction pooling runs as session until the engine ships.
Overview
Connection pooling is configured on the always-present Connection Pipeline under spec.pooling. New deployments no longer emit a builtin:connection-pooler step or a NexoConnectionPooler CRD.
Increment 1 supports the CRD contract shape { mode, maxServerConnections, minIdleConnections, maxConnectionAge }. The dashboard surfaces mode today and keeps the capacity knobs internal until the runtime can honor them. Default mode is session to preserve current effective behavior.
Modes: none disables pooling, session pins server connections for the client session, and transaction is accepted for forward compatibility. Until the Increment 2 engine ships, transaction degrades to session at runtime. Tier caps still apply to pooling.maxServerConnections when it is authored by config import or future UI.
When to use
- Keeping the connection-layer behavior in one NexoConnectionPipeline object
- Preserving current session-style connection behavior on new deploys
- Preparing manifests for the future transaction pooling engine without emitting the retired pooler step
How it works
- The locked Connection Pipeline CRD carries spec.pooling.
- Dashboard defaults spec.pooling.mode to session.
- New deployments reference only NexoConnectionPipeline through connectionPipelineRef.
- The old builtin:connection-pooler step is hidden and filtered so it cannot round-trip into pipeline.spec.connection[].
- transaction is accepted but currently executes with session semantics until the engine ships.
Configuration
The table preserves the legacy dashboard field reference. “Not specified” means the legacy source did not declare required semantics.
| Field | Legacy UI type | Legacy default | Required | Description |
|---|---|---|---|---|
pooling.mode | select | session | Not specified | none = disabled; session = current default; transaction = accepted but currently session-compatible |
pooling.maxServerConnections | number | unset | Not specified | Optional server connection cap; clamped by tier when present |
pooling.minIdleConnections | number | unset | Not specified | Reserved for the runtime engine; preserved when present but not shown in Increment 1 UI |
pooling.maxConnectionAge | duration | unset | Not specified | Reserved for the runtime engine; preserved when present but not shown in Increment 1 UI |
Settings reference
The legacy page did not render an additional anchored settings reference.
Examples
Default session pooling on the Connection Pipeline
apiVersion: nexo.io/v1alpha1
kind: NexoConnectionPipeline
spec:
pooling:
mode: session
Forward-compatible transaction mode
apiVersion: nexo.io/v1alpha1
kind: NexoConnectionPipeline
spec:
pooling:
mode: transaction # accepted today; behaves as session until Increment 2
Disable pooling
apiVersion: nexo.io/v1alpha1
kind: NexoConnectionPipeline
spec:
pooling:
mode: none
Best practices
- Configure pooling from the Connection Pipeline panel rather than adding a standalone step
- Use session mode for production in Increment 1 because it matches the current runtime behavior
- Treat transaction mode as a forward-compatible preview until the engine ships
- Do not rely on elasticity, partitioning, or borrowing controls yet; those are deferred to Increment 2
Limitations
- The standalone builtin:connection-pooler step and NexoConnectionPooler emission are retired for new dashboard deploys
- transaction mode degrades to session at runtime until the engine ships
- maxServerConnections/minIdleConnections/maxConnectionAge are part of the CRD contract but not surfaced as Increment 1 UI knobs
Security and operational guidance
- Use authenticated, non-spoofable identity sources
- Certificate or static tenant identity is safer than a client-controlled connection string or BSON field
- Store credentials and keys through supported secret references
- Transaction pooling is forward-compatible configuration and may degrade to session behavior until a supporting engine is published
- NexoConnectionPipeline is unavailable in 0.2.0, and SCRAM-SHA-256 or LDAP settings must not be treated as active authentication
Related steps
Release availability
- 0.2.0 Private Preview: Unavailable through NexoConnectionPipeline: the schema is installed but not consumed, and the connection phase is not executed. Use only the bundle-supported standalone NexoConnectionPooler behavior.
See the component catalog for the complete comparison matrix.