Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The EDC UI health check was reported broken by people who deployed it with docker swarm. They needed to manually disable it in the image in the end.
Thus we should double check the HEALTHCHECK statement in the Dockerfile. To actually test the Dockerfile's HEALTHCHECK directive, we might require either docker swarm or kubernetes to launch the container in a way, that its original healtcheck actually gets checked.
In Docker you can define a healthcheck in the Dockerfile with a HEALTHCHECK directive.
It is best practice to supply it and we do.
However, docker-compose files do not respect that original HEALTHCHECK directive, which causes our health checks to be untested.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Unfortunately, I was unable to find conclusive documentation on this, but as far as I am aware, there is no way to make Kubernetes honor the
HEALTHCHECK
instruction.Health checks are a Docker-specific feature; the underlying runtime, containerd, does not support them natively. Kubernetes does not use Docker, instead accessing containerd (or comparable runtimes) directly.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
So we could remove the HEALTHCHECK directive from the Dockerfiles but add them as examples to the docker-compose.yaml files.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That's an option, yes.