mirror of
https://gitlab.kube.huskypup.net/Scooby/Homelabv4.git
synced 2026-08-20 23:16:49 +00:00
Includes security fixes (CVE-2023-43040) and RBD/RADOS improvements. Rook operator upgraded to v1.19.2 via Helm. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
205 lines
4.5 KiB
YAML
205 lines
4.5 KiB
YAML
# Rook-Ceph Cluster Values
|
|
# https://github.com/rook/rook/blob/master/deploy/charts/rook-ceph-cluster/values.yaml
|
|
|
|
# Operator namespace (must match where operator is deployed)
|
|
operatorNamespace: rook-ceph
|
|
|
|
# Enable toolbox for debugging
|
|
toolbox:
|
|
enabled: true
|
|
tolerations:
|
|
- key: "node-role.kubernetes.io/control-plane"
|
|
operator: "Exists"
|
|
effect: "NoSchedule"
|
|
resources:
|
|
limits:
|
|
memory: "256Mi"
|
|
requests:
|
|
cpu: "50m"
|
|
memory: "64Mi"
|
|
|
|
# Enable Prometheus monitoring
|
|
monitoring:
|
|
enabled: true
|
|
createPrometheusRules: true
|
|
|
|
# Ceph Cluster specification
|
|
cephClusterSpec:
|
|
# Ceph version - Squid (v19)
|
|
cephVersion:
|
|
image: quay.io/ceph/ceph:v19.2.3
|
|
allowUnsupported: false
|
|
|
|
# Data directory on host
|
|
dataDirHostPath: /var/lib/rook
|
|
|
|
# Skip upgrade checks (homelab - we control updates)
|
|
skipUpgradeChecks: false
|
|
|
|
# Continue if host not found
|
|
continueUpgradeAfterChecksEvenIfNotHealthy: false
|
|
|
|
# Wait for nodes before starting OSDs
|
|
waitTimeoutForHealthyOSDInMinutes: 10
|
|
|
|
# Mon configuration
|
|
mon:
|
|
count: 3
|
|
allowMultiplePerNode: false
|
|
|
|
# MGR configuration
|
|
mgr:
|
|
count: 2
|
|
allowMultiplePerNode: false
|
|
modules:
|
|
- name: pg_autoscaler
|
|
enabled: true
|
|
- name: rook
|
|
enabled: true
|
|
- name: dashboard
|
|
enabled: true
|
|
|
|
# Dashboard configuration
|
|
dashboard:
|
|
enabled: true
|
|
ssl: true
|
|
port: 8443
|
|
|
|
# Network configuration
|
|
network:
|
|
connections:
|
|
encryption:
|
|
enabled: false
|
|
compression:
|
|
enabled: false
|
|
|
|
# Crash collector
|
|
crashCollector:
|
|
disable: false
|
|
|
|
# Log collector
|
|
logCollector:
|
|
enabled: true
|
|
periodicity: daily
|
|
maxLogSize: 500M
|
|
|
|
# Cleanup policy (for uninstall)
|
|
cleanupPolicy:
|
|
confirmation: ""
|
|
sanitizeDisks:
|
|
method: quick
|
|
dataSource: zero
|
|
iteration: 1
|
|
allowUninstallWithVolumes: false
|
|
|
|
# Resource limits
|
|
resources:
|
|
mgr:
|
|
limits:
|
|
memory: "1Gi"
|
|
requests:
|
|
cpu: "100m"
|
|
memory: "512Mi"
|
|
mon:
|
|
limits:
|
|
memory: "2Gi"
|
|
requests:
|
|
cpu: "100m"
|
|
memory: "512Mi"
|
|
osd:
|
|
limits:
|
|
memory: "16Gi"
|
|
requests:
|
|
cpu: "2"
|
|
memory: "16Gi"
|
|
prepareosd:
|
|
limits:
|
|
memory: "400Mi"
|
|
requests:
|
|
cpu: "100m"
|
|
memory: "50Mi"
|
|
|
|
# Storage configuration - explicit nodes with passthrough NVMe
|
|
# LVM filter applied via Talos machine config to prevent lvs hang on BIOS partitions
|
|
storage:
|
|
useAllNodes: false
|
|
useAllDevices: false
|
|
nodes:
|
|
- name: "talos-cp-01"
|
|
devices:
|
|
- name: "nvme0n1"
|
|
- name: "talos-cp-02"
|
|
devices:
|
|
- name: "nvme1n1"
|
|
- name: "talos-cp-03"
|
|
devices:
|
|
- name: "nvme0n1"
|
|
- name: "talos-cp-04"
|
|
devices:
|
|
- name: "nvme0n1"
|
|
config:
|
|
osdsPerDevice: "1"
|
|
|
|
# Placement - allow on control-plane
|
|
placement:
|
|
all:
|
|
tolerations:
|
|
- key: "node-role.kubernetes.io/control-plane"
|
|
operator: "Exists"
|
|
effect: "NoSchedule"
|
|
|
|
# Health check configuration
|
|
healthCheck:
|
|
daemonHealth:
|
|
mon:
|
|
disabled: false
|
|
interval: 45s
|
|
osd:
|
|
disabled: false
|
|
interval: 60s
|
|
status:
|
|
disabled: false
|
|
interval: 60s
|
|
livenessProbe:
|
|
mon:
|
|
disabled: false
|
|
mgr:
|
|
disabled: false
|
|
osd:
|
|
disabled: false
|
|
|
|
# Block pools configuration - matches existing deployment
|
|
cephBlockPools:
|
|
- name: replicapool
|
|
spec:
|
|
failureDomain: host
|
|
replicated:
|
|
size: 2 # 2 replicas
|
|
storageClass:
|
|
enabled: true
|
|
name: rook-ceph-block
|
|
isDefault: true
|
|
reclaimPolicy: Delete
|
|
allowVolumeExpansion: true
|
|
volumeBindingMode: Immediate
|
|
parameters:
|
|
imageFormat: "2"
|
|
imageFeatures: layering
|
|
csi.storage.k8s.io/provisioner-secret-name: rook-csi-rbd-provisioner
|
|
csi.storage.k8s.io/provisioner-secret-namespace: rook-ceph
|
|
csi.storage.k8s.io/controller-expand-secret-name: rook-csi-rbd-provisioner
|
|
csi.storage.k8s.io/controller-expand-secret-namespace: rook-ceph
|
|
csi.storage.k8s.io/node-stage-secret-name: rook-csi-rbd-node
|
|
csi.storage.k8s.io/node-stage-secret-namespace: rook-ceph
|
|
csi.storage.k8s.io/fstype: ext4
|
|
|
|
# Disable CephFS (not needed)
|
|
cephFileSystems: []
|
|
|
|
# Object Store with OIDC support - simplified for now
|
|
cephObjectStores: []
|
|
|
|
# Ingress for dashboard (also applied via postsync hook)
|
|
ingress:
|
|
dashboard: {}
|