The Flux Helm Controller is a Kubernetes operator that simplifies the management of Helm charts within your cluster. It allows you to declaratively define the desired state of your Helm releases using Kubernetes Custom Resources (CRDs) called `HelmReleases`. By leveraging the Helm Controller, you can achieve a GitOps-driven approach to Helm deployments, ensuring consistency, automation, and better control over your Helm-based applications.
1. HelmRelease Definition:
```yaml apiVersion: helm.toolkit.fluxcd.io/v2beta1 kind: HelmRelease metadata:
name: my-app namespace: my-namespacespec:
interval: 5m0s
chart:
spec:
chart: my-app
version: "1.0.0"
sourceRef:
kind: HelmRepository
name: my-helm-repo
namespace: flux-system
values:
image:
tag: latest
dependsOn:
- name: my-database
namespace: my-namespace
```
This HelmRelease definition instructs the Helm Controller to deploy the 'my-app' chart from the specified HelmRepository, using the provided values, and ensuring it depends on the “my-database” Helm release.