isitup issueshttps://open.greenhost.net/greenhost/isitup/-/issues2021-02-03T23:49:05Zhttps://open.greenhost.net/greenhost/isitup/-/issues/9Check https and TLS too2021-02-03T23:49:05ZChrisCheck https and TLS tooHealth checkhttps://open.greenhost.net/greenhost/isitup/-/issues/8Implement a rate limiting middleware2021-02-03T23:49:05ZChrisImplement a rate limiting middlewareI'm fairly sure there is a middleware we can just apply, mentioned in the FastAPI docs.I'm fairly sure there is a middleware we can just apply, mentioned in the FastAPI docs.Health checkhttps://open.greenhost.net/greenhost/isitup/-/issues/7Add a pydantic.BaseConfig based config2021-02-04T00:00:25ZChrisAdd a pydantic.BaseConfig based configSince it supports overriding attributes with .env files, it's really great with Docker. We can provide settings in the docker or docker-compose file. Initially we might add Prometheus here, and when we do #5, we can enable or disable mod...Since it supports overriding attributes with .env files, it's really great with Docker. We can provide settings in the docker or docker-compose file. Initially we might add Prometheus here, and when we do #5, we can enable or disable modules and endpoints.Health checkhttps://open.greenhost.net/greenhost/isitup/-/issues/5Split the routes to their check components2021-02-04T00:00:54ZChrisSplit the routes to their check componentsIf we do this, we can easily dynamically enable or disable modules from a config file. Which is kind of a condition for making useful for third parties.If we do this, we can easily dynamically enable or disable modules from a config file. Which is kind of a condition for making useful for third parties.Health checkhttps://open.greenhost.net/greenhost/isitup/-/issues/4Consider streaming results with websockets2022-06-30T08:28:41ZChrisConsider streaming results with websocketsWhen checks take more than a few milliseconds, or might take more potentially, or one test may hang the process for a while: it would be nice to show whatever we have yet. We can use websockets and RxJs to update a state in the react com...When checks take more than a few milliseconds, or might take more potentially, or one test may hang the process for a while: it would be nice to show whatever we have yet. We can use websockets and RxJs to update a state in the react component that reflects the test results. That way we can have several tests pending and they can change to their status's when we find out what they are.Health checkhttps://open.greenhost.net/greenhost/isitup/-/issues/3Greenhost middleware2021-02-03T23:49:04ZChrisGreenhost middlewareMake middleware for the DNS check, so we can add information to the response that is Greenhost specific. This way, the API remains generic, and we can have features specific to our platform. This might serve as an example so others can m...Make middleware for the DNS check, so we can add information to the response that is Greenhost specific. This way, the API remains generic, and we can have features specific to our platform. This might serve as an example so others can make their own middleware as well.Health checkhttps://open.greenhost.net/greenhost/isitup/-/issues/2Implement cachet check2021-02-04T00:01:07ZChrisImplement cachet checkSince we use cachet for publishing the status of our services, we should have a module that checks whether we have an outage on a service, that way we can tell a user early on that the problem is probably due to that issue and that we ar...Since we use cachet for publishing the status of our services, we should have a module that checks whether we have an outage on a service, that way we can tell a user early on that the problem is probably due to that issue and that we are working on it, and prevent our inboxes from flooding with the same request at the same time. Win-win.Health checkhttps://open.greenhost.net/greenhost/isitup/-/issues/1Implement prometheus check2022-07-20T11:32:15ZChrisImplement prometheus checkWe want to keep the checks as generic as possible so potentially this is more interesting for third parties to also use this project. So we decided to not have a mail test specific to Greenhost, but have a prometheus test, which can be c...We want to keep the checks as generic as possible so potentially this is more interesting for third parties to also use this project. So we decided to not have a mail test specific to Greenhost, but have a prometheus test, which can be configured to fetch test results and metrics, in our case we'll configure it for fetching results on our mail test. So essentially the result is the same, but now we can fetch anything we want from prometheus.Health check