Kubernetes Deployment

Manual Helm deployment for the Dev SDK.

Interactive installer

After you have your API key, run the installer for a guided setup. It walks you through credentials, database config, and namespace selection interactively.

bash · terminal
curl -fsSL https://charts.securelytix.tech/install.sh | bash

Prefer full control?

Skip the installer and follow the manual Helm steps below for CI/CD, custom values, or existing pull secrets.

Step 1: Add the Helm repository

bash · terminal
1helm repo add securelytix https://charts.securelytix.tech
2helm repo update

Step 2: Create the DockerHub pull secret

bash · terminal
1kubectl create secret docker-registry securelytix-dockerhub \
2 --docker-server=https://index.docker.io/v1/ \
3 --docker-username=securelytix2026 \
4 --docker-password=<YOUR_PAT_TOKEN>

Custom namespace: append -n <namespace> to kubectl commands in this section if deploying outside the default namespace.

macOS users

The imagePullSecrets argument must always be wrapped in double quotes. Unquoted square brackets cause a glob error in zsh.

Step 3: Deploy the SDK

Choose one database path below. Both install the same SDK, pick based on whether you want a bundled Postgres for testing or your own database.

Option A — Bundled PostgreSQL (recommended for testing)

bash · terminal
1helm install vault-key securelytix/vault-key \
2 --set secrets.apiKey="<your-api-key>" \
3 --set postgresql.enabled=true \
4 --set machineId.hostPath="/etc/machine-id" \
5 --set "imagePullSecrets[0].name=securelytix-dockerhub"

Option B — External PostgreSQL

bash · terminal
1helm install vault-key securelytix/vault-key \
2 --set secrets.apiKey="<your-api-key>" \
3 --set secrets.databaseUrl="postgresql://user:pass@host:5432/dbname?sslmode=disable" \
4 --set machineId.hostPath="/etc/machine-id" \
5 --set "imagePullSecrets[0].name=securelytix-dockerhub"

Step 4: Verify the deployment

javascript · terminal
1kubectl get pods -l app.kubernetes.io/instance=vault-key
2kubectl get svc vault-key
3kubectl logs -l app.kubernetes.io/instance=vault-key --tail=20
4kubectl port-forward svc/vault-key-service 8080:8080 -n securelytix &
5curl http://localhost:8080/health

Calling the SDK from other pods

bash · terminal
1# Default namespace:
2http://vault-key.default.svc.cluster.local:8080
3
4# Custom namespace (e.g. tokenization):
5http://vault-key.tokenization.svc.cluster.local:8080

Application code in any pod can call the SDK over the cluster internal network without exposing it externally. See SDK Usage for integration patterns.

Windows deployment guide

All commands below use PowerShell syntax. Install Docker Desktop, kubectl 1.20+, and Helm 3.0+ (winget install Helm.Helm). Enable Kubernetes in Docker Desktop → Settings → Kubernetes.

bash · terminal
1kubectl config use-context docker-desktop
2kubectl get nodes
3
4helm repo add securelytix https://charts.securelytix.tech
5helm repo update
6
7kubectl create secret docker-registry securelytix-dockerhub `
8 --docker-server=https://index.docker.io/v1/ `
9 --docker-username=securelytix2026 `
10 --docker-password=<YOUR_PAT_TOKEN>
11
12helm install vault-key securelytix/vault-key `
13 --set secrets.apiKey="<your-api-key>" `
14 --set postgresql.enabled=true `
15 --set machineId.hostPath="/etc/machine-id" `
16 --set "imagePullSecrets[0].name=securelytix-dockerhub"

Port-forward (keep terminal open): kubectl port-forward svc/vault-key-service 8080:8080 -n securelytix. Use curl.exe for health and API tests. PowerShell aliases curl to Invoke-WebRequest.

bash · terminal
1curl.exe http://localhost:8080/health
2
3curl.exe -sS -X POST "http://localhost:8080/api/v1/tokenize" `
4 -H "Content-Type: application/json" `
5 -d '{"data":{"email":"user@example.com","name":"user example"}}'

Upgrade: helm repo update securelytix && helm upgrade vault-key securelytix/vault-key --reuse-values. Uninstall: helm uninstall vault-key. If port-forward fails, confirm the service name is vault-key-service in the securelytix namespace.

Was this page helpful?