zfs-to-hostpath until talos 1.8 #409

Merged
jahanson merged 3 commits from zfs-to-hostpath into main 2024-07-08 11:22:29 -05:00
45 changed files with 148 additions and 85 deletions

View file

@ -12,7 +12,7 @@ spec:
app.kubernetes.io/name: *app
dependsOn:
- name: external-secrets-stores
- name: openebs-cluster
- name: openebs-system
- name: volsync
path: ./kubernetes/apps/home-automation/home-assistant/app
prune: true

View file

@ -11,7 +11,7 @@ spec:
labels:
app.kubernetes.io/name: *app
dependsOn:
- name: openebs-cluster
- name: openebs-system
- name: volsync
path: ./kubernetes/apps/home-automation/matter-server/app
prune: true

View file

@ -0,0 +1,9 @@
---
# yaml-language-server: $schema=https://json.schemastore.org/kustomization
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
# Pre Flux-Kustomizations
- ./namespace.yaml
# Flux-Kustomizations
- ./openebs/ks.yaml

View file

@ -0,0 +1,8 @@
---
apiVersion: v1
kind: Namespace
metadata:
name: openebs-system
annotations:
kustomize.toolkit.fluxcd.io/prune: disabled
volsync.backube/privileged-movers: "true"

View file

@ -0,0 +1,32 @@
---
# yaml-language-server: $schema=https://ks.hsn.dev/helm.toolkit.fluxcd.io/helmrelease_v2beta2.json
apiVersion: helm.toolkit.fluxcd.io/v2
kind: HelmRelease
metadata:
name: openebs-zfs
spec:
interval: 30m
chart:
spec:
chart: zfs-localpv
version: 2.6.0
sourceRef:
kind: HelmRepository
name: openebs-zfs
namespace: flux-system
install:
remediation:
retries: 3
upgrade:
cleanupOnFail: true
remediation:
retries: 3
uninstall:
keepHistory: false
values:
zfsNode:
encrKeysDir: /var/openebs/keys
crds:
csi:
volumeSnapshots:
enabled: false

View file

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

View file

@ -0,0 +1,21 @@
---
# 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 openebs
namespace: flux-system
spec:
targetNamespace: openebs-system
commonMetadata:
labels:
app.kubernetes.io/name: *app
path: ./kubernetes/apps/openebs-system/openebs/app
prune: true
sourceRef:
kind: GitRepository
name: homelab
wait: false
interval: 30m
retryInterval: 1m
timeout: 5m

View file

@ -9,7 +9,7 @@ spec:
resources:
requests:
storage: 2Gi
storageClassName: "openebs-zfs"
storageClassName: "openebs-hostpath"
accessModes:
- "ReadWriteOnce"
source:

View file

@ -8,7 +8,7 @@ metadata:
app.kubernetes.io/component: storage
app.kubernetes.io/managed-by: cdi-controller
cdi.kubevirt.io: ""
name: openebs-zfs
name: openebs-hostpath
spec:
claimPropertySets:
- accessModes:
@ -22,5 +22,5 @@ status:
cloneStrategy: copy
dataImportCronSourceFormat: pvc
provisioner: zfs.csi.openebs.io
snapshotClass: openebs-zfs
storageClass: openebs-zfs
snapshotClass: openebs-hostpath
storageClass: openebs-hostpath

View file

@ -9,7 +9,7 @@ spec:
targetNamespace: cdi
dependsOn:
- name: kubevirt
- name: openebs-cluster
- name: openebs-system
path: ./deploy
prune: true
sourceRef:

View file

@ -41,7 +41,7 @@ spec:
app.kubernetes.io/name: crunchy-postgres
replicas: &replica 1
dataVolumeClaimSpec:
storageClassName: openebs-zfs
storageClassName: openebs-hostpath
accessModes:
- ReadWriteOnce
resources:

View file

@ -18,7 +18,7 @@ spec:
name: homelab
wait: false
dependsOn:
- name: openebs-cluster
- name: openebs-system
- name: volsync
- name: external-secrets-stores
postBuild:

View file

