Open Enrico204 opened 3 years ago
I added the external library https://github.com/itchio/ox . That library contains wrappers for many Windows syscall. I used some of them to get information about the repository path write permission for current user.
I had to call a Windows API directly, however I already made a pull request to the original library to add that wrapper.
I've tested the code on Windows and Linux.
Do I need to write some tests for this? If so, do you have any suggestion? Testing permissions and free space might be difficult...
I would like to give this PR a bump. kubelint
is complaining about missing readiness probes for rest-server. And while of course workarounds can be found, I find this PR quite appealing as a proper solution.
Edit: As 80% of the work in this PR is done, I am willing to pick it up if the maintainers are signalling to get the functionality merged in the near future. I am in a quite fortunate situation that I could actually do this during my work time as we have a dedicated time budget for learning and OSS contributions.
What is the purpose of this change? What does it change?
This pull request adds an endpoint named
/health
. It replies with:200 OK
when the repository base path is writable and there is some free space left500 Internal Server Error
when either the path is not writable byrest-server
, or the disk is fullThis endpoint can be used to monitor the status of a
rest-server
daemon (for example in k8s / docker)Was the change discussed in an issue or in the forum before?
Feature was requested and is being discussed here: https://github.com/restic/rest-server/issues/147
Checklist
changelog/unreleased/
that describes the changes for our users (template here)gofmt
on the code in all commits