You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository has been archived by the owner on Apr 26, 2024. It is now read-only.
While investigating while matrix-org/complement#236 failed, and after correlating its failure with my own synapse deployment experiences, i found this problem.
I have had no healthchecks on my workers for a while, this confused me initially, but i eventually disabled them and chalked it up to some latent bug i wasnt able to reproduce or find.
Turns out, this is because the healthcheck blindly checks on 8008, and then doesn't try to account for both of these issues.
Steps to reproduce
version 1:
Create a worker
Don't define any listeners, no "http" ones either
Deploy
Observe "unhealthy" status
version 2:
Create a worker
Define a "http" listener, but on a different port;
I suggest decoupling the Health resource from any listener definition, and to place it up on a very high port, regardless of config.
This behaviour should be enabled with an env variable (defined by default in the Dockerfile), with additionally also another env variable dictating a non-default port.
This is to make sure that if someone runs this on bare-metal, and still wants health checks, but do not want the ports to collide, they could enable and divert the health-check port to something else.
Version information
Homeserver: jboi.nl
Version: 1.46.0
Install method: Docker, wrapping with a local Dockerfile with additional apt-get and pip instructions, to install an s3 media repository proxy.
Platform: Linux
The text was updated successfully, but these errors were encountered:
Description
While investigating while matrix-org/complement#236 failed, and after correlating its failure with my own synapse deployment experiences, i found this problem.
I have had no healthchecks on my workers for a while, this confused me initially, but i eventually disabled them and chalked it up to some latent bug i wasnt able to reproduce or find.
Turns out, this is because the healthcheck blindly checks on
8008
, and then doesn't try to account for both of these issues.Steps to reproduce
version 1:
listeners
, no"http"
ones eitherversion 2:
"http"
listener, but on a different port;Suggested fix
I suggest decoupling the Health resource from any listener definition, and to place it up on a very high port, regardless of config.
This behaviour should be enabled with an env variable (defined by default in the
Dockerfile
), with additionally also another env variable dictating a non-default port.This is to make sure that if someone runs this on bare-metal, and still wants health checks, but do not want the ports to collide, they could enable and divert the health-check port to something else.
Version information
Dockerfile
with additionalapt-get
andpip
instructions, to install an s3 media repository proxy.The text was updated successfully, but these errors were encountered: