Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.emergence.ai/llms.txt

Use this file to discover all available pages before exploring further.

Prerequisites

Before deploying EM-Runtime, ensure your environment meets the infrastructure, database, networking, and access requirements listed below.

Kubernetes Cluster

Kubernetes Version

1.28+ required for Gateway API v1 support.

Minimum Nodes

3 nodes for HA pod distribution across failure domains.

Node Sizing (Minimum)

4 vCPU, 16 GB RAM per node.

Node Sizing (Recommended)

8 vCPU, 32 GB RAM per node for HPA burst headroom.
RequirementSpecification
Cluster typeManaged (GKE, EKS, AKS) or self-managed (RKE2, k3s, OpenShift)
CNI pluginCalico, Cilium, or cloud-native CNI
Gateway APIGateway API v1 controller (NGINX Gateway Fabric, Envoy Gateway, or cloud-native)
cert-managerv1.x for TLS certificate lifecycle
external-dnsOptional, for automatic DNS record creation
Image registry accessPull access to ghcr.io/emergenceai/* (private)

IP Address Planning

Allocate three non-overlapping CIDR ranges:
RangePurposeRecommended Size
Node CIDRKubernetes node IPs/20 (4,096 addresses)
Pod CIDRPod network/19 (8,192 addresses)
Service CIDRClusterIP services/22 (1,024 addresses)

Compute Resources

Per-Component Resource Allocation

The table shows Helm chart defaults (suitable for dev/staging) and production overrides (used in GCP deployments).
ComponentMin ReplicasCPU Request (Default / Prod)CPU LimitMemory Request (Default / Prod)Memory Limit
Keycloak21000m / 1000m2000m1280Mi / 1536Mi2Gi
OpenFGA2 (HPA: 2-10)100m / 200m500m256Mi / 256Mi512Mi
Infisical2350m / 500m1000m512Mi / 512Mi1Gi(if using Infisical backend; omit for ESO)
em-runtime-governance2 (HPA: 2-10)250m / 500m1000m512Mi / 512Mi1Gi
em-runtime-assets2 (HPA: 2-10)250m / 500m1000m512Mi / 512Mi1Gi
em-runtime-utils2 (HPA: 2-10)100m / 250m500m256Mi / 256Mi512Mi

Aggregate Totals (Core Only, Helm Defaults)

ScenarioCPU RequestCPU LimitMemory RequestMemory Limit
Minimum (all at min replicas)4.1 vCPU12.0 vCPU6.5 GiB12.0 GiB
Maximum (HPA services at max 10)9.7 vCPU36.0 vCPU18.5 GiB36.0 GiB
Add 10-20% overhead for system pods (kube-system, cert-manager, external-dns, gateway controller, monitoring agents). Companion solution services (Data Insights, Data Governance) add additional resources.

Infrastructure Overview

Database Requirements

PostgreSQL

ParameterSpecification
VersionPostgreSQL 18
Instance sizing2 vCPU, 4 GB RAM (minimum)
High availabilityMulti-AZ / regional replication
Initial disk100 GB SSD
Maximum disk1,000 GB (auto-resize)
Backup retention7 days minimum
Required extensionspg_cron (on utils database)

Databases (9 total, single shared instance)

DatabaseUsed By
keycloakKeycloak IAM
openfgaOpenFGA authorization
infisicalInfisical secrets management (provisioned by default; unused if using ESO backend)
governancePlatform Governance service
assetsPlatform Assets service
utilsPlatform Utilities service (+ pg_cron)
prefectPrefect workflow orchestration (Data Governance)
datareadinessData quality and metadata (Data Governance)
talk2dataNatural language query engine (Data Insights)

Redis

ParameterSpecification
VersionRedis 8.4.2 (self-managed) / Redis 7.0+ (managed services)
Memory5 GB
High availabilityMulti-AZ replica (STANDARD_HA)
AuthenticationPassword-protected (AUTH required)
TLSSupported (rediss:// scheme)
Eviction policynoeviction (reject writes when full)

Object Storage (S3-Compatible)

ParameterSpecification
ProtocolS3-compatible API (AWS S3, GCS HMAC, MinIO)
Access controlPrivate (no public access)
AuthenticationAccess key + secret key (HMAC)
Bucket nameConfigurable (default: em-runtime)
Max file upload1,000 MB (configurable)

Networking

Service Ports (Internal)

ServicePortProtocol
em-runtime-governance8000HTTP
em-runtime-assets8000HTTP
em-runtime-utils8000HTTP
Keycloak8080HTTP
OpenFGA8080HTTP + gRPC (health: 8081)
Infisical8080HTTP(if using Infisical backend)
PostgreSQL5432TCP
Redis6379TCP

External Ingress (HTTPRoute Rules)

PathBackendPortNotes
/keycloakkeycloak8080Pass-through (no rewrite)
/api/governanceem-runtime-governance8000Rewrite to /governance
/api/assetsem-runtime-assets8000Rewrite to /assets
/api/utilsem-runtime-utils8000Rewrite to /utils

TLS Requirements

BoundaryRequirement
Client to load balancerTLS 1.2+ (certificate required)
Load balancer to podsHTTP (in-cluster; TLS optional)
Services to PostgreSQLSSL recommended (private network)
Services to RedisTLS supported (rediss:// scheme)

Firewall Rules

Ensure the following traffic is allowed:
  • Inbound: HTTPS (443)
  • From cluster: PostgreSQL (5432), Redis (6379), S3 (443)
  • LLM API egress: OpenAI, Anthropic, Vertex AI endpoints (for Data Insights and Data Governance)

Required Secrets

Create these credentials before deployment:
SecretDescription
POSTGRES_PASSWORDPostgreSQL superuser password
POSTGRES_HOSTPostgreSQL hostname or IP
REDIS_PASSWORDRedis AUTH password
REDIS_HOSTRedis hostname or IP
S3_ACCESS_KEY_IDObject storage access key
S3_SECRET_ACCESS_KEYObject storage secret key
S3_ENDPOINT_URLObject storage endpoint
S3_BUCKET_NAMEBucket name
OCI registry credentialsPull secret for ghcr.io/emergenceai/*

Required Tools

ToolVersionPurpose
kubectlLatestKubernetes cluster management
helm3.xHelm chart installation
ghLatestGitHub CLI for registry authentication
# Authenticate GitHub CLI with required scopes
gh auth login --scopes read:packages,repo,workflow

Pre-Deployment Checklist

1

Infrastructure

  • Kubernetes cluster provisioned (1.28+, 3+ nodes, 4+ vCPU / 16+ GB RAM each)
  • Gateway API controller installed and operational
  • cert-manager installed
  • kubectl access configured with cluster-admin or equivalent
2

Databases

  • PostgreSQL 18 instance provisioned with multi-AZ
  • 9 databases created
  • pg_cron extension installed on utils database
  • Redis instance provisioned (5 GB, AUTH enabled, noeviction policy)
3

Storage and Networking

  • S3-compatible bucket created (private access)
  • HMAC access key and secret key provisioned
  • DNS record planned for platform hostname
  • TLS certificate available
4

Secrets and Access

  • All database and storage credentials available
  • Container registry credentials for ghcr.io/emergenceai/*
  • Helm 3.x and gh CLI installed and authenticated
  • Access to oci://ghcr.io/emergenceai/charts verified

Next Steps

Helm Configuration

Configure the Helm chart for your environment.