TwiN / gatus

⛑ Automated developer-oriented status page
https://gatus.io
Apache License 2.0
6.33k stars 422 forks source link

Support monitoring DTLS endpoints (and certificates) #432

Open kratenko opened 1 year ago

kratenko commented 1 year ago

Describe the feature request

Gatus has a feature, where you can monitor a certificate on an arbitrary TLS endpoint. See https://github.com/TwiN/gatus#monitoring-an-endpoint-using-tls That is almost what I need - only I have a DTLS endpoint I need to check the certificate expiration on.

Why do you personally want this feature to be implemented?

We have certs that are only exposed over UDP. Adding a tcp enpoint just for testing seems the wrong way around to solve it. Our backend is go as well; I think it will not be hard to integrate, as the tls check already exists.

How long have you been using this project?

No response

Additional information

No response

TwiN commented 1 year ago

Hello @kratenko!

The bad news is that unless enough people react to your feature request with a 👍 or somebody else creates a PR for it, I don't think I'll be personally implementing this anytime soon because I've honestly never heard of DTLS (which seems to be the same as TLS, but instead of being over TCP, it's over UDP) and that makes it kind of a niche case from my perspective.

The good news is that this should be fairly trivial to implement: https://github.com/TwiN/gatus/blob/eb4e22e76b55107b285692829561eba5a8fe9d7e/client/client.go#L144-L145

So if you're up for the challenge, feel free to make a PR :)

vax-r commented 1 year ago

@kratenko Hello, I would like to try and open a PR for it Can you pls provide the endpoint url to me? I don't have any services that use DTLS Thank you!

kratenko commented 1 year ago

Hi @vax-r sadly I do not have a public one, that can be trusted to exist. That is the reason why did not "just" implement it, when I opened the issue, tbh. I figured, the correct why to solve this in the test suit, is starting a basic dtls-server and connect to it. That should not be too complicated to do with https://github.com/pion/dtls but so far I did not get around to do it...

vax-r commented 1 year ago

@kratenko Thanks for the info, I'll try to do it.