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.
Best use case
upgrade-featbit-chart is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
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.
Teams using upgrade-featbit-chart should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/upgrade-featbit-chart/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How upgrade-featbit-chart Compares
| Feature / Agent | upgrade-featbit-chart | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
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.
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# Upgrade FeatBit Deployment
Guides safe, three-step upgrades of FeatBit deployments: check database migrations, test locally, deploy to production.
## Quick Start
```bash
# 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.
```bash
# 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](references/database-migrations.md)
### Step 2: Test Locally on Docker Desktop
Test upgrades locally before production:
```bash
# 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:**
```bash
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](references/local-testing-guide.md)
### Step 3: Deploy to Production (AKS)
After successful local testing:
```bash
# 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:**
```bash
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](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: `charts/featbit` (local path)
- AKS/Production: `featbit/featbit` (published from Helm repo)
- Never mix local and published charts
**External URLs (Production):**
```yaml
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
```bash
helm history <release> -n <namespace>
helm rollback <release> <revision> -n <namespace>
```
### Debug Commands
```bash
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](references/troubleshooting.md)
## Common Issues
| Issue | Quick Fix |
|-------|-----------|
| Migration not executed | Execute migration scripts manually |
| Pods not starting | Check resources: `kubectl describe pod` |
| 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](references/troubleshooting.md) for detailed solutions.
## Best Practices
1. ✅ **Always test locally first** - Catch issues early
2. ✅ **Use dry-run extensively** - Simulate before applying
3. ✅ **Review migrations** - Understand database changes
4. ✅ **Backup before upgrade** - Database and configurations
5. ✅ **Monitor during upgrade** - Watch logs and status
6. ✅ **Have rollback plan** - Note current revision
7. ✅ **Staged rollout** - Dev → Staging → Production
8. ✅ **External URLs** - Required for production
9. ✅ **Managed services** - Use external providers for production
10. ✅ **Document changes** - Track customizations
## Reference Guides
- [references/database-migrations.md](references/database-migrations.md) - Migration workflow, backup, rollback
- [references/local-testing-guide.md](references/local-testing-guide.md) - Docker Desktop K8s testing
- [references/aks-deployment-guide.md](references/aks-deployment-guide.md) - AKS deployment, Azure CLI
- [references/troubleshooting.md](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/issuesRelated Skills
helm-chart-scaffolding
Design, organize, and manage Helm charts for templating and packaging Kubernetes applications with reusable configurations. Use when creating Helm charts, packaging Kubernetes applications, or implementing templated deployments.
featbit-deployment-kubernetes
Deploys FeatBit to Kubernetes using Helm Charts. Use when user mentions "Kubernetes", "Helm", "K8s", "kubectl", works with values.yaml files, asks about "cloud deployment", "AKS", "EKS", "GKE", "ingress", or needs production-grade container orchestration setup.
featbit-deployment-docker
Expert guidance for deploying FeatBit with Docker Compose across three tiers - Standalone (PostgreSQL only), Standard (PostgreSQL/MongoDB + Redis), and Professional (+ ClickHouse + Kafka). Use when user mentions "docker-compose", "deploy with Docker", "standalone vs standard vs pro", works with docker-compose.yml files, or asks about container configuration, environment variables, or production Docker setup.
upgrade-stripe
Guide for upgrading Stripe API versions and SDKs
upgrade-integration
Integrate Carnegie Learning's UpGrade A/B testing platform into LMS and EdTech applications. Guides setup of decision points, experiment conditions, LTI/xAPI integration, and outcome logging. Use when asked to add A/B testing, experiments, or feature flags to educational software.
java-21-to-java-25-upgrade
Comprehensive best practices for adopting new Java 25 features since the release of Java 21. Triggers on: ['*']
featbit-python-sdk
Guides integration of the FeatBit Python Server-Side SDK for backend services. Use when users ask about FeatBit feature flags in Python, fbclient usage, or server frameworks like Flask, Django, or FastAPI. Not for client-side use.
electron-chromium-upgrade
Guide for performing Chromium version upgrades in the Electron project. Use when working on the roller/chromium/main branch to fix patch conflicts during `e sync --3`. Covers the patch application workflow, conflict resolution, analyzing upstream Chromium changes, and proper commit formatting for patch fixes.
dependency-upgrade
Manage major dependency version upgrades with compatibility analysis, staged rollout, and comprehensive testing. Use when upgrading framework versions, updating major dependencies, or managing brea...
awesome-copilot-root-dotnet-upgrade
Perform janitorial tasks on C#/.NET code including cleanup, modernization, and tech debt remediation. Use when: the task directly matches dotnet upgrade responsibilities within plugin awesome-copilot-root. Do not use when: a more specific framework or task-focused skill is clearly a better match.
1k-app-upgrade-test
Create test versions to verify app auto-update functionality. Use when testing update flows, version migration, or validating app upgrade mechanisms. Automates version number and build number configuration for testing the auto-update system. Triggers on auto update, app upgrade, update testing, upgrade flow, version migration, test build, 9XXX version.
rails-upgrade-assistant
Analyzes Rails applications and generates comprehensive upgrade reports with breaking changes, deprecations, and step-by-step migration guides for Rails 7.0 through 8.1.1. Use when upgrading Rails applications, planning multi-hop upgrades, or querying version-specific changes.