Closed
Description
The registry needs a server for a few reasons:
- Some registry operations require more computational power / minutes than we have available in GitHub Actions (ie. the build matrix)
- Some registry operations should have a lock, where multiple of the same operation doesn't run at the same time (ie. package set updates)
- It is not possible to publish releases of your package in CI if the only way to publish packages is via creating GitHub issues
We've agreed to create one, and #576 is a first step towards that. This issue tracks actually deploying a NixOS server to Digital Ocean which:
- Supplies an HTTP API for operations that do not require GitHub authentication (/publish, /unpublish, /transfer)
- Supplies a minimal frontend for
registry.purescript.org
with at least a home page with some documentation and a DMCA takedown request page for legal compliance - (Optional) Supplies an endpoint for polling the status of an operation (ie. when you publish you get an id, and you can poll
/status/<id>
to see "pending" or the error / success result) - (Optional) Supplies a way to view the logs for an operation (ie.
registry.purescript.org/logs/<id>
).
We will also want to use some sort of health-check service so that the packaging team can be notified if something goes wrong with the server.