input-output-hk / offchain-metadata-tools

Tools for creating, submitting, and managing off-chain metadata such as multi-asset token metadata
Apache License 2.0
47 stars 33 forks source link

Source of truth is unclear #1

Open sevanspowell opened 3 years ago

sevanspowell commented 3 years ago

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.

sevanspowell commented 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:

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.