Skip to content
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

Allow to override REACT_APP_API_URL #1102

Closed
guillaumelachaud opened this issue Nov 26, 2020 · 4 comments · Fixed by #1113 or #1135
Closed

Allow to override REACT_APP_API_URL #1102

guillaumelachaud opened this issue Nov 26, 2020 · 4 comments · Fixed by #1113 or #1135
Assignees
Labels
priority/high High priority type/enhancement New feature or request
Milestone

Comments

@guillaumelachaud
Copy link

Tell us about the problem you're trying to solve

Trying to deploy Airbyte on GKE behind cloud IAP to secure the deployment. Traffic between web-app and API must go through port 443 in order for this to work. Current implementation looks if REACT_APP_API_URL is set or defaults to port 8001. As REACT_APP_API_URL is set at build time, it's not convenient to change it.

Describe the solution you’d like

Make it easier to override this env var at runtime, just as TRACKING_STRATEGY

Describe the alternative you’ve considered or used

Alternative is for me to build my own custom image of airbyte/webapp which I don't have the time to maintain

@guillaumelachaud guillaumelachaud added the type/enhancement New feature or request label Nov 26, 2020
@michel-tricot
Copy link
Contributor

Thanks @guillaumelachaud. Indeed, I think we should implement it this way.

@cgardens that will likely be necessary to support the URL as an env variable once we set up airbyte for k8s

@michel-tricot
Copy link
Contributor

btw @guillaumelachaud if you're creating k8s manifests, any chance you could share them? We want to release some for mid-Dec

@guillaumelachaud
Copy link
Author

I definitely can share them but ultimately, I didn't manage to completely deploy Airbyte over K8s. Here's a quick recap of what's not working yet (though it's not the topic of the current ticket):

  • In order for airbyte-server to be reachable by web-app, it needs to be exposed by a Service and an Ingress. They require a health check to pass before they start routing traffic to it. Which means an endpoint has to return a 200 on a GET request (default is / but it's customizable). Currently only /api/v1/debug is a GET endpoint and can be used for the Ingress healthcheck. But it fails and returns a 500, as the implementation is looking to call the docker executable which the current image doesn't seem to provide
  • Similarly, the scheduler seems to be involved in some DinD: it mounts the host docker socket and will I guess try to schedule jobs through it. Though it's possible to mount the docker this way in K8s, it's highly discouraged, the K8s cluster could be using another runtime than Docker.

Also, the Helm charts I have written are GCP specific as it uses Cloud IAP to add an authentication mechanism in front of the services.

@michel-tricot
Copy link
Contributor

michel-tricot commented Nov 30, 2020

Thanks! Added your comment to the k8s issue

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
priority/high High priority type/enhancement New feature or request
Projects
None yet
4 participants