Welcome to the official Helm chart repository for the FluxCD Helm Upgrader! This repository provides automated Helm chart upgrades within your FluxCD-managed Kubernetes clusters.
Add this repository to your Helm client:
helm repo add fluxcd-helm-upgrader https://kenchrcum.github.io/fluxcd-helm-upgrader
helm repo update
Install the chart with default values:
helm install fluxcd-helm-upgrader fluxcd-helm-upgrader/fluxcd-helm-upgrader
Or install in a specific namespace:
helm install fluxcd-helm-upgrader fluxcd-helm-upgrader/fluxcd-helm-upgrader \
--namespace flux-system \
--create-namespace
To upgrade to the latest version:
helm repo update
helm upgrade fluxcd-helm-upgrader fluxcd-helm-upgrader/fluxcd-helm-upgrader
The FluxCD Helm Upgrader is a Kubernetes controller that automatically detects and creates pull requests for Helm chart upgrades in your GitOps repositories managed by FluxCD. It integrates seamlessly with your existing FluxCD setup to keep your Helm dependencies up-to-date.
For detailed installation instructions, configuration options, and examples, visit the main repository.
helm install fluxcd-helm-upgrader fluxcd-helm-upgrader/fluxcd-helm-upgrader \
--set github.token=your-github-token \
--set github.owner=your-org \
--set github.repo=your-repo
# First, create the SSH secret
kubectl create secret generic fluxcd-helm-upgrader-ssh \
--from-file=id_rsa=/path/to/your/deploy-key \
--from-file=id_rsa.pub=/path/to/your/deploy-key.pub \
--from-literal=known_hosts="$(ssh-keyscan -t rsa github.com)" \
-n flux-system
# Then install the chart
helm install fluxcd-helm-upgrader fluxcd-helm-upgrader/fluxcd-helm-upgrader \
--set ssh.enabled=true \
--set github.owner=your-org \
--set github.repo=your-repo
| Parameter | Description | Default |
|---|---|---|
| image.repository | Docker image repository | kenchrcum/fluxcd-helm-upgrader |
| image.tag | Docker image tag | โ0.3.2โ |
| image.pullPolicy | Image pull policy | IfNotPresent |
| mode | Deployment mode: โdeploymentโ for continuous operation, โcronjobโ for scheduled execution | deployment |
| replicaCount | Number of replicas for deployment mode | 1 |
| cronjob.schedule | Schedule in cron format (e.g., โ0 */6 * * *โ for every 6 hours) | โ0 */6 * * *โ |
| cronjob.concurrencyPolicy | How to handle concurrent executions | Forbid |
| cronjob.successfulJobsHistoryLimit | Number of successful jobs to retain | 3 |
| cronjob.failedJobsHistoryLimit | Number of failed jobs to retain | 1 |
| cronjob.startingDeadlineSeconds | Deadline in seconds for starting the job if missed | 300 |
| cronjob.suspend | Suspend the cron job | false |
| cronjob.activeDeadlineSeconds | Deadline in seconds for job execution | 3600 |
| cronjob.backoffLimit | Number of retries before marking job as failed | 3 |
| resources.limits.cpu | CPU limit for the pod | 200m |
| resources.limits.memory | Memory limit for the pod | 256Mi |
| resources.requests.cpu | CPU request for the pod | 50m |
| resources.requests.memory | Memory request for the pod | 64Mi |
| nodeSelector | Node selector for pod scheduling | {} |
| tolerations | Tolerations for pod scheduling | [] |
| affinity | Affinity rules for pod scheduling | {} |
| serviceAccount.create | Create a service account | true |
| serviceAccount.name | Name of the service account | โโ |
| rbac.create | Create RBAC resources | true |
| rbac.clusterWide | Create cluster-wide RBAC | true |
| logLevel | Logging level | INFO |
| intervalSeconds | Interval between checks in seconds | 300 |
| includePrerelease | Include prerelease versions in upgrades | false |
| podAnnotations | Annotations for the pod | {} |
| repo.url | URL of the Git repository | โโ |
| repo.branch | Branch to use | โโ |
| repo.searchPattern | Pattern to search for HelmRelease manifests | โ/components/{namespace}//helmrelease.y*mlโ |
| repo.cloneDir | Mount path for cloning the repo | โ/tmp/fluxcd-repoโ |
| repo.sshKeySecret.enabled | Enable SSH key authentication | false |
| repo.sshKeySecret.name | Name of the SSH secret | โโ |
| repo.sshKeySecret.privateKey | Key name for private key in secret | โid_rsaโ |
| repo.sshKeySecret.publicKey | Key name for public key in secret | โid_rsa.pubโ |
| repo.sshKeySecret.knownHosts | Key name for known_hosts in secret | โknown_hostsโ |
| github.tokenSecret.enabled | Enable GitHub token secret | false |
| github.tokenSecret.name | Name of the token secret | โโ |
| github.tokenSecret.key | Key name for token in secret | โtokenโ |
| github.repository | GitHub repository in format โowner/repoโ | โโ |
| github.defaultBranch | Override default branch detection | โโ |
| git.userName | Git user name for commits | โfluxcd-helm-upgraderโ |
| git.userEmail | Git user email for commits | โfluxcd-helm-upgrader@noreply.localโ |
| git.forcePush | Force push branches when they exist | false |
| Chart | Version | Description |
|---|---|---|
| fluxcd-helm-upgrader | Latest | Automated Helm chart upgrades for FluxCD |
We welcome contributions! Please see the contributing guidelines in the main repository.
This project is licensed under the Apache License 2.0 - see the LICENSE file for details.
Keep your Helm charts fresh with FluxCD Helm Upgrader! ๐