Establish clean homelab infrastructure baseline
lint / yaml (push) Has been cancelled
lint / ansible (push) Has been cancelled
lint / terraform (push) Has been cancelled

Reorganize the brownfield repository, remove retired and generated artifacts, harden ignore rules, and record the GitOps/IaC redesign.
This commit is contained in:
2026-09-09 16:47:20 +00:00
commit 88a02ababa
418 changed files with 50579 additions and 0 deletions
+22
View File
@@ -0,0 +1,22 @@
# ZFS-backed StorageClass for openebs zfs-localpv (provisioner zfs.csi.openebs.io).
# Standalone resource — NOT part of the openebs Helm release. Backs PVCs on ZFS pool
# `data/ceph`. Apply with: kubectl apply -f storageclasses.yaml
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: localpv-zfs-ceph
provisioner: zfs.csi.openebs.io
reclaimPolicy: Delete
volumeBindingMode: WaitForFirstConsumer
allowVolumeExpansion: true
parameters:
poolname: data/ceph # ZFS dataset the volumes are carved from
csi.storage.k8s.io/fstype: xfs
compression: lz4
dedup: "off"
atime: "off"
relatime: "on"
recordsize: 128k
volblocksize: 4k
thinprovision: "yes"
xattr: sa
+26
View File
@@ -0,0 +1,26 @@
# openebs umbrella chart (openebs/openebs) values — single-node homelab.
# Install/upgrade:
# helm upgrade --install openebs openebs/openebs --version 4.4.0 -n openebs -f values.yaml
# Local ZFS provisioner ON — backs the cluster's PVCs (StorageClass localpv-zfs-ceph on
# pool data/ceph, see storageclasses.yaml). LVM + rawfile OFF (unused — no LVM
# StorageClasses/PVs/volumes). Replicated (Mayastor) OFF. Pinned explicitly so a future
# chart-default change can't silently flip storage engines.
engines:
local:
zfs:
enabled: true
lvm:
enabled: false
rawfile:
enabled: false
replicated:
mayastor:
enabled: false
# The bundled Loki (logging) defaults to 3 SingleBinary replicas with one-pod-per-node
# anti-affinity. On this single node, replicas 2 & 3 are permanently Pending. Filesystem-
# backed SingleBinary Loki should be 1 replica anyway.
loki:
singleBinary:
replicas: 1