No description
Find a file
Ilija Radojkovic 8cd21e83de
All checks were successful
Release Charts to Forgejo Helm Repository / release (push) Successful in 10s
Merge pull request 'chore(deps): update docker.io/collabora/code docker tag to v25' (#7) from renovate/docker.io-collabora-code-25.x into main
Reviewed-on: #7
2026-01-10 01:23:35 +00:00
.forgejo/workflows chore(deps): update actions/checkout action to v6 2026-01-10 01:09:15 +00:00
charts chore(deps): update docker.io/collabora/code docker tag to v25 2026-01-10 01:16:32 +00:00
.gitignore first commit 2026-01-03 01:28:28 +01:00
README.md feat(workflow): Publish charts to Forgejo Helm repository 2026-01-03 02:47:20 +01:00
renovate.json Add renovate.json 2026-01-10 01:02:48 +00:00

Helm Charts Repository

This repository contains Helm charts for deploying applications to Kubernetes, hosted via Forgejo's built-in Helm Package Repository.

Quick Start

Using Charts

# Add repository
helm repo add rade-charts https://git.radojkovic.in.rs/api/packages/rade/helm
helm repo update

# Search and install
helm search repo rade-charts
helm install my-release rade-charts/my-app

Publishing Charts

# Create, package, and upload
helm create charts/my-app
helm package charts/my-app
curl --user rade:${FORGEJO_TOKEN} \
  -X POST \
  --upload-file my-app-1.0.0.tgz \
  https://git.radojkovic.in.rs/api/packages/rade/helm/api/charts

Authentication

Public Charts

No authentication needed for installation.

Private Charts

helm repo add rade-charts https://git.radojkovic.in.rs/api/packages/rade/helm \
  --username rade \
  --password YOUR_TOKEN

Create tokens at: Forgejo → Settings → Applications (requires read:packages and write:packages permissions)

Chart Development

Workflow

  1. Create chart:

    helm create charts/my-app
    
  2. Test locally:

    helm lint charts/my-app
    helm template test-release charts/my-app
    helm install test charts/my-app --dry-run --debug
    
  3. Update version in Chart.yaml following Semantic Versioning

  4. Package and upload:

    helm package charts/my-app
    curl --user rade:${FORGEJO_TOKEN} \
      -X POST \
      --upload-file my-app-1.0.0.tgz \
      https://git.radojkovic.in.rs/api/packages/rade/helm/api/charts
    

Or use the helper script: ./scripts/upload-charts.sh

Automated Publishing

Forgejo Actions workflows automatically lint, package, and upload charts:

  • .forgejo/workflows/lint.yml - Validates charts on pull requests
  • .forgejo/workflows/release.yml - Uploads charts on merge to main

Requires Forgejo Actions enabled with at least one registered runner.

Common Commands

# Repository management
helm repo add rade-charts https://git.radojkovic.in.rs/api/packages/rade/helm
helm repo update
helm search repo rade-charts
helm search repo rade-charts/my-app --versions

# Installation
helm install my-release rade-charts/my-app
helm install my-release rade-charts/my-app --version 1.0.0
helm install my-release rade-charts/my-app -f custom-values.yaml

# Upgrades
helm upgrade my-release rade-charts/my-app
helm upgrade my-release rade-charts/my-app --reuse-values --set image.tag=v2.0.0

# Information
helm show chart rade-charts/my-app
helm show values rade-charts/my-app
helm pull rade-charts/my-app --untar

# Cleanup
helm uninstall my-release

Troubleshooting

401/403 on upload: Verify token has packages:write permission and isn't expired

Chart not found: Run helm repo update and verify chart exists at https://git.radojkovic.in.rs/rade?tab=packages

Chart not appearing: Wait a few seconds for indexing, then helm repo update

Why Forgejo Helm Repository?

  • Traditional helm repo add workflow (Helm 3.0+)
  • Search and browse charts via CLI and Web UI
  • No manual index.yaml management
  • Built-in authentication and access control
  • Install latest version without specifying version number

Repository Structure

charts/
├── .forgejo/workflows/     # CI/CD automation
├── charts/                 # Chart sources
├── scripts/                # Helper scripts
└── *.md                    # Documentation

Support

License

MIT