Commit Graph

36 Commits

Author SHA1 Message Date
Jan Heise
cc52dcb5b0 DataNode: using JWT for authentication/authorisation (#16334)
* jwt implementation, adding preflight + versionprobe

* adding JWT auth to anomaly detection client, some minor refactorings

* added missing license

* added provider, refactorings

* fixing small bugs

* set smaller default expiration

* using the correct OpenSearch distro for the erchitecture

* added config options

* small refactorings, fixing tests, adding dependencies for running tests from inside IntelliJ

* fixing import to correct Duration class

* removing unnecessary debug output

* fixing tests

* fixing tests

* adding JWT to Cluster test

* fixing path

* fixing path problems

* fix architecture logic for DatanodeContainerizedBackend

* fixing path problems

* fixing JWT settings in tests

* fixing JWT settings in tests

* fixing cluster test

* fixing cluster test

* fixing cluster test

* adding missing jwt token

* small refactoring to force thread-safety on creation

* the datanode uses mongodb - so the closing sequence needs to be adjusted

* moving config changes into config file, keep only change that has to be done by code

* adding breaking change info for JWT and clock synchronization.

* renaming config settings

* renaming config settings

* removed debug settings that are no longer in use

* renamed provider/annotation to be more precise

* lowering log level

* smaller refactorings/renamings

* keep config change in code until PR is merged, remove code in a follow-up PR

* moved changelog file to correct folder

* clock synchronsation

Co-authored-by: Dennis Oelkers <dennis@graylog.com>

* added jwt auth into changes after merge

* upped the timeout

* log curl connection information in DatanodeOpensearchWait

* replacing with jwt auth

* changing wait strategy

* fixing imports

* remove uname/pwd from opensearch rest base url

* propagate jwt token provider to http rest client callback, obtain fresh token every time

* inject IndexerJwtAuthTokenProvider in DatanodeConfigurationProvider

* remove rest uname/pwd from datanode configuration

---------

Co-authored-by: Tomas Dvorak <tomas.dvorak@graylog.com>
Co-authored-by: Dennis Oelkers <dennis@graylog.com>
2023-09-12 11:48:44 +02:00
Tomas Dvorak
aa1d69505f Update opensearch to 2.9.0 in matrix integration tests (#16294)
* Update opensearch to 2.9.0 in matrix integration tests

* Update datanode to 2.9.0 opensearch

* workaround for opensearch number_of_replicas in single-node mode

* trigger the fix of replica numbers in opensearch only for 2.9.0 and higher releases

* better hostname handling for DatanodeClusterIT

* log all request/responses for DatanodeClusterIT

* add response logging to DatanodeClusterIT

* print also logs from node B in DatanodeClusterIT in case of error

* fixed DatanodeClusterIT, cached datanode images, synchronized maven packaging

* better handling of DatanodeClusterIT waiting for cluster status

* code cleanup

* log last recorded exception in case of failed waiting for datanode opensearch

* log state machine transitions

* increase waiting timeout for DatanodeClusterIT

* print shard info in case of datanode cluster failure

* safer shard info debug in DatanodeOpensearchWait

* disable scluster.routing.allocation.disk.threshold for datanode integration tests (causes problems in github actions)

---------

Co-authored-by: Dennis Oelkers <dennis@graylog.com>
2023-09-08 14:12:58 +02:00
Jan Heise
af73ea391b DataNode: adding a default config location to avoid NPEs (#16381)
* adding a default

* fixing default paths

* fixing default paths
2023-09-06 11:07:02 +02:00
Jan Heise
fb5f07e51c DataNode: Use the correct architecture for the distribution jar in tests (#16372)
* fix to use the correct architecture for the distribution jar

* added check for archive

* added missing import
2023-09-06 07:36:46 +02:00
Tomas Dvorak
d16c68f1a2 close networks and containers in tests (#16375) 2023-09-05 16:25:59 +02:00
Tomas Dvorak
4c74e9639a add datanode IT to verify cluster add/remove (#16285)
* add datanode IT to verify cluster add/remove

* fixed import
2023-08-30 15:07:25 +02:00
Tomas Dvorak
1a8f5f7df8 typesafe handling of prompts in command line console usages (#16254)
* typesafe handling of prompts in command line console usages

* fixed test
2023-08-25 09:43:31 +02:00
Tomas Dvorak
716f71cf46 Adapt DatanodeClusterIT for full cert setup of all nodes (#16245)
* Adapt DatanodeClusterIT for full cert setup of all nodes

* generated passwords for DatanodeSecuritySetupIT, better truststore

* datanode integration tests code cleanup

* code cleanup
2023-08-24 12:44:03 +02:00
Tomas Dvorak
3b74e30193 rest username and passwords extracted to constants #16009 (#16156) 2023-08-18 13:23:30 +02:00
Tomas Dvorak
18e326b8a1 make cluster initial nodes in datanode configurable (#16146)
* make cluster initial nodes in datanode configurable

* added changelog

* removed forgotten debug logging

* returned opensearch_network_host config for containerized datanode tests
2023-08-10 14:29:48 +02:00
luk-kaminski
e7025a9da8 Insecure startup of OS in datanode only if explicitly configured (#16108)
* Insecure startup of OS in datanode only if explicitly configured

* Data node can be started without starting OS, just to be discovered by pre-flight mode
2023-08-07 17:21:08 +02:00
Tomas Dvorak
e39a53ed2d Refactoring/opensearch security setup (#16087)
* Start datanode jersey only after ssl configuration resolved, listen to change events

* Adapted DatanodeSecuritySetupIT to work with https version of the datanode interface

* simplify hostnames in DatanodeSecuritySetupIT

* code cleanup

* added changelog

* code cleanup

* disable security plugin and perf analyzer in matrix tests opensearch

* Fixed datanode jersey service

* Fixed opensearch instance env

* Opensearch security setup refactored

* code cleanup

* removed commented out code from datanodes JerseyService

* add fqdn to the http cert in the DatanodeSecuritySetupIT

* configure truststore only if the security is enabled

* code cleanup

* reintroduced root certificate finder

* adjusted class and methods visibility of RootCertificateFinder
2023-08-02 14:33:50 +02:00
Tomas Dvorak
b4c2f1f90c Start datanode jersey only after ssl configuration resolved, listen to change events (#16058)
* Start datanode jersey only after ssl configuration resolved, listen to change events

* Adapted DatanodeSecuritySetupIT to work with https version of the datanode interface

* simplify hostnames in DatanodeSecuritySetupIT

* code cleanup

* added changelog

* code cleanup

* disable security plugin and perf analyzer in matrix tests opensearch

* Fixed datanode jersey service

* Fixed opensearch instance env

* add fqdn to the http cert in the DatanodeSecuritySetupIT
2023-08-02 10:46:08 +02:00
Tomas Dvorak
32b59c3a87 Add suffix to docker datanode container name, for parallel runs (#16017) 2023-07-21 17:26:43 +02:00
Jan Heise
34d5b47d2a Include Graylog CA into places where we connect to the DataNode (#15925)
* first version adding gl CA

* adding custom trutstore

* fixed SSLContext

* fixed SSLContext for connectivity check

* fix comments

* fixed imports

* reverting altnames tmp change

* reverting altnames tmp change

* fixed preflightconfig, fixed hostname-verifier

* added credentials to target string, set hostname

* added credentials from target string

* only add TrustManager if https is requested

* fixing tests

* add another alt name

* change creation of restBaseUrl

* DatanodeSecuritySetupIT adaptation for stable hostname of the datanode

* trying to fix naming/binding for docker

* adding another alt name

* added s to http

* changing exception

* more debug output

* change test

* change test

* adding debug

* switch back to http

* more debugging

* more debugging

* added exception to retryer

* fixed boolean eval

* going to the next step on FAILED, too

* fixing if clause

* cleanup

* cleanup

* cleanup

* cleanup

* cleanup

* cleanup

* cleanup

* cleanup

* removed wrong credentials provider

* added name verifying

* fix alt name handling

* removed unneccessary hostname verifier

* reverted DefaultX509TrustManager

* removed link to DefaultX509TrustManager because it's used in different contexts, singleton for SSL related stuff so we don't instantiate it all the time

* full rollback DefaultX509TrustManager

* reverted change on logging

* revert VersionProbe, unnecessary changes

* DatanodeSecuritySetupIT fixed, separated bind address and hostname

* changed to lambda

* changed to lambda

* small refactorings in csrsigner

* added test for CustomCAX509TrustManager

* added binding for CaService into Preflight

* fixing bindings

* fixing bindings

---------

Co-authored-by: Tomas Dvorak <tomas.dvorak@graylog.com>
2023-07-21 12:59:55 +02:00
luk-kaminski
a8f29b0431 New configuration handling. Incomplete manual config ends with error.… (#15784)
* New configuration handling. Incomplete manual config ends with error. Empty config allows to try different config options.

* Trying to reflect functionality responsibilities with better naming
2023-07-04 13:56:22 +02:00
Tomas Dvorak
4b6d667366 Run MavenPackager before integration tests in datanode (#15780) 2023-06-21 10:36:22 +02:00
Tomas Dvorak
9105655645 Code cleanup around opensearch process info (#15709)
* Code cleanup around opensearch process info

* Code cleanup

* fixed naming and test

* fixed test

* fixed test

* code cleanup

* code cleanup
2023-06-19 06:36:32 +02:00
Tomas Dvorak
bc56d397c3 Datanode config separation (#15701)
* Different variants of security configuration (from file, from mongo, insecure).
Encryption/decryption pattern used in practice.

* Reverting temporary changes

* More precise certificate presence check

* Added unit tests for testHasCert() method

* Datanode and opensearch configuration refactored

* code cleanup

* code cleanup

* code cleanup

* Node preflight config service refactored

* restbaseurl moved to OpensearchConfiguration

---------

Co-authored-by: Lukasz Kaminski <lukasz.kaminski@graylog.com>
2023-06-06 14:44:06 +02:00
luk-kaminski
ea4804b874 OTR Reencryption and Key Storage refactoring for password change (#15668)
* OTR Reencryption and Key Storage refactoring for password change

* Wrong password was used in reencryption. Fixed.
2023-06-02 14:07:54 +02:00
Tomas Dvorak
5651f90aa9 Process watchdog reimplemented to follow transitions of the process state machine (#15676)
* Process watchdog reimplemented to follow transitions of the process state machine

* code cleanup

* code cleanup
2023-06-02 10:52:24 +02:00
luk-kaminski
6f83f2be63 Refactoring and additional tests (#15640)
* Refactoring and additional tests

* One more try-with-resources
2023-05-30 14:40:27 +02:00
Tomas Dvorak
a487ca2f86 Delay opensearch start till configuration is available (#15615)
* Delay opensearch start till configuration is available

* code cleanup
2023-05-30 10:06:47 +02:00
luk-kaminski
f9dc221627 Change ConfigProvider, so that it stops using PEM files, and starts u… (#15460)
* Change ConfigProvider, so that it stops using PEM files, and starts using PKCS12 files.
Refactoring, splitting the functionality to different classes.
Some config changes that make things work in IDEA.
Reusable truststore.
Truststore stores only root certificates.

* Simpler root certificate finding

* Dir Sync does not remove cert files

* Removed unnecessary default config changes. Cleared confusing certificate copying and unnecessary certificate duplication in 2 folders

* Truststore path created outside of TruststoreCreator. Root certificate found in a different way, without considering its place in the certificate chain

* Fixed log message

* Integration test fixed

* Certs are not an exception in FullDirSync. Introduced second config location as a step towards final configuration. Certificates are moved between locations, as it was done previously

* Fixed a test. Minor refactoring.

* Config location has no default value. It is checked if it is provided, as it is required
2023-05-16 08:38:03 +02:00
Tomas Dvorak
2d59457315 Fixed env propagation for datanodes opensearch (#15458) 2023-05-09 14:54:56 +02:00
Tomas Dvorak
2fa7b7b9aa Synchronize opensearch config to a user-defined directory (#15307)
* Synchronize opensearch config to a user-defined directory (fixes #15223)

* fixed check naming

* fixed opensearch configuration location

* simplified Environment constructor

* point gc logs of datanodes opensearch to /tmp for now

* full dir sync for opensearch config

* Fixed full dir sync when removing non-empty dir

* simpified recursive directory deletion
2023-05-02 15:01:12 +02:00
Tomas Dvorak
c36a63495d Opensearch dist dir autodetection (#15216)
* Opensearch dist dir autodetection

* Add arm64 as supported architecture for datanode

* Added changelog
2023-04-14 09:53:33 +02:00
luk-kaminski
b48335a7dd Move certutil code to graylog-server (#15193) 2023-04-13 08:03:01 +02:00
Tomas Dvorak
7a66235734 datanode registers itself with opensearch REST endpoint uri (#15142)
* datanode registers itself with opensearch REST endpoint uri

* code cleanup

* Updating yarn lockfile (#15132)

Co-authored-by: Gary Bot <garybot2@graylog.com>

* Fix isFreshInstallation preflight check (#15141)

* Fix isFreshInstallation preflight check

* added changelog

* removed outdated comment

* code cleanup

* Fix package name and use correct Java property value for log4j2 (#15144)

* Add undo reset button to encrypted form fields (#15147)

* Add undo reset button to encrypted form fields

* Also reset the file name

* Reference PRs in changelog

* Input form: Only reset title when initial title changes or modal is closed (#15154)

* Extended preflight check, added logging and adapted state machine transitions (#15149)

* Extended preflight check, added logging and adapted state machine transitions

* fixed opensearch preflight check

* fixed opensearch preflight check, add tests

* Fix OpenSearch permissions in data node tarball (#15158)

We tried to use fileSet/fileMode to make the OpenSearch config
permissions work when running OpenSearch with a different user.

That didn't work because the fileMode changed all files and removed the
executable bit from all executable scripts.

Now we use the Maven antrun plugin to set the permissions on the
OpenSearch files right after extraction.

* Bump webpack in /graylog2-web-interface/packages/graylog-web-plugin (#15159)

Bumps [webpack](https://github.com/webpack/webpack) from 5.77.0 to 5.78.0.
- [Release notes](https://github.com/webpack/webpack/releases)
- [Commits](https://github.com/webpack/webpack/compare/v5.77.0...v5.78.0)

---
updated-dependencies:
- dependency-name: webpack
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Add CIDR Range lookup support to CSV file data adapters (#15016)

* Add CIDR Range lookup support to CSV file data adapters

* Convert JSX -> functional TSX

* Adds unit tests

* Support single IP keys

* Adapted default configuration, fixed logging, extended datanode.conf template (#15056)

Co-authored-by: Bernd Ahlers <bernd@users.noreply.github.com>

* Feat/4848 modal add to investigation (#15148)

* feat(4848): Adds buttons to open select investigation modal

* feat(4848): Implements AddEvidenceModal & fix for OverlayDropdown

* feat(4848): Adds tests

* feat(4848): Adds changelog

* feat(4848): Adds missing license header

* Implement node heartbeats without server-side scripting. (#15160)

* Implement node heartbeats without server-side scripting.

* Adding backwards compatibility.

* Removing unused method.

* Don't pass JAVA_HOME environment variable to OpenSearch process (#15166)

The OpenSearch process should use its bundled JVM version.

* Bump eslint-plugin-compat (#15169)

Bumps [eslint-plugin-compat](https://github.com/amilajack/eslint-plugin-compat) from 4.1.2 to 4.1.4.
- [Release notes](https://github.com/amilajack/eslint-plugin-compat/releases)
- [Changelog](https://github.com/amilajack/eslint-plugin-compat/blob/main/CHANGELOG.md)
- [Commits](https://github.com/amilajack/eslint-plugin-compat/compare/v4.1.2...v4.1.4)

---
updated-dependencies:
- dependency-name: eslint-plugin-compat
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump @tanstack/react-query (#15179)

Bumps [@tanstack/react-query](https://github.com/tanstack/query) from 4.28.0 to 4.29.1.
- [Release notes](https://github.com/tanstack/query/releases)
- [Commits](https://github.com/tanstack/query/compare/v4.28.0...v4.29.1)

---
updated-dependencies:
- dependency-name: "@tanstack/react-query"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump typescript in /graylog2-web-interface/packages/graylog-web-plugin (#15173)

Bumps [typescript](https://github.com/Microsoft/TypeScript) from 5.0.3 to 5.0.4.
- [Release notes](https://github.com/Microsoft/TypeScript/releases)
- [Commits](https://github.com/Microsoft/TypeScript/compare/v5.0.3...v5.0.4)

---
updated-dependencies:
- dependency-name: typescript
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump eslint in /graylog2-web-interface/packages/eslint-config-graylog (#15174)

Bumps [eslint](https://github.com/eslint/eslint) from 8.37.0 to 8.38.0.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v8.37.0...v8.38.0)

---
updated-dependencies:
- dependency-name: eslint
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump puppeteer from 19.8.0 to 19.8.5 in /graylog2-web-interface (#15170)

Bumps [puppeteer](https://github.com/puppeteer/puppeteer) from 19.8.0 to 19.8.5.
- [Release notes](https://github.com/puppeteer/puppeteer/releases)
- [Changelog](https://github.com/puppeteer/puppeteer/blob/main/release-please-config.json)
- [Commits](https://github.com/puppeteer/puppeteer/compare/puppeteer-v19.8.0...puppeteer-v19.8.5)

---
updated-dependencies:
- dependency-name: puppeteer
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump @typescript-eslint/eslint-plugin (#15181)

Bumps [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) from 5.57.1 to 5.58.0.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v5.58.0/packages/eslint-plugin)

---
updated-dependencies:
- dependency-name: "@typescript-eslint/eslint-plugin"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump @types/react in /graylog2-web-interface/packages/graylog-web-plugin (#15178)

Bumps [@types/react](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react) from 18.0.33 to 18.0.34.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react)

---
updated-dependencies:
- dependency-name: "@types/react"
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bootstrapping preflight UI build. (#15138)

* Adding preflight build config and targets.

* Emitting and copying preflight assets from separate dir.

* Run preflight build from maven.

* Adding license headers.

* Removing duplicate `div#app-root`.

* Merging multiple plugin executions.

* Bump @typescript-eslint/parser (#15180)

Bumps [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) from 5.57.1 to 5.58.0.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/parser/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v5.58.0/packages/parser)

---
updated-dependencies:
- dependency-name: "@typescript-eslint/parser"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Security update to shiro-core 1.11.0 (#15187)

* Security update to shiro-core 1.11.0

Release notes:

- https://shiro.apache.org/blog/2023/01/13/apache-shiro-1110-released.html
- https://shiro.apache.org/blog/2022/11/19/apache-shiro-1101-released.html
- https://shiro.apache.org/blog/2022/10/10/apache-shiro-1100-released.html
- https://shiro.apache.org/blog/2022/06/28/apache-shiro-191-released.html
- https://shiro.apache.org/blog/2022/03/22/apache-shiro-190-released.html
- https://shiro.apache.org/blog/2021/v1.8.0.html
- https://shiro.apache.org/blog/2021/v1.7.1.html
- https://shiro.apache.org/blog/2020/v1.7.0.html
- https://shiro.apache.org/blog/2020/v1.6.0.html
- https://shiro.apache.org/blog/2020/05/03/apache-shiro-1.5.3-released.html

Fixed CVEs:

- CVE-2022-32532 - Doesn't affect Graylog because we don't run in a
  servlet container
- CVE-2022-40664 - Doesn't affect Graylog because we don't run in a
  servlet container
- CVE-2023-22602 - Doesn't affect Graylog because the issue is Spring
  Boot specific

* Add changelog

* Update netty from 4.1.84 to 4.1.91 (#15186)

netty-tcnative from 2.0.54 to 2.0.59

fixed CVEs

- HAProxyMessageDecoder Stack Exhaustion DoS (CVE-2022-41881)
- HTTP Response splitting from assigning header value iterator (CVE-2022-41915)

* 1.Fixed when using OSHI library to get cpu load is always 0. (#15183)

2.Fixed getting CPU frequency could be negative because CPU frequency could exceed Int max value.

* Update json-path to 2.8.0 to fix a security issue in json-smart (#15190)

* Update json-path to 2.8.0 to fix a security issue in json-smart

Fixes CVE-2023-1370 in the json-smart transitive dependency.

* Add changelog

* Fix "Add to query" value action for dashboard widgets. (#15182)

* Fix "Add to query" value action for dashboard widgets.

* Add few simple tests for "add to query" value action.

* Add test to ensure "Add to query" works on dashboards if global override is undefined.

* Cleanup code

* Fix error.

* Updating yarn lockfile (#15162)

Co-authored-by: Gary Bot <garybot2@graylog.com>

* Add regex matching to remove_field function (#15131)

* add regex matching to remove_field

* update CL

* Configuration Form Makeover (#15025)

* Add sidebar and only show selected configuration section

* Extract calls for Search and MessageProcessorsConfig into their component

* Migrate SidecarConfig to typescript and fetch config data in component

* Migrate EventsConfig to typescript and move fetch logic into component

* Move fetch logic to UrlWhitelist component

* Move fetch logic to Permissions component and use store in Searches config

* Use store in MessageProcessorConfig

* Use store in SidecarConfig

* Use store in EventsConfig

* Use store in UrlWhiteListConfig

* Use store in IndexSetsDefaultsConfig

* Use store in UserConfig

* Clean up ConfigurationPage component and create component for plugins

* Fix tests and make sections more narrow

* Fix SearchConfig after merge and add typing to MessageProcessorConfig

* Disable eslint warning for error boundary

* Adjust headlines

* Add missing license headers

* Add changelog

* Move changelog file to correct folder

* Add arrow to plugins nav item in configurations page

* Format with correct eslint config

* Use same text for submit and cancel button for IndexSetsDefaultsConfig

* Make sure the sidebars have the same width

* Extract Icons to styled components

* NodePingPeriodical registers node in init

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Gary Bot <garybot2@graylog.com>
Co-authored-by: Bernd Ahlers <bernd@users.noreply.github.com>
Co-authored-by: Laura <grotlue@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Zack King <91903901+kingzacko1@users.noreply.github.com>
Co-authored-by: Ezequiel Lopez <105670363+zeeklop@users.noreply.github.com>
Co-authored-by: Dennis Oelkers <dennis@graylog.com>
Co-authored-by: Marco Pfatschbacher <marco@graylog.com>
Co-authored-by: panxt <15639727428@163.com>
Co-authored-by: Linus Pahl <linus@graylog.com>
Co-authored-by: Patrick Mann <patrickmann@users.noreply.github.com>
2023-04-12 13:51:37 +02:00
Bernd Ahlers
a2a2ee7af8 Don't pass JAVA_HOME environment variable to OpenSearch process (#15166)
The OpenSearch process should use its bundled JVM version.
2023-04-07 12:49:40 +02:00
Tomas Dvorak
eba2d54498 Extended preflight check, added logging and adapted state machine transitions (#15149)
* Extended preflight check, added logging and adapted state machine transitions

* fixed opensearch preflight check

* fixed opensearch preflight check, add tests
2023-04-05 18:14:15 +02:00
Bernd Ahlers
120fae5221 Refactor data-node download and assembly (#14963)
* Refactor data-node download and assembly

- Download OpenSearch aarch64 distribution in addition to x64
- Extract OpenSearch distribution into "target/opensearch/*" instead of
  "bin/download".
- Include OpenSearch distributions in "dist/" instead of "bin/" in
  assembly

* Fix data-node test container creation

* Adjust OpenSearch location for architecture dependent locations

* If the configured location exists, use it

Otherwise, check for architecture dependent distribution directories.

* Switch default config file to locations that work with the tarball

* Rename datanode.jar to graylog-datanode.jar

* Rename datanodectl to graylog-datanode.sh

* Include graylog-datanode.sh in assembly as bin/graylog-datanode

* Add a jvm.options config file

* Add a production log4j2.xml config file

* Use bundled JVM if it exists

* fixed docker image for datanode integration tests

---------

Co-authored-by: Tomas Dvorak <tomas.dvorak@graylog.com>
2023-03-28 10:49:49 +02:00
Tomas Dvorak
3f4dad6a7b Datanode periodical for NodeService pings (#15003)
* Datanode periodical for NodeService pings

* node service markAsAlive update without additional query

* added unit test for NodePingPeriodical

* code cleanup

* simplified NodePingPeriodicalTest
2023-03-23 09:02:35 +01:00
Jan Heise
94d8dc7802 Additional Logging to track down eventual errors in IT tests (#14863)
* reverting preemptive auth using restassured

* add possibility to set a minimum error code (if you don't expect a 4xx for example)

* upped log level

* adding preemptive back in

* Update GraylogBackend.java

* remove preemptive()
2023-03-09 12:14:05 +01:00
Jan Heise
0b5d6b0307 Add Preemptive Auth to IT Tests (#14833)
* preemptive auth during IT tests everywhere

* removed unneccessary log
2023-03-02 17:03:03 +01:00
Tomas Dvorak
21e55cbcb6 Initial Data Node version PR (#14417)
Co-authored-by: Jan Heise <jan.heise@graylog.com>
2023-02-27 13:11:24 +01:00