-
Notifications
You must be signed in to change notification settings - Fork 226
fix: collab-server in kubernetes not working due to hardcoded graphql_engine hostname #795
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: master
Are you sure you want to change the base?
Conversation
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## master #795 +/- ##
=======================================
Coverage 91.43% 91.43%
=======================================
Files 368 368
Lines 20941 20941
=======================================
Hits 19148 19148
Misses 1793 1793 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
|
Thanks for submitting this PR. The change looks fine to me. Are you setting the I ask because we use
We can also add this to the
We actually added this specifically for Kubernetes in v4.3.10, but |
|
Indeed, it would make more sense to use the variable |
…ST in collab-server
You mean in |
…ronment in compose files
Yes, but under the @ColonelThirtyTwo Could you confirm? |
ColonelThirtyTwo
left a comment
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.
Otherwise looks ok. I'm a bit surprised that kubernetes doesn't copy Docker's DNS server where the containers in a project can resolve each other via their container name - seems like that would mess many things up.
…ronment in compose files
In fact, it's quiet normal. In Kubernetes, we create "deployment", it's a kind of contract that tells what pod you want, and the orchestrator will do its best to honor it. Kubernetes will then create pod(s) and the name of this pod will contain a short random suffix that will allow the rollout mechanism without having 2 pods with the same name. To have consistent name, Kubernetes offers you to create services. Services have constant ip and domain name, and, in the same namespace the service name is sufficient for the domain name resolution. |
|
Tell if (and where) you want me to provide some examples of Kubernetes deployment in the documentation. |
|
Can you add the |
Identify the Bug
To fix #794
Description of the Change
Allow
graphql_enginehostname customization incollab-serverdeployment, to allow Ghostwriter to be fully operational when deployed in Kubernetes.To do so, you can set
GRAPHQL_HOSTenv var incollab-serverdeployment to matchgraphql_engineservice name.Alternate Designs
We may have graphql_engine change to something RFC1123 compliant everywhere, but it's way more easier to allow to set
graphql_enginehostname incollab-server.Possible Drawbacks
There should be none, as the default behavior (not setting the env var) is the same as before.
Verification Process
I've tested the modification in a kubernetes cluster.
Release Notes
Allow
graphql_enginehostname customization incollab-serverdeployment