Skip to content

codefuturist/helm-charts

Repository files navigation

Helm Charts

License: MIT Release Charts

A collection of Helm charts for Kubernetes deployments, maintained by @codefuturist.

Overview

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.

Available Charts

πŸš€ 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

Quick Start

Prerequisites

  • Kubernetes cluster (1.19+)
  • Helm 3.8+
  • kubectl configured to communicate with your cluster

Adding the Repository

helm repo add pandia https://charts.pandia.io
helm repo update

Installing a Chart

# 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-namespace

Upgrading a Release

helm upgrade my-release pandia/<chart-name>

Uninstalling a Release

helm uninstall my-release

Chart Documentation

πŸ“š Full documentation with search: charts.pandia.io

Each chart has its own detailed README with:

  • Complete parameter documentation
  • Usage examples
  • Configuration guides
  • Troubleshooting tips

Quick Links

Chart README Search Values
Application README Search
Homarr README Search
NGINX README Search

Search all values across all charts: Values Search

Development

Prerequisites for Development

Local Testing

# 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 --debug

Building Documentation

Quick Start (Recommended):

# Start local documentation server with live reload
./scripts/docs-dev.sh serve

# Or use make
make docs-serve

This 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 artifacts

Automatic Sync:

Documentation is automatically synced when you commit via pre-commit hooks. If you add or remove a chart:

  1. The hook detects changes to charts/*/Chart.yaml or charts/*/values.yaml
  2. Generates/removes documentation pages automatically
  3. Updates mkdocs.yml navigation
  4. Updates the charts index page

To manually sync after adding/removing charts:

./scripts/docs-dev.sh sync
# or
make docs-sync

Contributing

We 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

Security

For security concerns, please review our Security Policy and report vulnerabilities responsibly.

Chart Releases

Charts are automatically released via GitHub Actions when changes are merged to the main branch. The release process:

  1. Detects changed charts
  2. Lints and tests the charts
  3. Packages the charts
  4. Creates GitHub releases
  5. Updates the Helm repository index
  6. Publishes to GitHub Pages

Release artifacts and changelogs are available in the Releases section.

Repository Structure

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

Support

License

This project is licensed under the MIT License - see the LICENSE file for details.

Acknowledgments

  • 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

About

No description, website, or topics provided.

Resources

License

Contributing

Security policy

Stars

Watchers

Forks

Packages

No packages published