-
-
Notifications
You must be signed in to change notification settings - Fork 5.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: add RabbitMQ
monitor
#5199
feat: add RabbitMQ
monitor
#5199
Conversation
|
…p/uptime-kuma into 5066_add_rabbitmq_support
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.
Overall, this looks reasonable. I have commented on a few aspects, but
Could you add a testcontainer via @testcontainers/rabbitmq
?
Adding testcases prevents regressions for said monitoring type.
An (admitedly not quite happy with the implemntation) example can be found here:
https://github.com/louislam/uptime-kuma/pull/4451/files
Could you note the assumptions in the frontend?
|
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.
Looks pretty good.
I have left two minor comments about frontend localisation, but otherwise would merge this as is. Great job 👍🏻
Co-authored-by: Frank Elsinga <[email protected]>
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.
Thanks for the new monitoring type! 🎉
I have left a few last changes below that make translating a bit more pleasant ^^
Note
This PR is part of the v2.0
merge window => see #4500 for the bugs that need to be addressed before we can ship this release ^^
All changes in this PR are small and uncontroversial ⇒ merging with junior maintainer approval
const { UP, DOWN, PENDING } = require("../../src/util"); | ||
|
||
describe("RabbitMQ Single Node", { | ||
skip: !!process.env.CI && (process.platform !== "linux" || process.arch !== "x64"), |
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.
It seems that this test blocked local testing on my Windows machine. It is also not able to run on a self-hosted X64 debian actions runner. What is the prerequisite to run this actually?
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.
This is the platform support for running docker containers in GHA without additional steps.
=> This is not about the actual test case, but rather it's environment
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.
What is the prerequisite to run this actually?
It assumes that docker is running on the system. AFAIK by default it searches for a unix socket at unix:///var/run/docker.sock
in linux or a named pipe at npipe:////./pipe/docker_engine
in windows.
On the debian machine, is the test skipped or does it throw an error?
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.
Could not find a working container runtime strategy.
Full log:
https://github.com/louislam/uptime-kuma/actions/runs/11531916870/job/32103162510
Actually, I just realize the mqtt test has the same issue.
It assumes that docker is running on the system.
My actions runner on Debian indeed don't have Docker. Maybe that is the reason.
https://github.com/louislam/uptime-kuma/blob/master/CONTRIBUTING.md#can-i-create-a-pull-request-for-uptime-kuma
Tick the checkbox if you understand [x]:
Description
Fixes #5066
This PR makes the following assumptions:
Not sure if this is the best approach though:
It uses the alarms endpoint for connectivity rather than the
/api/overview
or/api/healthchecks/node/
endpoint as suggested in the feature request. This is because when alarm limits are reached, RabbitMQ will block connections that publish messages./api/healthchecks/node/
has been depreciated so it is ruled out as well.Type of change
Checklist
Screenshots (if any)