graylog2-server icon indicating copy to clipboard operation
graylog2-server copied to clipboard

Refactor data node startup, add startup mechanism for new node types

Open moesterheld opened this issue 1 year ago • 0 comments

Description

Modifies the CmdLineTool to allow configurable startup of new node types. A GraylogNodeConfiguration interface configures certain whether certain common startup features should be run. For a node incorporating the features we deem as common, a CommonNodeConfiguration is provided which sets these flags as default.

Data node startup has been changed to use the refactored CmdLineTool directly, setting the necessary features as required by the data node. Additionally, bootstrapping of the data node has been revamped. This does not completely decouple the startup logic from Graylog startup, but uses a common codebase instead of the previously duplicated code.

An example node is currently included in the PR to showcase how new node types can be created (ExampleCommand). This should be removed before merging.

/nocl

Motivation and Context

solves #18908
solves #18011

How Has This Been Tested?

run data node, Graylog, certutil, journal commands manually

Screenshots (if appropriate):

Types of changes

  • [ ] Bug fix (non-breaking change which fixes an issue)
  • [ ] New feature (non-breaking change which adds functionality)
  • [x] Refactoring (non-breaking change)
  • [ ] Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

  • [x] My code follows the code style of this project.
  • [ ] My change requires a change to the documentation.
  • [ ] I have updated the documentation accordingly.
  • [x] I have read the CONTRIBUTING document.
  • [ ] I have added tests to cover my changes.

moesterheld avatar Aug 14 '24 11:08 moesterheld