mirror of
https://gitlab.kube.huskypup.net/Scooby/Homelabv4.git
synced 2026-08-20 23:16:49 +00:00
Initial commit
This commit is contained in:
@@ -0,0 +1,219 @@
|
||||
# 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: false # TLS handled by ingress
|
||||
port: 7000
|
||||
# Authentication: OAuth2-Proxy via ingress annotations
|
||||
# See: infrastructure/rook-ceph/ingress.yaml
|
||||
# Blueprint: infrastructure/authentik/ceph-dashboard-blueprint.yaml
|
||||
config:
|
||||
mgr/dashboard/standby_behaviour: "error"
|
||||
mgr/dashboard/remote_user_header: "X-Forwarded-User"
|
||||
mgr/dashboard/remote_user_trust_proxy: "true"
|
||||
|
||||
# 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
|
||||
# sdb = dedicated 60GB WAL/DB device per node
|
||||
storage:
|
||||
useAllNodes: false
|
||||
useAllDevices: false
|
||||
nodes:
|
||||
- name: "talos-cp-01"
|
||||
devices:
|
||||
- name: "nvme0n1"
|
||||
config:
|
||||
metadataDevice: "sdb"
|
||||
- name: "talos-cp-02"
|
||||
devices:
|
||||
- name: "nvme0n1"
|
||||
config:
|
||||
metadataDevice: "sdb"
|
||||
- name: "talos-cp-03"
|
||||
devices:
|
||||
- name: "nvme0n1"
|
||||
config:
|
||||
metadataDevice: "sdb"
|
||||
- name: "talos-cp-04"
|
||||
devices:
|
||||
- name: "nvme0n1"
|
||||
config:
|
||||
metadataDevice: "sdb"
|
||||
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: {}
|
||||
Reference in New Issue
Block a user