A collection of Helm charts for Kubernetes deployments, maintained by @codefuturist.
This repository contains production-ready Helm charts for various applications and services. Each chart follows Kubernetes and Helm best practices, providing flexible configuration options and comprehensive documentation.
π Application
A generic, highly flexible Helm chart for deploying various types of applications on Kubernetes. Supports deployments, jobs, and cronjobs with extensive configuration options including:
- Multiple deployment strategies (Deployment, Job, CronJob)
- Comprehensive probe configurations (startup, readiness, liveness)
- Service mesh integration (Istio, Linkerd)
- Monitoring (ServiceMonitor, PrometheusRule, Grafana Dashboards)
- Security features (NetworkPolicy, PodDisruptionBudget, RBAC)
- Auto-scaling (HPA, VPA)
- Certificate management
- And much more...
Version: 5.1.4
π Homarr
Helm chart for deploying Homarr - a modern, customizable dashboard that puts all of your apps and services at your fingertips. Perfect for homelabs and self-hosted environments.
Version: 5.2.11 App Version: 0.15.0
π NGINX
Helm chart for deploying NGINX web server with customizable configuration options.
Version: 0.1.1 App Version: 1.27.0
- Kubernetes cluster (1.19+)
- Helm 3.8+
- kubectl configured to communicate with your cluster
helm repo add pandia https://charts.pandia.io
helm repo update# Install with default values
helm install my-release pandia/<chart-name>
# Install with custom values
helm install my-release pandia/<chart-name> -f values.yaml
# Install in a specific namespace
helm install my-release pandia/<chart-name> --namespace my-namespace --create-namespacehelm upgrade my-release pandia/<chart-name>helm uninstall my-releaseπ Full documentation with search: charts.pandia.io
Each chart has its own detailed README with:
- Complete parameter documentation
- Usage examples
- Configuration guides
- Troubleshooting tips
| Chart | README | Search Values |
|---|---|---|
| Application | README | Search |
| Homarr | README | Search |
| NGINX | README | Search |
Search all values across all charts: Values Search
- Helm v3.8+
- uv (fast Python package manager for documentation)
- helm-docs (for documentation generation)
- chart-testing (for linting and testing)
- yamllint
# Lint all charts
ct lint --config ct.yaml --all
# Lint a specific chart
helm lint charts/<chart-name>
# Template and validate
helm template test charts/<chart-name> --values charts/<chart-name>/values.yaml
# Dry run installation
helm install test-release charts/<chart-name> --dry-run --debugQuick Start (Recommended):
# Start local documentation server with live reload
./scripts/docs-dev.sh serve
# Or use make
make docs-serveThis will:
- Create a virtual environment automatically
- Install all dependencies
- Generate documentation from chart values
- Start a local server at http://localhost:8000
- Auto-refresh when you make changes
Other Commands:
# Using the dev script
./scripts/docs-dev.sh help # Show all commands
./scripts/docs-dev.sh build # Build static site
./scripts/docs-dev.sh generate # Regenerate from values only
./scripts/docs-dev.sh sync # Sync charts with docs (add/remove)
./scripts/docs-dev.sh check # Check if docs are in sync
./scripts/docs-dev.sh clean # Clean generated files
# Using make
make docs-deps # Install dependencies only
make docs-generate # Generate MkDocs pages from charts
make docs-build # Build documentation site
make docs-sync # Sync charts with docs
make docs-check # Check if docs are in sync
make docs-open # Open built docs in browser
make docs-clean # Clean documentation artifactsAutomatic Sync:
Documentation is automatically synced when you commit via pre-commit hooks. If you add or remove a chart:
- The hook detects changes to
charts/*/Chart.yamlorcharts/*/values.yaml - Generates/removes documentation pages automatically
- Updates
mkdocs.ymlnavigation - Updates the charts index page
To manually sync after adding/removing charts:
./scripts/docs-dev.sh sync
# or
make docs-syncWe welcome contributions! Please see our Contributing Guide for details on:
- How to submit issues and pull requests
- Development setup and workflow
- Chart development guidelines
- Testing requirements
For security concerns, please review our Security Policy and report vulnerabilities responsibly.
Charts are automatically released via GitHub Actions when changes are merged to the main branch. The release process:
- Detects changed charts
- Lints and tests the charts
- Packages the charts
- Creates GitHub releases
- Updates the Helm repository index
- Publishes to GitHub Pages
Release artifacts and changelogs are available in the Releases section.
helm-charts/
βββ .github/
β βββ workflows/ # CI/CD workflows
β βββ ct-lint.yaml # Chart testing linting configuration
βββ charts/ # All Helm charts
β βββ application/ # Generic application chart
β βββ homarr/ # Homarr dashboard chart
β βββ nginx/ # NGINX chart
βββ docs/ # Documentation
β βββ CHANGELOG.md # Version history
β βββ CONTRIBUTING.md # Contribution guidelines
β βββ SECURITY.md # Security policy
β βββ ... # Additional documentation
βββ site/ # GitHub Pages content
β βββ index.html # Landing page
β βββ index.yaml # Helm repository index
βββ ct.yaml # Chart testing configuration
βββ LICENSE # MIT License
βββ README.md # This file
- Issues: GitHub Issues
- Discussions: GitHub Discussions
- Email: [email protected]
This project is licensed under the MIT License - see the LICENSE file for details.
- Inspired by and built upon best practices from the Kubernetes and Helm communities
- Special thanks to all contributors
Maintained by: @codefuturist Repository: github.com/codefuturist/helm-charts