The biggest difference between registries is API for deleting — in some registries, it's implemented through custom API, and in some, requires extra authentication. There are also other differences. For example, some registries do not support nested repos, and some have lower limits for listing tags.
We should document differences between the registries in werf documentation. And, if it's possible — implement autodetection of the registry type, implement the usage of custom delete API for some registries, and write e2e tests to be 100% sure that everything is working.
The list of registries for the first iteration: