Issue with Datagerry on Kubernetes with Envoy – Redirect to Port 4000

Hello,

I’ve installed Datagerry on my Kubernetes cluster with Envoy as the proxy.

  • MongoDB is running on port 27017

  • Our web server should be accessible via HTTPS (443)

The installation completes successfully, and everything looks fine at first.

However, when I go to the login page and sign in with admin/admin, I get an error saying it cannot connect to hostname:4000.
It then redirects me to the /connect page.

On the /connect page, if I test with hostname and port 443 using https, it shows:

Datagerry connection status: connected
title: datagerry
version: 3.0.0
database connection: true

So the connection test works on port 443. But once I use this connection, it again tries to connect on port 4000.

Question:

  • Is the port hardcoded in Datagerry?

  • Has anyone else experienced this issue with Kubernetes/Envoy and found a fix?

Environment:

  • Kubernetes with Envoy

  • MongoDB on 27017

  • Datagerry 3.0.0

Thanks in advance for any help!

1 Like

Hi @Daniel,

Thanks for sharing the details! I’ll run some tests on my end and get back to you once I have an update.

Sincerely,

Your DataGerry Team

Hi @Daniel ,

At the moment, HTTPS connections are failing, which causes the system to default to port 4000. Our package team is actively working on a fix and will resolve this issue soon. In the meantime, please use HTTP instead of HTTPS.

Thank you for your patience and understanding.

Sincerely,

Your DataGerry Team

Hey @abdullah-khalid
Thanks for the message. Could you please keep us up to date once the fix is available? We only want to, and are able to, use it in our environment with HTTPS, over Port 443.

Kind Regards
Daniel

Hi @Daniel,

I’m on it and will update you as soon as it’s fixed.

Sincerely,

Your DataGerry Team

Hello,

I am also experiencing this issue.
My use case is the same as Daniel’s (Datagerry is deployed in a Kubernetes cluster).
However, I have performed additional tests, locally on my computer, using the Docker file ( DataGerry-docker/docker-compose.yml at main · DataGerry/DataGerry-docker · GitHub ).
I don’t believe the problem we’re having is caused by the HTTPS connections.
I think the port 4000, used by the front to call the API, is indeed hard-coded.

I modified the docker-compose file to use port 3999.

datagerry:
image: becongmbh/datagerry:latest
hostname: datagerry
depends_on:
- db
ports:
- 3999:3999
environment:
DATAGERRY_WebServer_port: “3999”
DATAGERRY_Database_host: “db”
restart: unless-stopped

A call to http://localhost:3999 allows me to access the login form.
But when I validate it, I see api calls going to port 4000.
e.g.: http://localhost:4000/rest/users/1/settings/

So I am also waiting for a fix :grinning_face:

2 Likes

Hi @fabrice_p,

Thanks for the detailed report. We’re currently investigating the issue with Datagerry redirecting to port 4000 when used behind Envoy on Kubernetes. I’ll follow up as soon as we have more information or a potential fix.

Sincerely,

Your DataGerry Team

Hi,
for now, we “fixed” the problem with a workaround. We build the container our self from source and apply a patch to the hard-coded port values.

find . -type f -not -path './.git/*' -name '*' ! -name 'searchindex.js' ! -name '*.ttf' -exec sed -i 's/4000/443/g' {} +

Not beautiful, but it works for now.

1 Like

Hello
Please tell me when to expect a fix for the problem above.

Hi @Artem ,

we will be able to update you on this topic most probably this friday.

Sincerly,

Your DataGerry-Team

Hello @adnan.smajic
do you have an update about this topic?

Kind Regards
Daniel