Architecture
Prerequisites
- Kubernetes cluster (v1.23+) or Docker runtime
- Network access to
us-central1-docker.pkg.dev(or your designated region) - Docker credentials provided by Bifrost team
Contact the Bifrost team to receive your Docker username and password credentials.
Credentials
The Bifrost team will provide you with:Docker Deployment
Step 1: Login to Registry
Step 2: Pull the Image
Step 3: Run Bifrost
Kubernetes Deployment
Step 1: Create Namespace
Step 2: Create imagePullSecret
- From JSON Key File
- From Base64 Key
- Using YAML
Step 3: Create Bifrost Configuration
If you use PostgreSQL for
config_store or logs_store, ensure the target database is UTF8 encoded. See PostgreSQL UTF8 Requirement.Step 4: Deploy Bifrost
Step 5: Expose Bifrost (Optional)
- Ingress
- LoadBalancer
- NodePort
Docker Compose Deployment
For simpler deployments without Kubernetes:Air-Gapped Environments
For environments without internet access, you can mirror the image to your internal registry.Step 1: Pull Image (Internet-Connected Machine)
Step 2: Transfer and Load (Air-Gapped Machine)
Step 3: Update Kubernetes Manifests
Update the image reference in your deployment:Credential Rotation
When the Bifrost team rotates your credentials:Update Docker Login
Update Kubernetes Secret
Verifying Access
Test Docker Authentication
Verify Kubernetes Secret
Troubleshooting
ImagePullBackOff Errors
Network Connectivity
Credential Issues
Security Best Practices
- Store credentials securely: Use a secrets manager (Vault, AWS Secrets Manager) for credential storage
- Limit access: Only grant imagePullSecret access to required namespaces
- Rotate regularly: Request credential rotation from Bifrost team periodically
- Audit access: Monitor image pull logs for unauthorized access attempts
- Network isolation: Restrict outbound access to only required registry endpoints
Next Steps
- Configure Bifrost settings for your use case
- Set up observability for monitoring
- Enable clustering for high availability

