ceph / ceph/ceph-csi

Missing helm configuration parameters

Open
#6,465 2 comments 0 reactions 0 assignees View on GitHub
component/deployment
Dominant language
Go
Stars
1.6k
Forks
617
Avg merge
5d 10h
Merged PRs (30d)
43

Description

# Describe the feature you'd like to have

The Helm charts for `ceph-csi-rbd` and `ceph-csi-cephfs` are missing a few
standard Kubernetes / chart knobs that production HA deployments need.

Please add :
1. **Optional `PodDisruptionBudget` for the provisioner Deployment**
2. **`topologySpreadConstraints` for the provisioner Deployment**
3. **`storageClass.volumeBindingMode` on the chart-managed StorageClass**

What new functionality do you want?

# What is the value to the end user? (why is it a priority?) #

PDB: With provisioner.replicaCount defaulting to HA (e.g. 3), voluntary disruptions (node drains, upgrades) can take down a majority of provisioner pods without a PDB.

topologySpreadConstraints: Affinity alone is awkward for “spread across hosts/zones”. First-class TSC matches how operators configure HA elsewhere and avoids encoding spread only via podAntiAffinity.

volumeBindingMode: The field is a standard StorageClass attribute and is already shown in Ceph-CSI examples, but cannot be set via Helm today without disabling chart StorageClass creation and maintaining a template.

How would the end user gain value from having this feature?

These parameters allow operator to configure knobs generally required for HA / reliable deployments and dont need to maintain a forked template.

# How will we know we have a good solution? (acceptance criteria) #

Add a list of criteria that should be met for this feature to be useful

# Additional context #

Happy to send a PR covering both charts.

Add any other context or screenshots about the feature request here.

Contributor guide

No contributing guide indexed for this repository

Research direction

Locate the Helm charts for ceph-csi-rbd and ceph-csi-cephfs, then inspect their provisioner Deployment and chart-managed StorageClass templates and values. Add configurable support for the optional PodDisruptionBudget, topologySpreadConstraints, and storageClass.volumeBindingMode in both charts; done means production users can set these knobs without maintaining a forked template.

Written by the indexing model from the issue text.

Assessment

Tech stack
helm, kubernetes
Domain
devops, infrastructure
Issue type
Feature
Difficulty
3/5
Estimated time
1-2 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
68/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.