Enterprise customers receive dedicated container images in a private registry, along with additional features, SLAs, and compliance documentation.Book a demo to know more about our enterprise features. Prerequisites
- Kubernetes cluster (v1.19+)
kubectl configured
- Helm 3.2.0+ installed
- Enterprise registry credentials (provided by Maxim)
Step 1 - Add the Helm Repository
helm repo add bifrost https://maximhq.github.io/bifrost/helm-charts
helm repo update
Step 2 - Create Pull Secret
Create a Kubernetes image pull secret for our private enterprise registry: Google Artifact Registry
AWS ECR
Azure ACR
Self-Hosted Registry
kubectl create secret docker-registry enterprise-registry-secret \
--docker-server=us-west1-docker.pkg.dev \
--docker-username=_json_key \
--docker-password="$(cat service-account-key.json)" \
--docker-email=your-email@example.com
kubectl create secret docker-registry enterprise-registry-secret \
--docker-server=123456789.dkr.ecr.us-east-1.amazonaws.com \
--docker-username=AWS \
--docker-password=$(aws ecr get-login-password --region us-east-1)
kubectl create secret docker-registry enterprise-registry-secret \
--docker-server=yourregistry.azurecr.io \
--docker-username=<service-principal-id> \
--docker-password=<service-principal-password>
kubectl create secret docker-registry enterprise-registry-secret \
--docker-server=registry.yourcompany.com \
--docker-username=<username> \
--docker-password=<password>
Step 3 - Create Required Secrets
# Encryption key
kubectl create secret generic bifrost-encryption \
--from-literal=key="$(openssl rand -base64 32)"
# Provider API keys
kubectl create secret generic provider-keys \
--from-literal=openai-api-key='sk-...' \
--from-literal=anthropic-api-key='sk-ant-...'
# Admin credentials (for dashboard + governance)
kubectl create secret generic bifrost-admin-credentials \
--from-literal=username='admin' \
--from-literal=password='secure-admin-password'
Step 4 - Install
# enterprise.yaml
image:
# Registry URL provided by Maxim
repository: us-west1-docker.pkg.dev/bifrost-enterprise/your-org/bifrost
tag: "latest"
imagePullSecrets:
- name: enterprise-registry-secret
replicaCount: 3
resources:
requests:
cpu: 1000m
memory: 2Gi
limits:
cpu: 4000m
memory: 8Gi
autoscaling:
enabled: true
minReplicas: 3
maxReplicas: 20
targetCPUUtilizationPercentage: 70
targetMemoryUtilizationPercentage: 80
storage:
mode: postgres
postgresql:
enabled: true
auth:
password: "secure-password" # use existingSecret in production
primary:
persistence:
size: 100Gi
resources:
requests:
cpu: 1000m
memory: 2Gi
limits:
cpu: 4000m
memory: 8Gi
vectorStore:
enabled: true
type: weaviate
weaviate:
enabled: true
persistence:
size: 100Gi
ingress:
enabled: true
className: nginx
annotations:
cert-manager.io/cluster-issuer: letsencrypt-prod
nginx.ingress.kubernetes.io/proxy-body-size: "100m"
hosts:
- host: bifrost.yourcompany.com
paths:
- path: /
pathType: Prefix
tls:
- secretName: bifrost-tls
hosts:
- bifrost.yourcompany.com
bifrost:
encryptionKeySecret:
name: "bifrost-encryption"
key: "key"
client:
initialPoolSize: 1000
dropExcessRequests: true
enableLogging: true
disableContentLogging: false # set true for HIPAA/compliance
logRetentionDays: 365
enforceGovernanceHeader: true
maxRequestBodySizeMb: 100
allowedOrigins:
- "https://yourcompany.com"
- "https://*.yourcompany.com"
providers:
openai:
keys:
- name: "openai-primary"
value: "env.OPENAI_API_KEY"
weight: 1
anthropic:
keys:
- name: "anthropic-primary"
value: "env.ANTHROPIC_API_KEY"
weight: 1
providerSecrets:
openai:
existingSecret: "provider-keys"
key: "openai-api-key"
envVar: "OPENAI_API_KEY"
anthropic:
existingSecret: "provider-keys"
key: "anthropic-api-key"
envVar: "ANTHROPIC_API_KEY"
governance:
authConfig:
isEnabled: true
disableAuthOnInference: false
existingSecret: "bifrost-admin-credentials"
usernameKey: "username"
passwordKey: "password"
plugins:
telemetry:
enabled: true
version: 1
logging:
enabled: true
version: 1
governance:
enabled: true
version: 1
config:
is_vk_mandatory: true
semanticCache:
enabled: true
version: 1
config:
provider: "openai"
embedding_model: "text-embedding-3-small"
dimension: 1536
threshold: 0.85
ttl: "1h"
affinity:
podAntiAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
- labelSelector:
matchLabels:
app.kubernetes.io/name: bifrost
topologyKey: kubernetes.io/hostname
helm install bifrost bifrost/bifrost -f enterprise.yaml
Next steps: jump to Next Steps.For DB-backed deployments, built-in plugins support a top-level version field (for example: telemetry, logging, governance, semanticCache, otel, maxim, datadog). Increase this number when you want config from Helm to overwrite an older plugin record in the DB.
Enterprise Support
Enterprise customers have access to:
- Dedicated Slack channel for support
- Priority bug fixes and feature requests
- Custom feature development
- SLA guarantees
- Compliance documentation (SOC2, HIPAA, etc.)
Contact support@getmaxim.ai for support.