-
Notifications
You must be signed in to change notification settings - Fork 1.1k
feat(charts): Add Helm Chart mode for statefulset deployment without … #5998
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Changes from 1 commit
258a10f
098a416
e877630
de7d6a2
a00b8c5
8c42ac8
9435741
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change | ||||
|---|---|---|---|---|---|---|
| @@ -1,4 +1,4 @@ | ||||||
| {{- if .Values.storage.enabled }} | ||||||
| {{- if or (.Values.storage.enabled) (eq .Values.mode "statefulset") }} | ||||||
|
||||||
| {{- if or (.Values.storage.enabled) (eq .Values.mode "statefulset") }} | |
| {{- if or (and .Values.storage.enabled (ne .Values.mode "deployment")) (eq .Values.mode "statefulset") }} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This change introduces a behavioral difference compared to the previous implementation.
Previously, setting storage.enabled=true automatically switched the deployment type from Deployment to StatefulSet.
With this update, users must explicitly set mode: "statefulset" to deploy Dragonfly as a StatefulSet — even if persistence is enabled.
While this change provides clearer and more predictable configuration behavior, it may be considered breaking, as existing users relying on the implicit switch will need to update their values configuration.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
if storage enabled and mode == "", then create statefulset. If mode is set explicitly, follow mode.
| Original file line number | Diff line number | Diff line change | ||||
|---|---|---|---|---|---|---|
|
|
@@ -5,6 +5,9 @@ | |||||
| # -- Number of replicas to deploy | ||||||
| replicaCount: 1 | ||||||
|
|
||||||
| # -- Valid values are "deployment" or "statefulset". | ||||||
|
||||||
| # -- Valid values are "deployment" or "statefulset". | |
| # -- Valid values are "deployment" or "statefulset". Setting any other value will result in no workload being created. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I would prefer to add a values.schema.json; I’ll include it shortly. This should help ensure proper validation and make the configuration more robust.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please fix backward compatibility. If .Values.mode is empty string or deployment then proceed with the deployment. So the default behaviour doesn't change (even if the mode is not present).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I set the mode in the values.yaml to “deployment” as the default. Shouldn’t that be sufficient as a fallback? I’ve actually prevented an empty mode value in the schema YAML.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
let's make the old yaml configuration compatible with this change. Its ok to have an empty mode so that if someone wants to revert their configuration, it doesn't change the behaviour at all.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Then remove this empty mode after a month or so.