Advanced Connector Deployment (Kubernetes)π
This page covers the βproduction-styleβ deployment patterns that apply to every connector chart:
- Pulled chart + local
values.yaml(inspect/customize a chart before installing) - GitOps (commit values/manifests and let a controller reconcile)
Each connector guide includes a quick βMethod 1β install for fast validation. Use this page when you want repeatable, reviewable, environment-specific deployments.
Prerequisitesπ
- Helm 3.x and
kubectl - Access to the connector charts in OCI (
oci://registry-1.docker.io/dsxconnect/...) - Secrets created via Kubernetes-native approaches (see Kubernetes Secrets and Credentials)
Method 2 β Pull the chart and edit values locallyπ
This is a good middle ground when you want to inspect defaults or customize resources before installing.
1) Pull and untar:
CHART_OCI="oci://registry-1.docker.io/dsxconnect/<connector>-connector-chart"
CHART_VERSION="<chart-version>"
helm pull "$CHART_OCI" --version "$CHART_VERSION" --untar
cd <connector>-connector-chart
2) Create an environment values file, for example values-dev.yaml:
env:
DSXCONNECTOR_DSX_CONNECT_URL: "http://dsx-connect-api:8586"
DSXCONNECTOR_ASSET: "<asset>"
# Most charts support this (or similar) to import env from Secrets:
# envSecretRefs:
# - my-connector-env
image:
tag: "<connector-version>"
replicaCount: 1
workers: 1
3) Install from the extracted chart directory:
helm upgrade --install <release-name> . -f values-dev.yaml -n <namespace> --create-namespace
Method 3 β GitOps / production styleπ
For production, prefer committing non-secret configuration to git and sourcing secrets from a secrets manager (or encrypted secret manifests).
Option A: Commit only values and run Helm in CIπ
Keep a values-prod.yaml per connector/environment and run:
helm upgrade --install <release-name> oci://registry-1.docker.io/dsxconnect/<connector>-connector-chart \
--version <chart-version> \
-f values-prod.yaml \
-n <namespace>
Option B: Flux / Argo CD (Helm controller)π
Define a HelmRelease/Application that pins the chart version and references committed values.
Flux example (illustrative):
apiVersion: helm.toolkit.fluxcd.io/v2
kind: HelmRelease
metadata:
name: <release-name>
namespace: <namespace>
spec:
interval: 5m
chart:
spec:
chart: <connector>-connector-chart
sourceRef:
kind: OCIRepository
name: dsxconnect
version: <chart-version>
valuesFrom:
- kind: Secret
name: <connector>-env
valuesKey: values.yaml
values:
image:
tag: "<connector-version>"
Your GitOps controller should be the only thing applying changes; operators update git and the controller reconciles.
A note on secrets and --setπ
- Avoid putting real secrets in
helm --set ...orkubectl create secret --from-literal ...in shared environments; these often leak into shell history and CI logs. - Prefer Secrets referenced by the chart (for example,
envSecretRefs) and a secrets manager integration (External Secrets Operator), or encrypted secrets with SOPS/Sealed Secrets.