chore: Add talos upgrade

This commit is contained in:
Laur IVAN 2026-02-11 00:44:30 +01:00
parent 3a222fcc62
commit 111e6035ae
8 changed files with 130 additions and 0 deletions

View File

@ -0,0 +1,8 @@
---
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
namespace: system-upgrade
resources:
- ./namespace.yaml
- ./tuppr/ks.yaml

View File

@ -0,0 +1,7 @@
---
apiVersion: v1
kind: Namespace
metadata:
name: _
annotations:
kustomize.toolkit.fluxcd.io/prune: disabled

View File

@ -0,0 +1,12 @@
---
apiVersion: helm.toolkit.fluxcd.io/v2
kind: HelmRelease
metadata:
name: tuppr
spec:
chartRef:
kind: OCIRepository
name: tuppr
interval: 30m
values:
replicaCount: 2

View File

@ -0,0 +1,7 @@
---
# yaml-language-server: $schema=https://json.schemastore.org/kustomization
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- ./helmrelease.yaml
- ./ocirepository.yaml

View File

@ -0,0 +1,12 @@
---
apiVersion: source.toolkit.fluxcd.io/v1
kind: OCIRepository
metadata:
name: tuppr
spec:
interval: 15m
layerSelector:
mediaType: application/vnd.cncf.helm.chart.content.v1.tar+gzip
operation: copy
ref:
tag: 0.0.52

View File

@ -0,0 +1,46 @@
---
# yaml-language-server: $schema=https://raw.githubusercontent.com/fluxcd-community/flux2-schemas/refs/heads/main/kustomization-kustomize-v1.json
apiVersion: kustomize.toolkit.fluxcd.io/v1
kind: Kustomization
metadata:
name: tuppr
spec:
commonMetadata:
labels:
app.kubernetes.io/name: tuppr
healthChecks:
- apiVersion: helm.toolkit.fluxcd.io/v2
kind: HelmRelease
name: tuppr
namespace: system-upgrade
interval: 1h
path: "./kubernetes/apps/system-upgrade/tuppr/app"
prune: true
sourceRef:
kind: GitRepository
name: flux-system
namespace: flux-system
targetNamespace: system-upgrade
timeout: 5m
---
# yaml-language-server: $schema=https://raw.githubusercontent.com/fluxcd-community/flux2-schemas/refs/heads/main/kustomization-kustomize-v1.json
apiVersion: kustomize.toolkit.fluxcd.io/v1
kind: Kustomization
metadata:
name: tuppr-upgrades
spec:
commonMetadata:
labels:
app.kubernetes.io/name: tuppr
dependsOn:
- name: tuppr
interval: 1h
path: "./kubernetes/apps/system-upgrade/tuppr/upgrades"
prune: true
sourceRef:
kind: GitRepository
name: flux-system
namespace: flux-system
targetNamespace: system-upgrade
timeout: 5m
wait: false

View File

@ -0,0 +1,18 @@
---
apiVersion: tuppr.home-operations.com/v1alpha1
kind: KubernetesUpgrade
metadata:
name: kubernetes
spec:
kubernetes:
# renovate: datasource=docker depName=ghcr.io/siderolabs/kubelet
version: v1.35.0
healthChecks:
- apiVersion: volsync.backube/v1alpha1
kind: ReplicationSource
expr: |-
status.conditions.filter(c, c.type == "Synchronizing").all(c, c.status == "False")
# - apiVersion: ceph.rook.io/v1
# kind: CephCluster
# expr: |-
# status.ceph.health in ['HEALTH_OK']

View File

@ -0,0 +1,20 @@
---
apiVersion: tuppr.home-operations.com/v1alpha1
kind: TalosUpgrade
metadata:
name: talos
spec:
talos:
# renovate: datasource=docker depName=ghcr.io/siderolabs/installer
version: v1.12.3
policy:
rebootMode: default
healthChecks:
- apiVersion: volsync.backube/v1alpha1
kind: ReplicationSource
expr: |-
status.conditions.filter(c, c.type == "Synchronizing").all(c, c.status == "False")
# - apiVersion: ceph.rook.io/v1
# kind: CephCluster
# expr: |-
# status.ceph.health in ['HEALTH_OK']