-
Notifications
You must be signed in to change notification settings - Fork 434
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
feat: Each replica database URL can now be configured with an individual environment variable, using REPLICA_DATABASE_URL_0
, REPLICA_DATABASE_URL_1
, etc
#5222
Conversation
The latest updates on your projects. Learn more about Vercel for Git ↗︎ 3 Skipped Deployments
|
Docker builds report
|
for more information, see https://pre-commit.ci
Uffizzi Preview |
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## main #5222 +/- ##
=======================================
Coverage 97.52% 97.52%
=======================================
Files 1225 1226 +1
Lines 42543 42563 +20
=======================================
+ Hits 41489 41509 +20
Misses 1054 1054 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
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.
LGTM 👍
REPLICA_DATABASE_URL_0,
REPLICA_DATABASE_URL_1`, etc
REPLICA_DATABASE_URL_0,
REPLICA_DATABASE_URL_1`, etcREPLICA_DATABASE_URL_0,
REPLICA_DATABASE_URL_1
, etc
REPLICA_DATABASE_URL_0,
REPLICA_DATABASE_URL_1
, etcREPLICA_DATABASE_URL_0
, REPLICA_DATABASE_URL_1
, etc
In #5199, I tried to improve the UX for configuring replica database URLs by accepting a JSON-encoded list of database URLs. This approach is not suitable for use with Helm.
In our Helm values, there are several ways of accepting database URLs:
The problem is dealing with secret references. At deploy time, we cannot access the contents of Kubernetes secrets, so we cannot directly create a JSON-encoded list of URLs. We could imagine some workaround such as having an init container that dynamically creates this list, but this is more trouble than it's worth.
Instead, from Helm we can define each environment variable so that it gets its value from a secret. We can do this for any replica URLs that are passed in via secrets. See Flagsmith/flagsmith-charts#337 for details.
We now accept multiple environment variables such as
REPLICA_DATABASE_URL_0
,REPLICA_DATABASE_URL_1
, etc by starting from0
and incrementing until we can't find any more variables.No docs changes for now, as this is only meant to be used by the Helm chart for now.
How did you test this code?
Unit tests.