On Mon, Sep 2, 2024 at 11:17 AM Lauren Phillips <circ...@circenn.city.invalid> wrote:
> Nope. I'm using the latest > > Okay, I believe I've figured out what issue you're encountering. It looks like whatever K8s configuration you're using is using the underlying Container Linking technology to link containers together. Docker has deprecated this - it's considered legacy - but there are likely still a lot of places it is in use. With container linking and the PostgreSQL container, there are a bunch of extra variables that get created and shared between the containers. Here are the ones that I see: $ set|grep POSTGRES POSTGRESQL_DATABASE=guacamole POSTGRESQL_PASSWORD=yummyGuacamole POSTGRESQL_PORT=5432 POSTGRESQL_USERNAME=postgres POSTGRES_ENV_GOSU_VERSION=1.17 POSTGRES_ENV_LANG=en_US.utf8 POSTGRES_ENV_PGDATA=/var/lib/postgresql/data/pgdata POSTGRES_ENV_PG_MAJOR=16 POSTGRES_ENV_PG_VERSION=16.4-1.pgdg120+1 POSTGRES_ENV_POSTGRES_PASSWORD=yummyGuacamole POSTGRES_NAME=/guac-client/postgres POSTGRES_PORT=tcp://172.17.0.3:5432 POSTGRES_PORT_5432_TCP=tcp://172.17.0.3:5432 POSTGRES_PORT_5432_TCP_ADDR=172.17.0.3 POSTGRES_PORT_5432_TCP_PORT=5432 POSTGRES_PORT_5432_TCP_PROTO=tcp The top give are the ones that I've specifically set - the remaining ones are set by the linking between the postgres container and the guacamole/guacamole container. Unfortunately, that POSTGRES_PORT variable is actually the same one that Guacamole tries to use to configure itself to talk to Postgres. But, because the format of the postgres version of it is different (tcp://<ip>:port) from what Guacamole expect (port), you get the error that you're seeing. Resolving this may depend on how K8s is actually working: * Make sure to reconfigure things to not use container linking. I don't know how this is configured in K8s - in Docker you basically just create a custom network and have all your containers use that network. You don't need to do any linking, the network supports name resolution, and the containers can see each other, so all you have to do is point the guacamole/guacamole container at the container name of the postgres container, and it works. Again, not entirely sure how this works in K8s. * Do what you've already done, and basically go modify the guacamole.properties file and rewrite the property into what it is expected to be. Unfortunately this won't work in version 1.6.0 because the guacamole.properties file doesn't get used except to enable configuration by environment variables, which means you'll have to make sure that it isn't using linking and doesn't pull in those extra POSTGRES_ variables. -Nick >