feat: flux-operator

This commit is contained in:
auricom
2025-04-03 15:22:18 +02:00
parent 5b89174c4f
commit d0a14fc471
7 changed files with 91 additions and 0 deletions

View File

@@ -0,0 +1,7 @@
---
nameReference:
- kind: ConfigMap
version: v1
fieldSpecs:
- path: spec/valuesFrom/name
kind: HelmRelease

View File

@@ -0,0 +1,3 @@
---
serviceMonitor:
create: true

View File

@@ -0,0 +1,40 @@
---
# yaml-language-server: $schema=https://kubernetes-schemas.pages.dev/source.toolkit.fluxcd.io/ocirepository_v1beta2.json
apiVersion: source.toolkit.fluxcd.io/v1beta2
kind: OCIRepository
metadata:
name: flux-operator
spec:
interval: 5m
layerSelector:
mediaType: application/vnd.cncf.helm.chart.content.v1.tar+gzip
operation: copy
ref:
tag: 0.18.0
url: oci://ghcr.io/controlplaneio-fluxcd/charts/flux-operator
verify:
provider: cosign
matchOIDCIdentity:
- issuer: ^https://token.actions.githubusercontent.com$
subject: ^https://github.com/controlplaneio-fluxcd/charts.*$
---
# yaml-language-server: $schema=https://kubernetes-schemas.pages.dev/helm.toolkit.fluxcd.io/helmrelease_v2.json
apiVersion: helm.toolkit.fluxcd.io/v2
kind: HelmRelease
metadata:
name: flux-operator
spec:
interval: 1h
chartRef:
kind: OCIRepository
name: flux-operator
install:
remediation:
retries: -1
upgrade:
cleanupOnFail: true
remediation:
retries: 3
valuesFrom:
- kind: ConfigMap
name: flux-operator-values

View File

@@ -0,0 +1,12 @@
---
# yaml-language-server: $schema=https://json.schemastore.org/kustomization
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- ./helmrelease.yaml
configMapGenerator:
- name: flux-operator-values
files:
- values.yaml=./helm/values.yaml
configurations:
- ./helm/kustomizeconfig.yaml

View File

@@ -0,0 +1,26 @@
---
# yaml-language-server: $schema=https://kubernetes-schemas.pages.dev/kustomize.toolkit.fluxcd.io/kustomization_v1.json
apiVersion: kustomize.toolkit.fluxcd.io/v1
kind: Kustomization
metadata:
name: &app flux-operator
namespace: &namespace flux-system
spec:
commonMetadata:
labels:
app.kubernetes.io/name: *app
healthChecks:
- apiVersion: helm.toolkit.fluxcd.io/v2
kind: HelmRelease
name: *app
namespace: *namespace
interval: 1h
path: ./kubernetes/apps/flux-system/flux-operator/app
prune: true
retryInterval: 2m
sourceRef:
kind: GitRepository
name: home-ops-kubernetes
namespace: *namespace
targetNamespace: *namespace
timeout: 5m

View File

@@ -9,3 +9,5 @@ resources:
- ./addons/ks.yaml
- ./capacitor/ks.yaml
# Standard Resources
# - ./flux-instance/ks.yaml
- ./flux-operator/ks.yaml