This repository contains Helm charts for deploying backend, frontend, and MongoDB applications.
- backend-chart - Backend application deployment
- frontend-chart - Frontend application deployment
- mongo-chart - MongoDB StatefulSet deployment
🎯 Use direct charts during development, then package and deploy via repository for all shared and production environments.
- Go to your repository on GitHub
- Click on Settings
- Scroll down to Pages section (in the left sidebar under "Code and automation")
- Under Source, select Deploy from a branch
- Select the branch (e.g.,
mainorgh-pages) - Select the folder (e.g.,
/rootor/docs) - Click Save
# Package all charts
helm package source/backend-chart -d charts/
helm package source/frontend-chart -d charts/
helm package source/mongo-chart -d charts/
# Generate or update the index
helm repo index charts/ --url https://<username>.github.io/<repository-name>/charts/git add charts/
git commit -m "Update Helm charts and index"
git push origin mainWait a few minutes for GitHub Pages to deploy, then verify at:
https://<username>.github.io/<repository-name>/charts/index.yaml
# Add this repository
helm repo add my-charts https://username.github.io/helm-charts/charts/
# Update repositories
helm repo update
# Search available charts
helm search repo my-charts/
# Install backend chart
helm install my-backend my-charts/backend-chart
# Install with custom values
helm install my-frontend my-charts/frontend-chart -f my-values.yaml
# List installations
helm list
# Upgrade release
helm upgrade my-backend my-charts/backend-chart
# Uninstall
helm uninstall my-backendKey Benefits:
- ✅ Version control (1.0.0, 1.2.3) - deploy exact versions across environments
- ✅ Share via URL - no Git access needed
- ✅ CI/CD ready - automated publishing and deployment
- ✅ Rollback easily - switch between versions instantly
When to Use:
- 📁 Direct Charts → Development (fast iteration)
- 📦 Packaged Charts → Production (versioned, reliable)
# Add repository
helm repo add my-charts https://username.github.io/helm-charts/charts/
helm repo update
# Search charts
helm search repo my-charts/
# Install
helm install my-app my-charts/backend-chart
helm install my-app my-charts/backend-chart -f values.yaml --version 1.0.0
# Upgrade
helm upgrade my-app my-charts/backend-chart
# List & Status
helm list
helm status my-app
# History (view revisions before rollback)
helm history my-app
# Rollback & Uninstall
helm rollback my-app
helm rollback my-app 3 # rollback to specific revision
helm uninstall my-app- Replace
<username>with your GitHub username - Replace
<repository-name>with your repository name - Ensure your
index.yamlis properly generated in thecharts/directory - Charts should be packaged as
.tgzfiles in thecharts/directory
AWS ECR (Elastic Container Registry) supports OCI-based Helm charts, providing private, secure chart storage.
# Install AWS CLI and configure credentials
aws configure
# Install Helm push plugin
helm plugin install https://github.com/chartmuseum/helm-push# Create a repository for your Helm chart
aws ecr create-repository --repository-name helm-charts/backend-chart --region ap-south-1
aws ecr create-repository --repository-name helm-charts/frontend-chart --region ap-south-1
aws ecr create-repository --repository-name helm-charts/mongo-chart --region ap-south-1# Login to ECR (valid for 12 hours)
aws ecr get-login-password --region ap-south-1 | helm registry login \
--username AWS \
--password-stdin <aws-account-id>.dkr.ecr.ap-south-1.amazonaws.com# Package your charts
helm package source/backend-chart
helm package source/frontend-chart
helm package source/mongo-chart
# Push to ECR
helm push backend-chart-1.0.0.tgz oci://<aws-account-id>.dkr.ecr.ap-south-1.amazonaws.com/helm-charts
helm push frontend-chart-1.0.0.tgz oci://<aws-account-id>.dkr.ecr.ap-south-1.amazonaws.com/helm-charts
helm push mongo-chart-1.0.0.tgz oci://<aws-account-id>.dkr.ecr.ap-south-1.amazonaws.com/helm-charts# Login first (if not already logged in)
aws ecr get-login-password --region ap-south-1 | helm registry login \
--username AWS \
--password-stdin <aws-account-id>.dkr.ecr.ap-south-1.amazonaws.com
# Install chart
helm install my-backend oci://<aws-account-id>.dkr.ecr.ap-south-1.amazonaws.com/helm-charts/backend-chart --version 1.0.0
# With custom values
helm install my-backend oci://<aws-account-id>.dkr.ecr.ap-south-1.amazonaws.com/helm-charts/backend-chart \
--version 1.0.0 \
-f values.yaml# List ECR repositories
aws ecr describe-repositories --region ap-south-1
# List chart versions in ECR
aws ecr list-images --repository-name helm-charts/backend-chart --region ap-south-1
# Pull chart (for inspection)
helm pull oci://<aws-account-id>.dkr.ecr.ap-south-1.amazonaws.com/helm-charts/backend-chart --version 1.0.0
# Delete chart version
aws ecr batch-delete-image \
--repository-name helm-charts/backend-chart \
--image-ids imageTag=1.0.0 \
--region ap-south-1| Feature | GitHub Pages | AWS ECR |
|---|---|---|
| Cost | Free | Pay per storage/transfer |
| Access | Public (default) | Private by default |
| Authentication | None required | AWS IAM |
| Best For | Open source projects | Enterprise/Private charts |
| Setup | Simple | Requires AWS account |
Recommendation: Use GitHub Pages for public charts, ECR for private enterprise charts.