Kubernetes Secrets Setup Guide
Kubernetes Secrets Setup Guide
Section titled “Kubernetes Secrets Setup Guide”This guide explains how to properly configure the Kubernetes secrets for external deployment of VibeCode.
⚠️ SECURITY WARNING
Section titled “⚠️ SECURITY WARNING”The current secret files (vibecode-secrets.yaml and oauth-secrets.yaml) contain PLACEHOLDER VALUES that must be replaced before deploying to any external environment.
Required Secret Replacements
Section titled “Required Secret Replacements”1. OAuth Secrets (k8s/oauth-secrets.yaml)
Section titled “1. OAuth Secrets (k8s/oauth-secrets.yaml)”Replace these base64-encoded placeholder values:
# Current placeholders (all decode to "changeme"):GITHUB_ID: Y2hhbmdlbWU= # changemeGITHUB_SECRET: Y2hhbmdlbWU= # changemeGOOGLE_ID: Y2hhbmdlbWU= # changemeGOOGLE_SECRET: Y2hhbmdlbWU= # changemeNEXTAUTH_SECRET: Y2hhbmdlbWU= # changemeHow to replace:
- Get actual OAuth credentials from GitHub and Google developer consoles
- Generate a secure NextAuth secret:
openssl rand -base64 32 - Base64 encode each value:
echo "your-actual-secret" | base64 - Replace the placeholder values in the YAML file
2. VibeCode Application Secrets (k8s/vibecode-secrets.yaml)
Section titled “2. VibeCode Application Secrets (k8s/vibecode-secrets.yaml)”Replace these values:
# Placeholder/development values that need replacement:ADMIN_EMAIL: admin@vibecode.dev # Use real admin emailADMIN_PASSWORD: admin123 # Use secure passwordNEXTAUTH_SECRET: [encoded placeholder] # Must match oauth-secretsDD_API_KEY: [encoded placeholder] # Real Datadog API keyOPENROUTER_API_KEY: [encoded placeholder] # Real OpenRouter API keyNEXT_PUBLIC_DD_APPLICATION_ID: dmlibQ== # Real Datadog app ID (currently "vibm")NEXT_PUBLIC_DD_CLIENT_TOKEN: [encoded] # Real Datadog client tokenSecurity Best Practices
Section titled “Security Best Practices”- Never commit real secrets to version control
- Use environment-specific secret management (e.g., Kubernetes secrets, HashiCorp Vault)
- Rotate secrets regularly
- Use minimal required permissions for service accounts
- Audit secret access in production environments
Template Files
Section titled “Template Files”Template versions with clear placeholders are available:
k8s/templates/vibecode-secrets.template.yamlk8s/templates/oauth-secrets.template.yaml
Validation
Section titled “Validation”After replacing secrets, validate the deployment:
# Check secret creationkubectl get secrets -n vibecode-platform
# Validate service healthkubectl port-forward svc/vibecode-service 3000:3000 -n vibecode-platformcurl -H "User-Agent: Mozilla/5.0" http://localhost:3000/api/health/simpleFor Development/Testing
Section titled “For Development/Testing”For local development or testing environments, you can use the placeholder values, but they should NEVER be used in production or shared externally.