Open sevanspowell opened 3 years ago
The only way data is moved from the GitHub repository to the database is via the webhook. Unfortunately the webhook is prone to fail: flaky internet, the GitHub API not being available, etc. will cause the webhook to fail. If the the webhook doesn't run, the database gets out of sync with the GitHub repository and this has caused issues, see: https://github.com/cardano-foundation/cardano-token-registry/issues/61 and https://jira.iohk.io/browse/ADP-892 (IOHK only - sorry!).
Having two sources of truth is not ideal, but until we arrive at a better design, I propose some interim solutions:
git pull
Provided it is performant, solution 2 is the lowest effort, highest assurance option. Any code I write is going to be significantly more prone to failure than a git pull
.
The design of this project stores the metadata in two places:
There is no single source of truth and the project provides no way to ensure the two sources are not out-of-sync with each other.