Awesome-omni-skill upgrade-featbit-chart
Guides safe FeatBit Helm chart upgrades on Kubernetes and AKS. Use when user asks to upgrade FeatBit, update FeatBit version, deploy new FeatBit release, check FeatBit migrations, or troubleshoot FeatBit upgrade issues.
git clone https://github.com/diegosouzapw/awesome-omni-skill
T=$(mktemp -d) && git clone --depth=1 https://github.com/diegosouzapw/awesome-omni-skill "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/devops/upgrade-featbit-chart" ~/.claude/skills/diegosouzapw-awesome-omni-skill-upgrade-featbit-chart && rm -rf "$T"
skills/devops/upgrade-featbit-chart/SKILL.mdUpgrade FeatBit Deployment
Guides safe, three-step upgrades of FeatBit deployments: check database migrations, test locally, deploy to production.
Quick Start
# 1. Check migrations ls migration/ && cat migration/RELEASE-v<version>.md # 2. Test locally kubectl config use-context docker-desktop helm upgrade featbit-test charts/featbit \ -f charts/featbit/examples/standard/featbit-standard-local-pg.yaml # 3. Deploy to AKS az aks get-credentials --resource-group <rg> --name <cluster> helm upgrade <release> featbit/featbit \ -f charts/featbit/examples/aks/featbit-aks-values.local.yaml \ --namespace <ns>
Three-Step Upgrade Workflow
Step 1: Check Database Migrations
⚠️ CRITICAL: FeatBit does NOT auto-execute migrations.
# List migration files ls migration/ # Read migration for target version cat migration/RELEASE-v<target-version>.md
Actions required:
- Review database schema changes
- Backup database
- Execute migrations manually (DBA)
- Verify schema changes applied
📄 Complete Guide: references/database-migrations.md
Step 2: Test Locally on Docker Desktop
Test upgrades locally before production:
# Switch to Docker Desktop K8s kubectl config use-context docker-desktop # Dry-run upgrade helm upgrade featbit-test charts/featbit \ -f charts/featbit/examples/standard/featbit-standard-local-pg.yaml \ --dry-run # Apply if dry-run succeeds helm upgrade featbit-test charts/featbit \ -f charts/featbit/examples/standard/featbit-standard-local-pg.yaml # Monitor rollout kubectl get pods -w
Verification:
kubectl get pods # All Running kubectl logs -l app.kubernetes.io/name=featbit-api --tail=50 kubectl port-forward service/featbit-ui 8081:8081 curl http://localhost:5000/health # API health check
📄 Complete Guide: references/local-testing-guide.md
Step 3: Deploy to Production (AKS)
After successful local testing:
# Azure login and AKS access az login az aks get-credentials --resource-group <rg> --name <cluster> kubectl config use-context <aks-context> # Verify current release helm list -A | grep featbit # Update Helm repo helm repo update featbit # Dry-run with AKS values helm upgrade <release-name> featbit/featbit \ -f charts/featbit/examples/aks/featbit-aks-values.local.yaml \ --namespace <namespace> \ --dry-run # Apply if dry-run succeeds helm upgrade <release-name> featbit/featbit \ -f charts/featbit/examples/aks/featbit-aks-values.local.yaml \ --namespace <namespace> # Monitor deployment kubectl get pods -n <namespace> -w
Post-upgrade verification:
kubectl rollout status deployment/featbit-api -n <ns> curl https://api.yourdomain.com/health curl https://els.yourdomain.com/health
📄 Complete Guide: references/aks-deployment-guide.md
Critical Concepts
Database Migrations:
- NOT automated by Helm chart
- Located in
migration/RELEASE-v{version}.md - Must be executed manually before upgrade
- Always backup database first
Chart Sources:
- Local testing:
(local path)charts/featbit - AKS/Production:
(published from Helm repo)featbit/featbit - Never mix local and published charts
External URLs (Production):
apiExternalUrl: "https://api.featbit.com" evaluationServerExternalUrl: "https://els.featbit.com"
⚠️ Without these, client SDKs cannot connect.
Pre-Upgrade Checklist
Database:
- Migration scripts reviewed and executed
- Database backup completed and verified
- Connection strings validated
Kubernetes:
- kubectl access to target cluster
- Helm >= 3.7.0, kubectl >= 1.23 installed
- Sufficient cluster resources
Configuration:
- External URLs configured (production)
- Managed services validated (PostgreSQL/Redis)
- Secrets and ConfigMaps updated
- TLS certificates valid
Operational:
- Current Helm revision noted (rollback plan)
- Team notified
- Monitoring ready
Troubleshooting
Quick Rollback
helm history <release> -n <namespace> helm rollback <release> <revision> -n <namespace>
Debug Commands
kubectl get pods -n <namespace> kubectl describe pod <pod-name> -n <namespace> kubectl logs <pod-name> -n <namespace> kubectl get events -n <namespace> --sort-by='.lastTimestamp'
📄 Complete Guide: references/troubleshooting.md
Common Issues
| Issue | Quick Fix |
|---|---|
| Migration not executed | Execute migration scripts manually |
| Pods not starting | Check resources: |
| Connection errors | Verify ConfigMaps and secrets |
| Ingress not working | Check ingress controller and TLS |
| Database connection failure | Verify firewall rules and credentials |
See references/troubleshooting.md for detailed solutions.
Best Practices
- ✅ Always test locally first - Catch issues early
- ✅ Use dry-run extensively - Simulate before applying
- ✅ Review migrations - Understand database changes
- ✅ Backup before upgrade - Database and configurations
- ✅ Monitor during upgrade - Watch logs and status
- ✅ Have rollback plan - Note current revision
- ✅ Staged rollout - Dev → Staging → Production
- ✅ External URLs - Required for production
- ✅ Managed services - Use external providers for production
- ✅ Document changes - Track customizations
Reference Guides
- references/database-migrations.md - Migration workflow, backup, rollback
- references/local-testing-guide.md - Docker Desktop K8s testing
- references/aks-deployment-guide.md - AKS deployment, Azure CLI
- references/troubleshooting.md - Common issues and solutions
Tools Required
- Helm >= 3.7.0
- kubectl >= 1.23
- Azure CLI (for AKS)
- Docker Desktop with Kubernetes (for local testing)
Support
- Repository: https://github.com/featbit/featbit-charts
- Documentation: https://docs.featbit.co/
- Issues: https://github.com/featbit/featbit-charts/issues