Graylog2 / Graylog2/graylog2-server

Create unique identifier for a cluster based on the installed plugin and server versions

Open
#9,086 0 comments 0 reactions 0 assignees View on GitHub
feature triaged
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.