Private Deployment
Deployment Modes

Deployment Modes

This guide describes the minimum configuration values you need to provide to deploy Rulebricks.

In any case, we recommend consulting the Changelog, and using the rulebricks/app tag containing the latest fixes/features. The rulebricks/hps tag should also match.

Quick Start (Development/Testing)

Minimal configuration for evaluation purposes. Self-hosts Supabase.

# values.yaml
global:
  domain: '<domain-you-control.com>
  email: '<valid-email>'
  licenseKey: '<valid-license-key>'
  smtp:
    <valid-information>
 
# Everything else uses defaults
helm install rulebricks oci://ghcr.io/rulebricks/charts/stack \
  --namespace rulebricks \
  --create-namespace \
  -f dev-values.yaml

Production with Supabase Cloud

Automatic DNS, external database.

# production-values.yaml
global:
  domain: '<domain-you-control.com>
  email: '<valid-email>'
  licenseKey: '<valid-license-key>'
  tlsEnabled: true
  externalDnsEnabled: true
 
  smtp:
    <valid-information>
 
  supabase:
    url: 'https://abcd1234.supabase.co'
    projectRef: 'abcd1234'
    anonKey: 'from-supabase-dashboard'
    serviceKey: 'from-supabase-dashboard'
    # Account > Settings > Access Tokens
    accessToken: '${SUPABASE_ACCESS_TOKEN}'
 
supabase:
  enabled: false # Don't deploy self-hosted
 
# Ensure this is configured properly
external-dns:
  enabled: true
  provider: route53

Cloud-Specific Values

AWS EKS

# AWS-specific settings
storageClass:
  create: true
  provisioner: ebs.csi.aws.com
  type: gp3
 
external-dns:
  enabled: true
  provider: route53
  # Uses IRSA - create IAM role and service account
# Recommended: Use IRSA for all AWS integrations
# eksctl create iamserviceaccount ...

Prerequisites:

  • EBS CSI driver installed
  • IRSA configured for external-dns and Vector (if using S3)
  • ALB/NLB annotations if not using Traefik

Google GKE

storageClass:
  create: true
  provisioner: pd.csi.storage.gke.io
  type: pd-ssd
 
external-dns:
  enabled: true
  provider: google
  google:
    project: 'your-gcp-project'
# GKE uses Workload Identity
# Annotate service accounts accordingly

Azure AKS

storageClass:
  create: true
  provisioner: disk.csi.azure.com
  type: Premium_LRS
 
external-dns:
  enabled: true
  provider: azure
  azure:
    resourceGroup: 'your-resource-group'
    subscriptionId: 'your-subscription-id'