@ -16,7 +16,7 @@ spec:
kind: GitRepository
name: homelab
dependsOn:
- name: openebs-cluster
- name: openebs-system
- name: volsync
wait: false
interval: 30m

View file

@ -13,7 +13,7 @@ spec:
dependsOn:
- name: crunchy-postgres-operator
- name: external-secrets-stores
- name: openebs-cluster
- name: openebs-system
path: ./kubernetes/apps/default/radarr/app
prune: true
sourceRef:

View file

@ -12,7 +12,7 @@ spec:
app.kubernetes.io/name: *app
dependsOn:
- name: external-secrets-stores
- name: openebs-cluster
- name: openebs-system
- name: volsync
path: ./kubernetes/apps/default/sabnzbd/app
prune: true

View file

@ -14,7 +14,7 @@ spec:
- name: crunchy-postgres-operator
- name: external-secrets-stores
- name: volsync
- name: openebs-cluster
- name: openebs-system
path: ./kubernetes/apps/default/sonarr/app
prune: true
sourceRef:

View file

@ -16,7 +16,7 @@ spec:
kind: GitRepository
name: homelab
dependsOn:
- name: openebs-cluster
- name: openebs-system
- name: volsync
wait: false
interval: 30m

View file

@ -18,7 +18,7 @@ spec:
name: homelab
wait: true
dependsOn:
- name: openebs-cluster
- name: openebs-system
- name: volsync
- name: external-secrets-stores
postBuild:

View file

@ -13,8 +13,8 @@ resources:
- ./kubelet-csr-approver/ks.yaml
- ./metrics-server/ks.yaml
- ./multus/ks.yaml
# - ./nvidia-device-plugin/ks.yaml # Until nvidia-container-plugin issues are resolved with the ZFS extension.
- ./nvidia-device-plugin/ks.yaml
- ./node-feature-discovery/ks.yaml
- ./reloader/ks.yaml
- ./spegel/ks.yaml
- ./zfs-scrub/ks.yaml
# - ./zfs-scrub/ks.yaml # Until nvidia-container-plugin issues are resolved with the ZFS extension.

View file

@ -8,7 +8,7 @@ metadata:
spec:
targetNamespace: kubevirt
dependsOn:
- name: openebs-cluster
- name: openebs-system
path: ./deploy
prune: true
sourceRef:
@ -40,7 +40,7 @@ spec:
featureGates:
- CPUNodeDiscovery
- ExpandDisks
vmStateStorageClass: openebs-zfs
vmStateStorageClass: openebs-hostpath
target:
group: kubevirt.io
kind: KubeVirt

View file

@ -9,4 +9,4 @@ spec:
resources:
requests:
storage: 80Gi
storageClassName: openebs-zfs
storageClassName: openebs-hostpath

View file

@ -9,4 +9,4 @@ spec:
resources:
requests:
storage: 80Gi
storageClassName: openebs-zfs
storageClassName: openebs-hostpath

View file

@ -46,7 +46,7 @@ spec:
storage:
volumeClaimTemplate:
spec:
storageClassName: openebs-zfs
storageClassName: openebs-hostpath
resources:
requests:
storage: 1Gi
@ -142,7 +142,7 @@ spec:
storageSpec:
volumeClaimTemplate:
spec:
storageClassName: openebs-zfs
storageClassName: openebs-hostpath
resources:
requests:
storage: 20Gi

View file

@ -12,7 +12,7 @@ spec:
app.kubernetes.io/name: *app
dependsOn:
- name: external-secrets-stores
- name: openebs-cluster
- name: openebs-system
- name: volsync
path: ./kubernetes/apps/observability/kube-prometheus-stack/app
prune: true

View file

@ -104,7 +104,7 @@ spec:
replicas: 1
persistence:
size: 20Gi
storageClass: openebs-zfs
storageClass: openebs-hostpath
gateway:
replicas: 1
image:
@ -125,7 +125,7 @@ spec:
replicas: 1
persistence:
size: 20Gi
storageClass: openebs-zfs
storageClass: openebs-hostpath
sidecar:
image:
repository: ghcr.io/kiwigrid/k8s-sidecar

