Graylog2 / Graylog2/graylog2-server
Create unique identifier for a cluster based on the installed plugin and server versions
- Dominant language
- Java
- Stars
- 8.1k
- Forks
- 1.1k
- Avg merge
- 1d 20h
- Merged PRs (30d)
- 217
Description
## What?
Currently, only the server version and git SHA1 are available to determine what code is running in a cluster.
For monitoring, deployment probes, and other introspection purposes, it would be helpful to have a single unique identifier that includes all loaded code.
There are multiple options to go about this, just listing some ideas for now:
* Take all plugin names and versions, append them in a stable append to the server version, and produce a hash of it.
* Require the use of git sha1 in each plugin metadata and use those to build the overall hash.
* Use separate strings for identifying the server version and the rest of the plugins, to identify changes in just plugin versions.
* Start using sequential build numbers and adding them to version strings, to allow distinguishing versions from non-snapshot builds.
## Why?
There is an endpoint getting the plugin metadata, but there is no quick way to determine the overall code configuration of a cluster.
Especially when snapshot versions are deployed, the version number itself might not be enough to distinguish different states.
Contributor guide
Assessment
This issue has not been assessed yet.