# 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.0 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: {}