helm: configurable uwsgi override, probes and SMTP#4351
Open
bossbboy wants to merge 1 commit into
Open
Conversation
* uwsgi.override / uwsgi.existingConfigMap mounted at /Kiwi/etc/uwsgi.override * livenessProbe / readinessProbe / startupProbe fully overridable via values * email.smtp.* values inject EMAIL_HOST / EMAIL_PORT / EMAIL_USE_TLS / EMAIL_USE_SSL / EMAIL_HOST_USER / EMAIL_HOST_PASSWORD env, with a generated Secret or an existingSecret reference Defaults preserve the previous behaviour; chart version bumped to 0.2.0. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Member
| # Inline credentials (used only when existingSecret is empty). | ||
| user: "" | ||
| # Set via --set email.smtp.password=... on install | ||
| password: "" |
Member
Please add at least some minimal testing in the existing CI pipelines/scripts.
Can you start a new helm.yml
Could be after
Not sure if you can be able to check all of these but at the very least we need to curl the page and make sure that it's up and running and displaying the login page. |
atodorov
requested changes
May 13, 2026
atodorov
left a comment
Member
There was a problem hiding this comment.
Overall looks good, needs some testing.
| host: "" | ||
| port: 25 | ||
| useTLS: false | ||
| useSSL: false |
Member
There was a problem hiding this comment.
Please make these default to SSL. There is no reason to not use encrypted connections, even in examples.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Extends the Helm chart with three configuration surfaces that previously required template hacks or post-render patches:
uwsgi.override/uwsgi.existingConfigMap— mounted at/Kiwi/etc/uwsgi.override, which the Kiwi image natively loads viaif-fileinetc/uwsgi.conf. Lets users tuneprocesses,harakiri,buffer-size, etc. without rebuilding the image.livenessProbe/readinessProbe/startupProbe— full spec rendered withtoYaml, every field overridable. Defaults match the previous hardcoded probes;startupProbedefaults to{}(disabled).email.smtp.*— injects DjangoEMAIL_HOST,EMAIL_PORT,EMAIL_USE_TLS,EMAIL_USE_SSL,EMAIL_HOST_USER,EMAIL_HOST_PASSWORD. Credentials come from a generated Secret oremail.smtp.existingSecret. Also addsDEFAULT_FROM_EMAIL(mirrorsSERVER_EMAIL, matches the upstreamtcms/settings/common.pydefault).Chart version bumped
0.1.0→0.2.0. Defaults are backward-compatible: with no values changes the rendered manifests are identical except for the newDEFAULT_FROM_EMAILenv (same value asSERVER_EMAIL).Test plan
Verified against
helm 3.xfrom~/Downloads/Kiwi/helm:helm lint .— passeshelm template kiwi .— default render unchanged (livenessProbe/readinessProbe identical, no startupProbe, no SMTP env, no uwsgi volume)helm install --dry-run --debug— passes--set uwsgi.override='[uwsgi]\nprocesses=8'→ ConfigMap rendered, volume +subPathmount on/Kiwi/etc/uwsgi.override--set uwsgi.existingConfigMap=my-cm→ own ConfigMap NOT rendered, volume referencesmy-cm--set startupProbe.httpGet.path=/healthz --set startupProbe.failureThreshold=30 --set livenessProbe.initialDelaySeconds=30→ all three probes render with the right fields--set email.smtp.enabled=true --set email.smtp.host=... --set email.smtp.user=... --set email.smtp.password=...→ SMTP env vars injected,*-smtpSecret rendered withsmtp-user/smtp-passwordkeys--set email.smtp.enabled=true --set email.smtp.existingSecret=my-smtp→ own Secret NOT rendered, env vars referencemy-smtpExample values for production
🤖 Generated with Claude Code