The Traversal Connector is a lightweight service that establishes an outbound, mTLS-encrypted connection to the Traversal control plane, allowing Traversal to access your private data sources without any inbound network access. For an architectural overview, see Traversal Connector. The connector ships as a single container image and supports two deployment paths: a Helm chart for Kubernetes (the recommended path), or running the image directly on any container runtime — Docker on EC2, systemd-managed containers, Nomad, etc. — configured through environment variables.Documentation Index
Fetch the complete documentation index at: https://docs.traversal.com/llms.txt
Use this file to discover all available pages before exploring further.
If your environment restricts outbound traffic, see Network allowlisting for the IPs to allow before deploying.
Client certificate
The connector authenticates to the Traversal control plane over mTLS. The recommended way to provision the client certificate is to generate the private key in your own environment and send Traversal a Certificate Signing Request (CSR) — the private key never leaves your environment, and Traversal countersigns the CSR with its certificate authority. Before you start, you’ll need:openssl(1.1.1 or newer, for-addextsupport), or any tool that can produce a PKCS#10 CSR with a SAN URI extension.- Your tenant UUID and tenant name, both provided by Traversal.
Generate a private key
Generate a private key locally and store it in a secure location. The key never leaves your environment.P-256 is the SPIFFE-recommended algorithm. RSA 2048+ also works if your platform requires it (
openssl genpkey -algorithm RSA -pkeyopt rsa_keygen_bits:2048 -out client.key).Create the CSR
Generate a CSR that embeds the SPIFFE URI as a SAN. Substitute Verify the SAN URI is encoded correctly before sending:You should see your
<tenant-uuid> and <tenant-name> with the values Traversal shared with you.spiffe://... URI on the next line.Send the CSR to Traversal
Share
client.csr with Traversal through the secure channel agreed upon during onboarding.Do not share client.key — keeping the private key in your environment is the whole point of this flow.Receive your signed certificate
Traversal signs the CSR with its certificate authority and returns your signed client certificate:
client.crt— valid for the lifetime issued by Traversal.
client.key you generated in Step 1, these are the two files you’ll plug into the deployment configuration below.Where these files go depends on your deployment path:
- Helm:
client.crtandclient.keypopulatecontrollerTLS.certPEMandcontrollerTLS.keyPEM. See Required values. - Other: the same two files populate
TLS_CERT_BASE64andTLS_KEY_BASE64(each base64-encoded). See Required.
Deployment
- Use Helm on K8s
- Other
A Helm-based Kubernetes deployment is composed of three artifacts. The image and chart are published openly; only the values file requires authentication, since it may carry credentials issued for your deployment.The pulled chart includes a
All other fields — replica count, resource requests, redaction rules, scheduling — are optional and have sensible defaults.The pod establishes its connection to the Traversal control plane within a few seconds of starting; its readiness probe gates traffic until the connection is live.The connector watches the rules file and hot-reloads it whenever the content changes. No restart is required. If the file is missing, unreadable, or contains an invalid pattern when hot-reloaded, the connector exits rather than using the new, invalid, redaction configuration.See Redaction for the rules file format and field filtering options.
Container image
Public, built from the open-source connector repo.
Helm chart
Public OCI artifact. Generic across all deployments.
Values file
Per-deployment. Pulled with a Traversal-issued token.
Container image
The connector is open source. The source lives in the traversal-connector repository on GitHub, and Traversal builds and publishes the image to the traversalext/traversal-connector repository on Docker Hub. The image is public, so by default your cluster pulls it directly from Docker Hub.If your security policy requires it, you can also build the image yourself from the public source or mirror the published image into an internal registry — overrideimage.repository (and image.pullSecrets, if your registry requires authentication) in your values when installing the chart.Helm chart
The Helm chart is published as a public OCI artifact atoci://registry-1.docker.io/traversalext/traversal-connector-charts. The chart is generic across all deployments — it contains no customer-specific configuration — so you can inspect or vendor it freely with standard Helm tooling:values.yaml template that documents every supported field and indicates which ones are required.Required values
The chart and connector together require four fields. Traversal pre-populates all four in the values file it builds for you, so you don’t typically need to set them manually:| Field | What it is |
|---|---|
envName | A short label identifying your deployment environment (for example, acme-prod). Tags the connector’s metrics, logs, and traces, and identifies your deployment on the control plane side. |
controllerURL | The URL of the Traversal control plane this connector reaches. |
controllerTLS | The mTLS material the connector presents when authenticating to the control plane: a client certificate and its private key. Supplied inline as PEM strings (the chart renders a Kubernetes Secret) or by referencing the name of an existing Secret you manage. A custom CA certificate (controllerTLS.caPEM) is supported but optional — if not set, the system trust store is used. |
otel | OTLP telemetry endpoints: otel.metricsEndpoint, otel.tracesEndpoint, and otel.logsEndpoint. The connector exports its operational metrics, traces, and logs to these endpoints. |
Values file
The values file holds your deployment-specific configuration: yourenvName and controllerURL, your connector’s mTLS material, and any deployment-specific tuning or telemetry destinations.Because it may embed private key material, the values file is not published publicly. Instead, Traversal builds it for you and packages it as an OCI artifact in a private Docker Hub namespace, alongside the chart.Receive credentials from Traversal
Through a secure channel, Traversal shares with you a Docker Hub access token, scoped read-only to your deployment’s namespace, and the artifact reference for your values file (for example,
registry-1.docker.io/traversalext/traversal-connector-charts-<your-deployment>:<version>).The Docker Hub username is always traversalext. Only the token is per-customer.Install the ORAS CLI
The values file is published as an OCI artifact, which Helm doesn’t natively pull. Install the ORAS CLI:See the ORAS installation guide for non-macOS platforms.
Installing
With the chart and values file in hand, install in whatever way fits your environment —helm install directly, a GitOps pipeline (ArgoCD, Flux) referencing the OCI chart, or an internal Helm registry mirror. As a minimal end-to-end example using Helm directly:Redaction
Setredaction.enabled in your Helm values and provide a rules file using one of two options:When using
existingConfigMap, the key inside that resource must be named redaction-rules.toml.Want to learn more?
Redaction
Rules file format, field filtering, mount examples, and hot-reload behaviour.
Connector architecture
How the connection works, what data flows where, and why no inbound network access is required.
Source on GitHub
Traversal Connector source code — inspect it, or build your own image.
ORAS CLI
Pull OCI artifacts from any registry.
Helm OCI registries
Helm’s native OCI support for chart distribution.