Compare commits

..

1 commit

53 changed files with 72 additions and 211 deletions

View file

@ -13,7 +13,7 @@ spec:
nodeName: ${node} nodeName: ${node}
containers: containers:
- name: disk-wipe - name: disk-wipe
image: docker.io/library/alpine:3.20.0 image: ghcr.io/onedr0p/alpine:3.17.3@sha256:999384960b6114496a5e4036e945141c205d064ce23b87326bd3f8d878c5a9d4
securityContext: securityContext:
privileged: true privileged: true
resources: {} resources: {}

View file

@ -13,7 +13,7 @@ spec:
nodeName: ${node} nodeName: ${node}
containers: containers:
- name: disk-wipe - name: disk-wipe
image: docker.io/library/alpine:3.20.0 image: ghcr.io/onedr0p/alpine:3.17.3@sha256:999384960b6114496a5e4036e945141c205d064ce23b87326bd3f8d878c5a9d4
securityContext: securityContext:
privileged: true privileged: true
resources: {} resources: {}

View file

@ -5,7 +5,7 @@ metadata:
spec: spec:
containers: containers:
- name: disk-wipe - name: disk-wipe
image: docker.io/library/alpine:3.20.0 image: ghcr.io/onedr0p/alpine:3.17.3@sha256:999384960b6114496a5e4036e945141c205d064ce23b87326bd3f8d878c5a9d4
securityContext: securityContext:
privileged: true privileged: true
resources: {} resources: {}

View file

@ -89,7 +89,7 @@ tasks:
"containers": [ "containers": [
{ {
"name": "debug", "name": "debug",
"image": "docker.io/library/alpine:3.20.0", "image": "docker.io/library/alpine:3.19.1",
"command": ["/bin/ash"], "command": ["/bin/ash"],
"stdin": true, "stdin": true,
"stdinOnce": true, "stdinOnce": true,

View file

@ -9,7 +9,7 @@ spec:
chart: chart:
spec: spec:
chart: pgo chart: pgo
version: 5.5.2 version: 5.5.1
sourceRef: sourceRef:
kind: HelmRepository kind: HelmRepository
name: crunchydata name: crunchydata

View file

@ -1,6 +1,6 @@
--- ---
# yaml-language-server: $schema=https://raw.githubusercontent.com/bjw-s/helm-charts/main/charts/other/app-template/schemas/helmrelease-helm-v2beta2.schema.json # yaml-language-server: $schema=https://raw.githubusercontent.com/bjw-s/helm-charts/main/charts/other/app-template/schemas/helmrelease-helm-v2beta2.schema.json
apiVersion: helm.toolkit.fluxcd.io/v2beta2 apiVersion: helm.toolkit.fluxcd.io/v2
kind: HelmRelease kind: HelmRelease
metadata: metadata:
name: home-assistant name: home-assistant
@ -45,7 +45,7 @@ spec:
app: app:
image: image:
repository: ghcr.io/home-assistant/home-assistant repository: ghcr.io/home-assistant/home-assistant
tag: 2024.5.5 tag: 2024.5.4
env: env:
TZ: America/Chicago TZ: America/Chicago
HASS_HTTP_TRUSTED_PROXY_1: 10.244.0.0/16 HASS_HTTP_TRUSTED_PROXY_1: 10.244.0.0/16

View file

@ -6,4 +6,6 @@ resources:
# Pre Flux-Kustomizations # Pre Flux-Kustomizations
- ./namespace.yaml - ./namespace.yaml
# Flux-Kustomizations # Flux-Kustomizations
- ./home-assistant/ks.yaml
- ./matter-server/ks.yaml
- ./mosquitto/ks.yaml - ./mosquitto/ks.yaml

View file

@ -1,6 +1,6 @@
--- ---
# yaml-language-server: $schema=https://raw.githubusercontent.com/bjw-s/helm-charts/main/charts/other/app-template/schemas/helmrelease-helm-v2beta2.schema.json # yaml-language-server: $schema=https://raw.githubusercontent.com/bjw-s/helm-charts/main/charts/other/app-template/schemas/helmrelease-helm-v2beta2.schema.json
apiVersion: helm.toolkit.fluxcd.io/v2beta2 apiVersion: helm.toolkit.fluxcd.io/v2
kind: HelmRelease kind: HelmRelease
metadata: metadata:
name: &app matter-server name: &app matter-server

View file

@ -28,7 +28,7 @@ spec:
type: cronjob type: cronjob
cronjob: cronjob:
schedule: "@weekly" schedule: "@weekly"
parallelism: 1 # Set to my total number of nodes parallelism: 6 # Set to my total number of nodes
containers: containers:
app: app:
image: image:

View file

@ -9,7 +9,7 @@ spec:
chart: chart:
spec: spec:
chart: kubelet-csr-approver chart: kubelet-csr-approver
version: 1.2.1 version: 1.2.0
sourceRef: sourceRef:
kind: HelmRepository kind: HelmRepository
name: postfinance name: postfinance

View file

@ -17,4 +17,3 @@ resources:
- ./node-feature-discovery/ks.yaml - ./node-feature-discovery/ks.yaml
- ./reloader/ks.yaml - ./reloader/ks.yaml
- ./spegel/ks.yaml - ./spegel/ks.yaml
- ./zfs-scrub/ks.yaml

View file

@ -10,7 +10,7 @@ spec:
chart: chart:
spec: spec:
chart: node-feature-discovery chart: node-feature-discovery
version: 0.16.0 version: 0.15.4
sourceRef: sourceRef:
kind: HelmRepository kind: HelmRepository
name: kubernetes-sigs-nfd name: kubernetes-sigs-nfd

View file

@ -10,7 +10,7 @@ spec:
chart: chart:
spec: spec:
chart: reloader chart: reloader
version: 1.0.98 version: 1.0.97
sourceRef: sourceRef:
kind: HelmRepository kind: HelmRepository
name: stakater name: stakater

View file

@ -1,85 +0,0 @@
---
# yaml-language-server: $schema=https://raw.githubusercontent.com/bjw-s/helm-charts/main/charts/other/app-template/schemas/helmrelease-helm-v2beta2.schema.json
apiVersion: helm.toolkit.fluxcd.io/v2
kind: HelmRelease
metadata:
name: &app zfs-scrub
spec:
interval: 30m
chart:
spec:
chart: app-template
version: 3.1.0
sourceRef:
kind: HelmRepository
name: bjw-s
namespace: flux-system
install:
remediation:
retries: 3
upgrade:
cleanupOnFail: true
remediation:
retries: 3
strategy: rollback
values:
controllers:
kubanetics:
type: cronjob
cronjob:
schedule: "@weekly"
parallelism: 1 # Set to my total number of nodes
containers:
app:
image:
repository: ghcr.io/onedr0p/kubanetics
tag: 2024.5.4@sha256:220ceb1bc1adca0b3ac45cedb3682091ff6f7f3725769fc22decbd3bb2091478
env:
SCRIPT_NAME: zfs-scrub.sh
probes:
liveness:
enabled: false
readiness:
enabled: false
startup:
enabled: false
resources:
requests:
cpu: 25m
limits:
memory: 128Mi
securityContext:
privileged: true
pod:
hostNetwork: true
hostPID: true
topologySpreadConstraints:
- maxSkew: 1
topologyKey: kubernetes.io/hostname
whenUnsatisfiable: DoNotSchedule
labelSelector:
matchLabels:
app.kubernetes.io/name: *app
persistence:
zfs-scrub:
type: configMap
name: zfs-scrub-configmap
defaultMode: 0775
globalMounts:
- path: /app/zfs-scrub.sh
subPath: zfs-scrub.sh
readOnly: true
procfs:
type: hostPath
hostPath: /proc
hostPathType: Directory
globalMounts:
- path: /host/proc
readOnly: true
netfs:
type: hostPath
hostPath: /sys
hostPathType: Directory
globalMounts:
- path: /host/net
readOnly: true

View file

@ -1,12 +0,0 @@
---
# yaml-language-server: $schema=https://json.schemastore.org/kustomization
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- ./helmrelease.yaml
configMapGenerator:
- name: zfs-scrub-configmap
files:
- zfs-scrub.sh=./resources/zfs-scrub.sh
generatorOptions:
disableNameSuffixHash: true

View file

@ -1,20 +0,0 @@
#!/usr/bin/env bash
KUBELET_BIN="/usr/local/bin/kubelet"
KUBELET_PID="$(pgrep -f $KUBELET_BIN)"
ZPOOL="nahar"
if [ -z "${KUBELET_PID}" ]; then
echo "kubelet not found"
exit 1
fi
# Enter namespaces and run commands
nsrun() {
nsenter \
--mount="/host/proc/${KUBELET_PID}/ns/mnt" \
--net="/host/proc/${KUBELET_PID}/ns/net" \
-- bash -c "$1"
}
# Scrub filesystems
nsrun "zpool scrub ${ZPOOL}"

View file

@ -1,21 +0,0 @@
---
# yaml-language-server: $schema=https://ks.hsn.dev/kustomize.toolkit.fluxcd.io/kustomization_v1.json
apiVersion: kustomize.toolkit.fluxcd.io/v1
kind: Kustomization
metadata:
name: &app zfs-scrub
namespace: flux-system
spec:
targetNamespace: kube-system
commonMetadata:
labels:
app.kubernetes.io/name: *app
path: ./kubernetes/apps/kube-system/zfs-scrub/app
prune: true
sourceRef:
kind: GitRepository
name: homelab
wait: false
interval: 30m
retryInterval: 1m
timeout: 5m

View file

@ -9,18 +9,14 @@ metadata:
app.kubernetes.io/managed-by: cdi-controller app.kubernetes.io/managed-by: cdi-controller
cdi.kubevirt.io: "" cdi.kubevirt.io: ""
name: openebs-zfs name: openebs-zfs
spec: spec: {}
claimPropertySets:
- accessModes:
- ReadWriteOnce
volumeMode: Block
status: status:
claimPropertySets:
- accessModes:
- ReadWriteOnce
volumeMode: Block
cloneStrategy: snapshot cloneStrategy: snapshot
dataImportCronSourceFormat: pvc dataImportCronSourceFormat: pvc
provisioner: zfs.csi.openebs.io provisioner: zfs.csi.openebs.io
snapshotClass: openebs-zfs snapshotClass: openebs-zfs
storageClass: openebs-zfs storageClass: openebs-zfs
claimPropertySets:
- volumeMode: Block
accessModes:
- "ReadWriteOnce"

View file

@ -20,7 +20,7 @@ spec:
devices: devices:
disks: disks:
- disk: - disk:
bus: sata bus: virtio
name: disk1 name: disk1
- cdrom: - cdrom:
bus: sata bus: sata

View file

@ -1,12 +1,15 @@
--- # yaml-language-server: $schema=https://ks.hsn.dev/cdi.kubevirt.io/datavolume_v1beta1.json
apiVersion: v1 apiVersion: cdi.kubevirt.io/v1beta1
kind: PersistentVolumeClaim kind: DataVolume
metadata: metadata:
name: fj-runner-02-disk1 name: "fj-runner-02-disk1"
spec: spec:
accessModes: storage:
- ReadWriteOnce
resources: resources:
requests: requests:
storage: 80Gi storage: 80Gi
storageClassName: openebs-zfs storageClassName: "openebs-zfs"
accessModes:
- "ReadWriteOnce"
source:
blank: {}

View file

@ -20,7 +20,7 @@ spec:
devices: devices:
disks: disks:
- disk: - disk:
bus: sata bus: virtio
name: disk1 name: disk1
- cdrom: - cdrom:
bus: sata bus: sata
@ -46,9 +46,9 @@ spec:
kubernetes.io/hostname: shadowfax kubernetes.io/hostname: shadowfax
priorityClassName: vm-standard priorityClassName: vm-standard
volumes: volumes:
- name: disk1 - dataVolume:
persistentVolumeClaim: name: fj-runner-02-disk1
claimName: fj-runner-02-disk1 name: disk1
- dataVolume: - dataVolume:
name: "nixos-minimal" name: "nixos-minimal"
name: nixosiso name: nixosiso

View file

@ -10,7 +10,7 @@ spec:
chart: chart:
spec: spec:
chart: kyverno chart: kyverno
version: 3.2.3 version: 3.2.2
sourceRef: sourceRef:
kind: HelmRepository kind: HelmRepository
name: kyverno name: kyverno

View file

@ -1,6 +1,6 @@
--- ---
# yaml-language-server: $schema=https://raw.githubusercontent.com/bjw-s/helm-charts/main/charts/other/app-template/schemas/helmrelease-helm-v2beta2.schema.json # yaml-language-server: $schema=https://raw.githubusercontent.com/bjw-s/helm-charts/main/charts/other/app-template/schemas/helmrelease-helm-v2beta2.schema.json
apiVersion: helm.toolkit.fluxcd.io/v2beta2 apiVersion: helm.toolkit.fluxcd.io/v2
kind: HelmRelease kind: HelmRelease
metadata: metadata:
name: &name immich name: &name immich
@ -33,7 +33,7 @@ spec:
app: app:
image: image:
repository: ghcr.io/immich-app/immich-server repository: ghcr.io/immich-app/immich-server
tag: v1.105.1 tag: v1.103.1
command: /bin/sh command: /bin/sh
args: args:
- ./start-server.sh - ./start-server.sh

View file

@ -1,6 +1,6 @@
--- ---
# yaml-language-server: $schema=https://raw.githubusercontent.com/bjw-s/helm-charts/main/charts/other/app-template/schemas/helmrelease-helm-v2beta2.schema.json # yaml-language-server: $schema=https://raw.githubusercontent.com/bjw-s/helm-charts/main/charts/other/app-template/schemas/helmrelease-helm-v2beta2.schema.json
apiVersion: helm.toolkit.fluxcd.io/v2beta2 apiVersion: helm.toolkit.fluxcd.io/v2
kind: HelmRelease kind: HelmRelease
metadata: metadata:
name: immich-machine-learning name: immich-machine-learning
@ -37,7 +37,7 @@ spec:
app: app:
image: image:
repository: ghcr.io/immich-app/immich-machine-learning repository: ghcr.io/immich-app/immich-machine-learning
tag: v1.105.1 tag: v1.103.1
resources: resources:
requests: requests:
cpu: 15m cpu: 15m

View file

@ -1,6 +1,6 @@
--- ---
# yaml-language-server: $schema=https://raw.githubusercontent.com/bjw-s/helm-charts/main/charts/other/app-template/schemas/helmrelease-helm-v2beta2.schema.json # yaml-language-server: $schema=https://raw.githubusercontent.com/bjw-s/helm-charts/main/charts/other/app-template/schemas/helmrelease-helm-v2beta2.schema.json
apiVersion: helm.toolkit.fluxcd.io/v2beta2 apiVersion: helm.toolkit.fluxcd.io/v2
kind: HelmRelease kind: HelmRelease
metadata: metadata:
name: immich-microservices name: immich-microservices
@ -37,7 +37,7 @@ spec:
app: app:
image: image:
repository: ghcr.io/immich-app/immich-server repository: ghcr.io/immich-app/immich-server
tag: v1.105.1 tag: v1.103.1
command: /bin/sh command: /bin/sh
args: args:
- ./start-microservices.sh - ./start-microservices.sh

View file

@ -1,4 +1,3 @@
---
apiVersion: v1 apiVersion: v1
kind: Service kind: Service
metadata: metadata:

View file

@ -36,7 +36,7 @@ spec:
app: app:
image: image:
repository: docker.io/cloudflare/cloudflared repository: docker.io/cloudflare/cloudflared
tag: 2024.5.0@sha256:5d5f70a59d5e124d4a1a747769e0d27431861877860ca31deaad41b09726ca71 tag: 2024.4.1@sha256:fcfafd14a658837c49a794671d5bec2c9e4227730abdc29db7c066f4381acba4
env: env:
NO_AUTOUPDATE: "true" NO_AUTOUPDATE: "true"
TUNNEL_CRED_FILE: /etc/cloudflared/creds/credentials.json TUNNEL_CRED_FILE: /etc/cloudflared/creds/credentials.json

View file

@ -31,7 +31,7 @@ spec:
init-config: init-config:
image: image:
repository: ghcr.io/kiwigrid/k8s-sidecar repository: ghcr.io/kiwigrid/k8s-sidecar
tag: 1.27.2@sha256:e3280f62096bee918a605658505baa8878223b483053396f769bd9f15a2876c0 tag: 1.27.1@sha256:df71eab1466c67b84e46fa9cd2d84738372377971d44dbb8699ab4483278c839
env: env:
FOLDER: /config FOLDER: /config
LABEL: gatus.io/enabled LABEL: gatus.io/enabled

View file

@ -10,7 +10,7 @@ spec:
chart: chart:
spec: spec:
chart: kube-prometheus-stack chart: kube-prometheus-stack
version: 59.0.0 version: 58.6.0
sourceRef: sourceRef:
kind: HelmRepository kind: HelmRepository
name: prometheus-community name: prometheus-community

View file

@ -10,7 +10,7 @@ spec:
chart: chart:
spec: spec:
chart: loki chart: loki
version: 6.6.1 version: 6.5.2
sourceRef: sourceRef:
kind: HelmRepository kind: HelmRepository
name: grafana name: grafana

View file

@ -38,7 +38,7 @@ spec:
nameOverride: qbittorrent nameOverride: qbittorrent
image: image:
repository: ghcr.io/onedr0p/qbittorrent repository: ghcr.io/onedr0p/qbittorrent
tag: 4.6.5@sha256:c019af23966ebafcaf1713d4553bc043246858b711a7d57d8bee358a89990a3e tag: 4.6.4@sha256:53ead5ab43027d04efc5d52740aa02308a88d6b4a6eaa90cf6fd2e94fc11ba17
env: env:
UMASK: "022" UMASK: "022"
QBITTORRENT__PORT: &port 8080 QBITTORRENT__PORT: &port 8080

View file

@ -3,7 +3,7 @@
apiVersion: kustomize.config.k8s.io/v1beta1 apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization kind: Kustomization
resources: resources:
- github.com/fluxcd/flux2/manifests/install?ref=v2.3.0 - github.com/fluxcd/flux2/manifests/install?ref=v2.2.3
patches: patches:
- patch: |- - patch: |-
$patch: delete $patch: delete

View file

@ -23,7 +23,7 @@ releases:
- name: kubelet-csr-approver - name: kubelet-csr-approver
namespace: kube-system namespace: kube-system
chart: postfinance/kubelet-csr-approver chart: postfinance/kubelet-csr-approver
version: 1.2.1 version: 1.2.0
values: ["../../../apps/kube-system/kubelet-csr-approver/app/helm-values.yaml"] values: ["../../../apps/kube-system/kubelet-csr-approver/app/helm-values.yaml"]
needs: ["cilium"] needs: ["cilium"]
- name: spegel - name: spegel

View file

@ -9,7 +9,7 @@ spec:
interval: 10m interval: 10m
url: oci://ghcr.io/fluxcd/flux-manifests url: oci://ghcr.io/fluxcd/flux-manifests
ref: ref:
tag: v2.3.0 tag: v2.2.3
--- ---
# yaml-language-server: $schema=https://raw.githubusercontent.com/fluxcd-community/flux2-schemas/main/kustomization-kustomize-v1.json # yaml-language-server: $schema=https://raw.githubusercontent.com/fluxcd-community/flux2-schemas/main/kustomization-kustomize-v1.json
apiVersion: kustomize.toolkit.fluxcd.io/v1 apiVersion: kustomize.toolkit.fluxcd.io/v1

View file

@ -9,7 +9,7 @@ spec:
nodeName: shadowfax nodeName: shadowfax
containers: containers:
- name: disk-wipe - name: disk-wipe
image: docker.io/library/alpine:3.20.0 image: docker.io/library/alpine:3.19.1
securityContext: securityContext:
privileged: true privileged: true
resources: {} resources: {}

View file

@ -9,7 +9,7 @@ spec:
nodeName: talos-fki-fmf nodeName: talos-fki-fmf
containers: containers:
- name: disk-wipe - name: disk-wipe
image: docker.io/library/alpine:3.20.0 image: docker.io/library/alpine:3.19.1
securityContext: securityContext:
privileged: true privileged: true
resources: {} resources: {}
@ -46,7 +46,7 @@ spec:
nodeName: talos-xuc-f2e nodeName: talos-xuc-f2e
containers: containers:
- name: disk-wipe - name: disk-wipe
image: docker.io/library/alpine:3.20.0 image: docker.io/library/alpine:3.19.1
securityContext: securityContext:
privileged: true privileged: true
resources: {} resources: {}
@ -83,7 +83,7 @@ spec:
nodeName: talos-opy-6ij nodeName: talos-opy-6ij
containers: containers:
- name: disk-wipe - name: disk-wipe
image: docker.io/library/alpine:3.20.0 image: docker.io/library/alpine:3.19.1
securityContext: securityContext:
privileged: true privileged: true
resources: {} resources: {}