Skip to main content

Helm

This guide walks you through deploying Staqr on Kubernetes using the official Helm chart.

Prerequisites

  • Kubernetes cluster (v1.19+)
  • Helm 3.x installed
  • kubectl configured to access your cluster

Quick Start

1. Clone the Repository

git clone 
cd staqr

2. Install Dependencies

helm dependency update

3. Create a Values File

Create a my-values.yaml file with your configuration. You can use the [removed] as a reference. The Helm chart has sensible defaults for required values while leaving the optional ones empty, but you should customize these core values for production

4. Install Staqr

helm install staqr deploy/staqr-helm -f my-values.yaml

5. Verify Installation

# Check deployment status
kubectl get pods
kubectl get services

Production Checklist

  • Set frontendUrl to your actual domain
  • Set strong passwords for PostgreSQL and Redis (or keep auto-generated)
  • Configure proper ingress with TLS
  • Set appropriate resource limits
  • Configure persistent storage
  • Choose appropriate execution mode for your security requirements
  • Review environment variables for advanced configuration
  • Consider using a separate workers setup for better availability and security

Upgrading

# Update dependencies
helm dependency update

# Upgrade release
helm upgrade staqr deploy/staqr-helm -f my-values.yaml

# Check upgrade status
kubectl rollout status deployment/staqr

Troubleshooting

Common Issues

  1. Pod won't start: Check logs with kubectl logs deployment/staqr
  2. Database connection: Verify PostgreSQL credentials and connectivity
  3. Frontend URL: Ensure frontendUrl is accessible from external sources
  4. Webhooks not working: Check ingress configuration and DNS resolution

Useful Commands

# View logs
kubectl logs deployment/staqr -f

# Port forward for testing
kubectl port-forward svc/staqr 4200:80 --namespace default

# Get all resources
kubectl get all --namespace default

Editions

Staqr supports three editions:

  • ce (Community Edition): Open-source version with all core features (default)
  • ee (Enterprise Edition): Self-hosted edition with advanced features like SSO, RBAC, and audit logs
  • cloud: For Staqr Cloud deployments

Set the edition in your values file:

staqr:
edition: "ce" # or "ee" for Enterprise Edition

For Enterprise Edition features and licensing, visit staqr.com.

Environment Variables

For a complete list of configuration options, see the Environment Variables documentation. Most environment variables can be configured through the Helm values file under the staqr section.

Execution Modes

Understanding execution modes is crucial for security and performance. See the Workers & Sandboxing guide to choose the right mode for your deployment.

Mock Services (Development Only)

Staqr includes Microcks as an optional subchart for carrier API mocking during development:

Enabling Mocks

Mocks are enabled via values files:

# values-dev.yaml - Mocks enabled
microcks:
enabled: true
service:
type: ClusterIP
port: 8080
persistence:
enabled: true
size: 1Gi
ingress:
enabled: true
hosts:
- host: mocks.dev.example.com

# values-production.yaml - Mocks disabled
microcks:
enabled: false

Mock Connections

When mocks are enabled, connections are auto-configured:

staqr:
connections:
optus:
connectionId: mock-optus-wsg
endpoint: "http://{{ .Release.Name }}-microcks:8080/soap/WsgServiceOrderService/9.2"
isMock: true

Accessing Microcks UI

# Port forward for local access
kubectl port-forward svc/staqr-microcks 8080:8080

# Or use the ingress URL
open https://mocks.dev.example.com

For detailed mock service documentation, see:

Uninstalling

helm uninstall staqr

# Clean up persistent volumes (optional)
kubectl delete pvc -l app.kubernetes.io/instance=staqr