fluxcd: add flux system reconciliation

This commit is contained in:
Márcio Fernandes
2026-08-29 19:49:25 +00:00
parent fb0ab96f34
commit 0361f5d3d0
8 changed files with 58 additions and 31 deletions
-30
View File
@@ -1,32 +1,2 @@
# fluxcd-system # fluxcd-system
## Setup
⚠️ **Note**
Do not use helm upgrade --install for the Flux Operator.
Operators mutate their own resources, so Helm cannot reconcile them.
Use helm upgrade or uninstall + install instead.
### Install operator
``` bash
helm install flux-operator oci://ghcr.io/controlplaneio-fluxcd/charts/flux-operator \
--namespace flux-system \
--create-namespace
```
### Update operator and flux system
``` bash
helm upgrade flux-operator oci://ghcr.io/controlplaneio-fluxcd/charts/flux-operator \
--namespace flux-system \
--create-namespace
kubectl apply -f ./deploy/fluxsystem.yaml
```
**Allow prometheus scrapping:**
```bash
kubectl apply -f deploy/monitoring.yaml
kubectl label ns flux-system prometheus-monitoring=enabled
```
@@ -0,0 +1,12 @@
apiVersion: kustomize.toolkit.fluxcd.io/v1
kind: Kustomization
metadata:
name: flux-system
spec:
interval: 1m
sourceRef:
kind: GitRepository
name: chimera
namespace: flux-system
path: ./cluster-services/flux-system/deploy/flux-system
prune: true
@@ -0,0 +1,6 @@
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
namespace: flux-system
resources:
- flux-system-sync.yaml
@@ -0,0 +1,20 @@
apiVersion: helm.toolkit.fluxcd.io/v2
kind: HelmRelease
metadata:
name: flux-operator
spec:
releaseName: flux-operator
interval: 1m
chart:
spec:
chart: flux-operator
version: 0.x.x
sourceRef:
kind: HelmRepository
name: controlplaneio-fluxcd
interval: 40h
@@ -0,0 +1,10 @@
apiVersion: source.toolkit.fluxcd.io/v1
kind: HelmRepository
metadata:
name: controlplaneio-fluxcd
spec:
type: oci
interval: 24h
url: oci://ghcr.io/controlplaneio-fluxcd/charts
provider: generic
@@ -4,6 +4,7 @@ metadata:
name: flux name: flux
namespace: flux-system namespace: flux-system
annotations: annotations:
fluxcd.controlplane.io/reconcile: "enabled"
fluxcd.controlplane.io/reconcileEvery: "1h" fluxcd.controlplane.io/reconcileEvery: "1h"
fluxcd.controlplane.io/reconcileTimeout: "10m" fluxcd.controlplane.io/reconcileTimeout: "10m"
spec: spec:
@@ -23,4 +24,4 @@ spec:
type: kubernetes type: kubernetes
size: medium size: medium
multitenant: false multitenant: false
networkPolicy: true networkPolicy: true
@@ -0,0 +1,8 @@
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
namespace: flux-system
resources:
- flux-helm-repo.yaml
- flux-helm-release.yaml
- flux-instance.yaml
- pod-monitor.yaml