Hi folks! I have my datahub running in EKS with an...
# all-things-deployment
n
Hi folks! I have my datahub running in EKS with an ELB for the frontend, and I would love expose behind that same ELB the gms aswell, is there any way to do so?
e
Hi! With the latest changes to authentication, we have opened a proxy from frontend to gms gated by the personal access token! https://datahubproject.io/docs/introducing-metadata-service-authentication/#using-a-personal-access-token So you shouldn’t need to add ingress for gms any more.
Unless you want to use a different domain for api access, in which case, you will have to explicitly create the ingress for gms as well, the same way you added it to frontend in the values.yaml. Just make sure the
<http://alb.ingress.kubernetes.io/group.name|alb.ingress.kubernetes.io/group.name>
is the same while
<http://alb.ingress.kubernetes.io/group.order|alb.ingress.kubernetes.io/group.order>
is different!
n
oh that makes sense!
however
I just read about the metadata service authentication
so I will not be exposing the GMS to the ELB anymore and instead use the frontend for the ingestions as well
e
sg!
n
thank you @early-lamp-41924!
e
let us know how that goes!
n
it is already working
although I’m getting some exceptions in the gms
Copy code
16:59:08.024 [qtp544724190-131] ERROR c.d.a.a.AuthenticatorChain:60 - Caught exception while attempting to authenticate request using Authenticator com.datahub.authentication.authenticator.DataHubSystemAuthenticator
com.datahub.authentication.AuthenticationException: Failed to authenticate inbound request: Authorization header is missing 'Basic' prefix.
	at com.datahub.authentication.authenticator.DataHubSystemAuthenticator.authenticate(DataHubSystemAuthenticator.java:75)
	at com.datahub.authentication.authenticator.AuthenticatorChain.authenticate(AuthenticatorChain.java:49)
	at com.datahub.authentication.filter.AuthenticationFilter.doFilter(AuthenticationFilter.java:63)
	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1591)
	at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:542)
	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)
	at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:536)
	at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127)
	at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:235)
	at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1581)
	at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:233)
	at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1307)
	at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:188)
	at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:482)
	at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1549)
	at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:186)
	at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1204)
	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
	at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:221)
	at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:146)
	at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127)
	at org.eclipse.jetty.server.Server.handle(Server.java:494)
	at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:374)
	at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:268)
	at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:311)
	at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:103)
	at org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:117)
	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:336)
	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:313)
	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:171)
	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:129)
	at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:367)
	at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:782)
	at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:918)
	at java.lang.Thread.run(Thread.java:748)
not sure if I am doing something wrong actually
e
Please ignore this error. we have pushed it down to debug in the latest code.
cc @big-carpet-38439 n
n
it is already released?
so I can upgrade it!
e
not yet! we are in the process right now
we should have a release by eod!
n
sounds good to me
thanks dexter
t
I am actually wondering similar case here. I was able to do following with nginx forwarding: front.example.com api.front.example.com And the pages/api works correctly. However if I do following nginx config for the API it does not load internal API calls to frontend: front.example.com/api Any idea if I could somehow route the traffic correctly?
If I go tho the front.example.com/api page, I get the gms/backend error which I am expecting.