Detect graph-node/indexer version mismatches to prevent bugs
We just had a situation where an indexer was running the latest indexer-service and -agent but not the latest graph-node. The latest graph-node included a bugfix that was required for the latest indexer-service and -agent to work correctly, but now the indexer didn't have that fix. The end result was that they lost indexing rewards for one of their allocations.
Similar to the /version endpoint in index-service, we should have a way to detect the index/query node versions in indexer-service and (more importantly) indexer-agent. Then, when we release a new indexer version, we can set a semver-pattern for the required graph-node version. If the index or query nodes don't satisfy that pattern, we'd crash or at least not perform any criticial actions like closing allocations, which could have a zero POI due to a version mismatch.
The fact that indexer rewards are at risk deserves for this to be classified as a bug.
Graph-node now supports a GraphQL query to the index-node endpoint to get it's version, so this should be unblocked now.