Skip to main content
Install Valinor via Replicated into your Kubernetes cluster.

Delivery

You receive Valinor through the Replicated proxy registry. All container images are pulled through a single authenticated endpoint.
ItemValue
Registryregistry.replicated.com
UsernameYour email address
PasswordYour license ID (provided by Context)
Network requirements (outbound HTTPS 443)
  • registry.replicated.com - Helm chart
  • proxy.replicated.com - container images
  • *.amazonaws.com - S3, DynamoDB, SQS, SSM, STS
  • authentication endpoints - if using WorkOS auth
For proxy registry details, see Replicated proxy registry.

Prerequisites

Kubernetes cluster AWS backing services (same account and region)
  • S3 bucket, DynamoDB table, SQS queue
  • IAM role for IRSA
  • SSM Parameter Store with secrets under /valinor/:
    • WORKOS_API_KEY, WORKOS_CLIENT_ID, WORKOS_COOKIE_PASSWORD
    • NEXT_PUBLIC_WORKOS_REDIRECT_URI, AI_STREAMING_WORKOS_REDIRECT_URI
    • ANTHROPIC_API_KEY / OPENAI_API_KEY / GOOGLE_API_KEY (as needed)
DNS
  • app.<your-domain> and api.<your-domain>
  • TLS via ACM or cert-manager

Install

1. Log in to the registry

helm registry login registry.replicated.com \
  --username <your-email> \
  --password <license-id>

2. Create the image pull secret

kubectl create namespace valinor

kubectl create secret docker-registry replicated-pull-secret \
  --docker-server=proxy.replicated.com \
  --docker-username=<your-email> \
  --docker-password=<license-id> \
  --namespace valinor
curl https://krew.sh/preflight | bash

helm template oci://registry.replicated.com/context-vpc/stable/valinor \
  --version <version> | kubectl preflight -

4. Install the chart

helm install valinor oci://registry.replicated.com/context-vpc/stable/valinor \
  --version <version> \
  --namespace valinor \
  --values values-override.yaml

5. Verify

kubectl get pods -n valinor
kubectl get ingress -n valinor
kubectl get externalsecrets -n valinor

Configuration

Create a values-override.yaml for environment-specific settings. Internal-only ingress
opennext:
  ingress:
    annotations:
      alb.ingress.kubernetes.io/scheme: internal
ai-streaming:
  ingress:
    annotations:
      alb.ingress.kubernetes.io/scheme: internal
Region override (default is us-west-2)
global:
  region: us-east-1
Existing ClusterSecretStore
externalSecrets:
  clusterSecretStore:
    create: false
Custom release name If you use a name other than valinor, update service URLs to match:
opennext:
  env:
    REDIS_URL: "redis://<release>-redis:6379"
    SUPABASE_URL: "http://<release>-supabase-kong:8000"
    DATABASE_URL: "postgresql://postgres:<password>@<release>-supabase-db:5432/postgres"
ai-streaming:
  env:
    REDIS_URL: "redis://<release>-redis:6379"
    SUPABASE_URL: "http://<release>-supabase-kong:8000"
    DATABASE_URL: "postgresql://postgres:<password>@<release>-supabase-db:5432/postgres"
ServiceSuffix
PostgreSQL-supabase-db
Redis-redis
Kong API Gateway-supabase-kong

Operations

# Upgrade
helm upgrade valinor oci://registry.replicated.com/context-vpc/stable/valinor \
  --version <new-version> \
  --namespace valinor \
  --values values-override.yaml

# Rollback
helm rollback valinor <revision> -n valinor

# Uninstall
helm uninstall valinor --namespace valinor

# Support bundle
kubectl support-bundle replicated/support-bundle.yaml

Troubleshooting

ImagePullBackOff - Verify the pull secret exists and has correct credentials:
kubectl get secret replicated-pull-secret -n valinor
External Secrets not syncing - Check SSM and IAM permissions:
kubectl get externalsecrets -n valinor -o yaml
aws ssm get-parameters-by-path --path /valinor
Pods stuck in Pending - Check node resources and PVC binding:
kubectl describe nodes
kubectl get pvc -n valinor