* add data node hep check and notification
* fix template names
* suppress forbidden invocation as it is handled by exception handling
* add recommended heap setting to notification
* changelog
* switch to oshi
* use floating point arithmetic
* change system notification text
* fixed test
* add paragraphs
---------
Co-authored-by: Tomas Dvorak <tomas.dvorak@graylog.com>
* Automatically generate datanode.conf.example + csv documentation of configuration options
* code cleanup, tests
* add spaces around = in generated config example
* adjust spaces in generated config files, add tests for ordering
* Added support for sections - both on class level and field level
* Human readable required params in csv export of datanode docs
* distribute the manually created datanode.conf.example till we agree on generated format
* Use SPI to locate configuration beans for documentation
* Code cleanup around datanode documentation
* added comment
---------
Co-authored-by: Matthias Oesterheld <33032967+moesterheld@users.noreply.github.com>
* Initial reworked, simplified abstract node startup
* use Graylog CmdLineTool in data node
* remove unused pid file declaration
* remove freshInstallation check as it doesn't make sense since it checks for fresh installation of the Graylog cluster
* move mongo preflight check into regular preflight checks since it doesn't do the fresh installation detection any more
* remove migration feature for data node
* code cleanup
* remove unused local flag, code cleaup
* rename server to datanode for better clarification
* fix feature flag test to use config for env/sys props
* remove Graylog path configuration from data node configuration
* temporary fix for excluding zstd library fix from data node
* add requireexplicitbindings for new node types
* remove unneeded settings bean
* do not use `pluginLoaderConfig` for fixing zstd temp directory
* do tls protocols configuration and setting of netty defaults only in Graylog node
* add selective loading of plugins for a specific node type
* add trino node plugin skeleton
* remove ExampleCommand, replace with MinimalNode test
* change forbidden method invocation
* adjust log
Co-authored-by: Bernd Ahlers <bernd@users.noreply.github.com>
* Change cmdline option description
Co-authored-by: Bernd Ahlers <bernd@users.noreply.github.com>
* Change cmdline option description
Co-authored-by: Bernd Ahlers <bernd@users.noreply.github.com>
* Change cmdline option description
Co-authored-by: Bernd Ahlers <bernd@users.noreply.github.com>
* make usage of NodeIdFile configurable
* adjust ServerStatus and provide common node command test
* add missing method to test interface
* code cleanup
* make configuration a field, remove unused constructor
* code cleanup
* use parent field
* make Datanode and Server extend AbstractNodeCommand
* change field names to camel case
* remove redundant bindings, make journal commands extends AbstractNodeCommand
* remove static field
* remove redundant bindings
* move plugin path configuration out of PathConfiguration to not require all properties of PathConfiguration only for plugin loading
* always applySecuritySettings
* add javadocs to GraylogNodeModule
* add javadoc
* add test for plugin filtering
* code cleanup
* change path resolution
* add an abstraction layer for state machine handling to avoid duplicate code
* load plugin rest resources in data node jersey service
* Fix trino plugin configuration beans binding, add start endpoint
* change plugin loading from filtering to explicit override in data node
* prepare test backend for plugin loading
* adds a `datanodePluginJarsProvider` to ContainerMatrixTests to allow loading of datanode jars in full backend tests
---------
Co-authored-by: Tomas Dvorak <tomas.dvorak@graylog.com>
Co-authored-by: Bernd Ahlers <bernd@users.noreply.github.com>
* Refactoring of IndexerJwtAuthTokenProvider
* Fix DatanodeConnectivityCheck
* fixed jwt token usage in OpensearchRestClient
* add clock to the jwt token provider, so we can test expiration of tokens
* fixed rest client provider with jwt
* fixed error and sniffer logging
---------
Co-authored-by: Matthias Oesterheld <33032967+moesterheld@users.noreply.github.com>