graphprotocol / graphprotocol/graph-node
Healthcheck for graph-node docker image
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- Rust
- Sterne
- 3.2k
- Forks
- 1.1k
- Ø Merge
- 4 T. 1 Std.
- Gemergte PRs (30 T.)
- 1
Beschreibung
Description
The docker image for the graph-node doesn't contain a health check. It would be useful to have a simple way of checking the health of a graph node in the docker image automatically.
Docker health checks are meant to provide a very simple check if the relevant application is running correctly. They should be quick and cheap so that they can execute frequently. In the graph-node case this would be a check if the graph node is up and running and not a check for a particular subgraph.
Proposal
As graph-node doesn't have a native health check, the fairly simple command to check if the node is up and running would be a GraphQL request:
query getVersion {
version {
version
}
}
should return the version of the node. To run this as a shell command, we could use:
curl -s http://localhost:8030/graphql -H 'Content-Type: application/json' -d '{"query": "query getVersion { version { version } }" }' -f -m 2
The command runs inside the docker container. However, the default docker image does not provide curl. So the proposal is two-fold:
- Add a curl dependency to the docker image (i.e.
apt-get -y install curlin the docker file) - Add a health check command to the docker file.
If there is interest in this, I'm happy to create a PR for it.
Are you aware of any blockers that must be resolved before implementing this feature? If so, which? Link to any relevant GitHub issues.
No
Some information to help us out
- Tick this box if you plan on implementing this feature yourself.
- I have searched the issue tracker to make sure this issue is not a duplicate.
Beitragsleitfaden
Erste Schritte
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Öffne einen Pull Request, der die Issue-Nummer nennt.
Rechercherichtung
Finde das Dockerfile, das für das standardmäßige graph-node-Image verwendet wird, und prüfe, wie dessen Abhängigkeiten und Health Checks konfiguriert sind. Verwende die vorgeschlagene GraphQL-Anfrage gegen http://localhost:8030/graphql als Prüfung; die Aufgabe gilt als erledigt, wenn das Image curl enthält und der Health Check erfolgreich ist, wenn graph-node läuft, und fehlschlägt, wenn dies nicht der Fall ist.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- docker, graphql
- Bereich
- devops, infrastructure
- Issue-Typ
- Feature
- Schwierigkeit
- 2/5
- Geschätzter Aufwand
- 1-3 Stunden
- Aktivitätsstatus
- Veraltet
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 48/100