Kubernetes Deployment

Manual Helm deployment for the Dev SDK.

Interactive installer (when available)

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

Interactive installer not yet available

The installer guides you through API key entry, database choice, namespace selection, and pull secret setup. Until the interactive installer is available, use manual deployment below.

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 8080:8080 &
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 8080:8080. 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, the service name may be vault-key-vault-key rather than vault-key.

Was this page helpful?