View file

@ -12,7 +12,7 @@ spec:
app.kubernetes.io/name: *app
dependsOn:
- name: external-secrets-stores
- name: openebs-cluster
- name: openebs-system
- name: vector
path: ./kubernetes/apps/observability/loki/app
prune: true

View file

@ -65,7 +65,7 @@ spec:
- --retention.resolution-1h=60d
persistence: &persistence
enabled: true
storageClass: openebs-zfs
storageClass: openebs-hostpath
size: 10Gi
query:
replicas: 1

View file

@ -12,7 +12,7 @@ spec:
app.kubernetes.io/name: *app
dependsOn:
- name: external-secrets-stores
- name: openebs-cluster
- name: openebs-system
- name: dragonfly-operator
path: ./kubernetes/apps/observability/thanos/app
prune: true

View file

@ -3,16 +3,16 @@
apiVersion: helm.toolkit.fluxcd.io/v2
kind: HelmRelease
metadata:
name: openebs-zfs
name: openebs
spec:
interval: 30m
chart:
spec:
chart: zfs-localpv
version: 2.6.0
chart: openebs
version: 4.0.1
sourceRef:
kind: HelmRepository
name: openebs-zfs
name: openebs
namespace: flux-system
install:
remediation:
@ -20,13 +20,34 @@ spec:
upgrade:
cleanupOnFail: true
remediation:
strategy: rollback
retries: 3
uninstall:
keepHistory: false
values:
zfsNode:
encrKeysDir: /var/openebs/keys
crds:
localpv-provisioner:
localpv:
image:
registry: quay.io/
repository: openebs/provisioner-localpv
hostpathClass:
name: openebs-hostpath
isDefaultClass: true
openebs-crds:
csi:
volumeSnapshots:
enabled: false
keep: false
zfs-localpv:
enabled: false
lvm-localpv:
enabled: false
mayastor:
enabled: false
engines:
local:
lvm:
enabled: false
zfs:
enabled: false
replicated:
mayastor:
enabled: false

View file

@ -19,26 +19,3 @@ spec:
interval: 30m
retryInterval: 1m
timeout: 5m
---
# 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 openebs-cluster
namespace: flux-system
spec:
targetNamespace: openebs-system
commonMetadata:
labels:
app.kubernetes.io/name: *app
path: ./kubernetes/apps/openebs-system/openebs/cluster
dependsOn:
- name: openebs
prune: true
sourceRef:
kind: GitRepository
name: homelab
wait: false
interval: 30m
retryInterval: 1m
timeout: 5m

View file

@ -18,7 +18,7 @@ spec:
name: homelab
wait: true
dependsOn:
- name: openebs-cluster
- name: openebs-system
- name: volsync
- name: external-secrets-stores
postBuild:

View file

@ -26,7 +26,6 @@ resources:
- kubernetes-sigs-external-dns.yaml
- nvidia.yaml
- openebs.yaml
- openebs-zfs.yaml
- piraeus.yaml
- postfinance.yaml
- prometheus-community.yaml

View file

@ -1,10 +0,0 @@
---
# yaml-language-server: $schema=https://ks.hsn.dev/source.toolkit.fluxcd.io/helmrepository_v1beta2.json
apiVersion: source.toolkit.fluxcd.io/v1
kind: HelmRepository
metadata:
name: openebs-zfs
namespace: flux-system
spec:
interval: 2h
url: https://openebs.github.io/zfs-localpv

View file

@ -36,7 +36,7 @@ spec:
app.kubernetes.io/name: pgo-${APP}
replicas: 1
dataVolumeClaimSpec:
storageClassName: openebs-zfs
storageClassName: openebs-hostpath
accessModes:
- ReadWriteOnce
resources:

View file

@ -12,4 +12,4 @@ spec:
resources:
requests:
storage: "${VOLSYNC_CAPACITY}"
storageClassName: "${VOLSYNC_STORAGECLASS:-openebs-zfs}"
storageClassName: "${VOLSYNC_STORAGECLASS:-openebs-hostpath}"

