Skip to content

FluxCD Basics

fluxcd is a so-called gitops tool. It allows users to define their cluster in a git repository and automatically syncs said configuration with the actual cluster

How to Configure

Configuration should be done “The Helm Way” via editing HelmRelease objects in the git repository. Values of which can be used like normal on helm.

This can be done following the Helm Guides

and checking all the many options available in our Common Library Chart

Example Helm-Release object

---
# yaml-language-server: $schema=https://kubernetes-schemas.zinn.ca/helm.toolkit.fluxcd.io/helmrelease_v2beta1.json
apiVersion: helm.toolkit.fluxcd.io/v2beta2
kind: HelmRelease
metadata:
name: sonarr
namespace: media
spec:
interval: 15m
chart:
spec:
chart: sonarr
version: 21.5.7
sourceRef:
kind: HelmRepository
name: truechartsoci
namespace: flux-system
interval: 15m
timeout: 20m
maxHistory: 3
driftDetection:
mode: warn
install:
createNamespace: true
remediation:
retries: 3
upgrade:
cleanupOnFail: true
remediation:
retries: 3
uninstall:
keepHistory: false
values:
ingress:
main:
enabled: true
integrations:
traefik:
enabled: true
middlewares:
- name: auth
namespace: traefik
certManager:
enabled: true
certificateIssuer: ks-le-prod
hosts:
- host: sonarr.${BASE_DOMAIN}
paths:
- path: /
pathType: Prefix