View file

@ -36,11 +36,11 @@ spec:
copyMethod: "${VOLSYNC_COPYMETHOD:-Snapshot}"
pruneIntervalDays: 7
repository: "${APP}-volsync-secret"
volumeSnapshotClassName: "${VOLSYNC_SNAPSHOTCLASS:-openebs-zfs}"
volumeSnapshotClassName: "${VOLSYNC_SNAPSHOTCLASS:-openebs-hostpath}"
cacheCapacity: "${VOLSYNC_CACHE_CAPACITY:-4Gi}"
cacheStorageClassName: "${VOLSYNC_CACHE_SNAPSHOTCLASS:-openebs-zfs}"
cacheStorageClassName: "${VOLSYNC_CACHE_SNAPSHOTCLASS:-openebs-hostpath}"
cacheAccessModes: ["${VOLSYNC_CACHE_ACCESSMODES:-ReadWriteOnce}"]
storageClassName: "${VOLSYNC_STORAGECLASS:-openebs-zfs}"
storageClassName: "${VOLSYNC_STORAGECLASS:-openebs-hostpath}"
accessModes: ["${VOLSYNC_ACCESSMODES:-ReadWriteOnce}"]
moverSecurityContext:
runAsUser: ${APP_UID:-568}
@ -62,11 +62,11 @@ spec:
restic:
repository: "${APP}-volsync-secret"
copyMethod: Snapshot # must be Snapshot
volumeSnapshotClassName: "${VOLSYNC_SNAPSHOTCLASS:-openebs-zfs}"
cacheStorageClassName: "${VOLSYNC_CACHE_SNAPSHOTCLASS:-openebs-zfs}"
volumeSnapshotClassName: "${VOLSYNC_SNAPSHOTCLASS:-openebs-hostpath}"
cacheStorageClassName: "${VOLSYNC_CACHE_SNAPSHOTCLASS:-openebs-hostpath}"
cacheAccessModes: ["${VOLSYNC_CACHE_ACCESSMODES:-ReadWriteOnce}"]
cacheCapacity: "${VOLSYNC_CACHE_CAPACITY:-4Gi}"
storageClassName: "${VOLSYNC_STORAGECLASS:-openebs-zfs}"
storageClassName: "${VOLSYNC_STORAGECLASS:-openebs-hostpath}"
accessModes: ["${VOLSYNC_ACCESSMODES:-ReadWriteOnce}"]
capacity: "${VOLSYNC_CAPACITY}"
moverSecurityContext:

View file

@ -36,11 +36,11 @@ spec:
copyMethod: "${VOLSYNC_COPYMETHOD:-Snapshot}"
pruneIntervalDays: 7
repository: "${APP}-volsync-r2-secret"
volumeSnapshotClassName: "${VOLSYNC_SNAPSHOTCLASS:-openebs-zfs}"
volumeSnapshotClassName: "${VOLSYNC_SNAPSHOTCLASS:-openebs-hostpath}"
cacheCapacity: "${VOLSYNC_CACHE_CAPACITY:-4Gi}"
cacheStorageClassName: "${VOLSYNC_CACHE_SNAPSHOTCLASS:-openebs-zfs}"
cacheStorageClassName: "${VOLSYNC_CACHE_SNAPSHOTCLASS:-openebs-hostpath}"
cacheAccessModes: ["${VOLSYNC_CACHE_ACCESSMODES:-ReadWriteOnce}"]
storageClassName: "${VOLSYNC_STORAGECLASS:-openebs-zfs}"
storageClassName: "${VOLSYNC_STORAGECLASS:-openebs-hostpath}"
accessModes: ["${VOLSYNC_ACCESSMODES:-ReadWriteOnce}"]
moverSecurityContext:
runAsUser: ${APP_UID:-568}

View file

@ -4,7 +4,7 @@ apiVersion: v1
metadata:
name: kbench-pvc
spec:
storageClassName: openebs-zfs
storageClassName: openebs-hostpath
accessModes:
- ReadWriteOnce
resources: