Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 17 additions & 0 deletions roles/graylog_datanode/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -78,6 +78,12 @@ graylog_datanode__password_secret: 'Linuxfabrik_GmbH'
* Type: String.
* Default: `'mongodb://127.0.0.1/graylog'`

`graylog_datanode__node_search_cache_size`
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

new variables are missing in the example block at the bottom of this section


* Cache size for searchable snaphots. This space will be automatically reserved if `graylog_datanode__path_repo` is configured. See [docs.opensearch.org - Supported Units](https://docs.opensearch.org/latest/api-reference/units/) for a list of possible options.
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

mention that this cache is on the disk, not in memory

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

trailing whitespace - make sure you have the pre-commit installed!

* Type: String
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

add a . at the end of the line to be consistent with the roles/example/README.md and the other entries in this file

* Default: `10gb`

`graylog_datanode__opensearch_data_location`

* Set this OpenSearch folder if you need OpenSearch to be located in a special place.
Expand All @@ -90,6 +96,17 @@ graylog_datanode__password_secret: 'Linuxfabrik_GmbH'
* Type: String.
* Default: 50% of system memory, e.g. `'8g'`

`graylog_datanode__path_repo`

* Filesystem paths where searchable snapshots should be stored
* Type: List of Strings
* Default: `[]`

`graylog_datanode__raw`
* Multiline string. Raw content which will be appended to the `datanode.conf` config file.
Comment on lines +105 to +106
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

missing empty newline

* Type: String
* Default: unset

`graylog_datanode__service_enabled`

* Enables or disables the graylog-datanode service, analogous to `systemctl enable/disable --now`.
Expand Down
4 changes: 3 additions & 1 deletion roles/graylog_datanode/defaults/main.yml
Original file line number Diff line number Diff line change
@@ -1,8 +1,10 @@
graylog_datanode__bind_address: '127.0.0.1'
graylog_datanode__datanode_http_port: 8999
graylog_datanode__mongodb_uri: 'mongodb://127.0.0.1/graylog'
graylog_datanode__node_search_cache_size: '10gb'
graylog_datanode__opensearch_data_location: '/var/lib/graylog-datanode/opensearch/data'
graylog_datanode__opensearch_heap: '{{ [((ansible_facts["memtotal_mb"] * 0.5) | int), 31744] | min }}m'
graylog_datanode__mongodb_uri: 'mongodb://127.0.0.1/graylog'
graylog_datanode__path_repo: []
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

use plural for lists.

Suggested change
graylog_datanode__path_repo: []
graylog_datanode__path_repos: []

graylog_datanode__service_enabled: true

# ------
Expand Down
29 changes: 29 additions & 0 deletions roles/graylog_datanode/tasks/main.yml
Original file line number Diff line number Diff line change
@@ -1,3 +1,23 @@
- block:

- name: 'Validate that graylog_datanode__password_secret length >= 16 characters'
ansible.builtin.assert:
that:
- 'graylog_datanode__password_secret | length >= 16'
fail_msg: 'graylog_datanode__password_secret must at least 16 characters'
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
fail_msg: 'graylog_datanode__password_secret must at least 16 characters'
fail_msg: 'graylog_datanode__password_secret must be at least 16 characters'

quiet: true

- name: 'Validate that graylog_datanode__node_search_cache_size follows OpenSearch Bytes format'
ansible.builtin.assert:
that:
- 'graylog_datanode__node_search_cache_size | regex_search("^[0-9]+(b|kb|mb|gb|tb|pb)$")'
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- 'graylog_datanode__node_search_cache_size | regex_search("^[0-9]+(b|kb|mb|gb|tb|pb)$")'
- 'graylog_datanode__node_search_cache_size | ansible.builtin.regex_search("^[0-9]+(b|kb|mb|gb|tb|pb)$")'

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

also please fix the inconsistent indentation

fail_msg: '"{{ graylog_datanode__node_search_cache_size }}" does not follow OpenSearch Bytes format'
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
fail_msg: '"{{ graylog_datanode__node_search_cache_size }}" does not follow OpenSearch Bytes format'
fail_msg: '`graylog_datanode__node_search_cache_size: {{ graylog_datanode__node_search_cache_size }}` does not follow OpenSearch Bytes format'

quiet: true

tags:
- 'graylog_datanode'
- 'graylog_datanode:configure'

Comment on lines +17 to +20
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

just use the always tag here (see CONTRIBUTING)

- block:

- name: 'Install graylog-datanode'
Expand Down Expand Up @@ -62,6 +82,15 @@
group: 'graylog-datanode'
mode: 0o755

- name: 'mkdir -p {{ item }}; chown graylog-datanode:graylog-datanode {{ item }}'
ansible.builtin.file:
path: '{{ item }}'
state: 'directory'
owner: 'graylog-datanode'
group: 'graylog-datanode'
mode: 0o740
loop: '{{ graylog_datanode__path_repo }}'

tags:
- 'graylog_datanode'
- 'graylog_datanode:configure'
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -163,3 +163,13 @@ opensearch_logs_location = /var/log/graylog-datanode/opensearch
# indexer_jwt_auth_token_expiration_duration = 180s

opensearch_heap = {{ graylog_datanode__opensearch_heap }}

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

dont forget to update the timestamp in the header of the templates

#### Data Tiering Properties

node_search_cache_size = {{ graylog_datanode__node_search_cache_size }}
path_repo = {{ graylog_datanode__path_repo | join(',') }}
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

does this work if graylog_datanode__path_repo is an empty list?

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

and is it really comma separated?


{% if graylog_datanode__raw is defined and graylog_datanode__raw | length %}
#### Raw ####
{{ graylog_datanode__raw }}
{% endif %}
Original file line number Diff line number Diff line change
Expand Up @@ -163,3 +163,13 @@ opensearch_logs_location = /var/log/graylog-datanode/opensearch
# indexer_jwt_auth_token_expiration_duration = 180s

opensearch_heap = {{ graylog_datanode__opensearch_heap }}

#### Data Tiering Properties

node_search_cache_size = {{ graylog_datanode__node_search_cache_size }}
path_repo = {{ graylog_datanode__path_repo | join(',') }}

{% if graylog_datanode__raw is defined and graylog_datanode__raw | length %}
#### Raw ####
{{ graylog_datanode__raw }}
{% endif %}
Original file line number Diff line number Diff line change
Expand Up @@ -163,3 +163,13 @@ opensearch_logs_location = /var/log/graylog-datanode/opensearch
# indexer_jwt_auth_token_expiration_duration = 180s

opensearch_heap = {{ graylog_datanode__opensearch_heap }}

#### Data Tiering Properties

node_search_cache_size = {{ graylog_datanode__node_search_cache_size }}
path_repo = {{ graylog_datanode__path_repo | join(',') }}

{% if graylog_datanode__raw is defined and graylog_datanode__raw | length %}
#### Raw ####
{{ graylog_datanode__raw }}
{% endif %}
Original file line number Diff line number Diff line change
Expand Up @@ -163,3 +163,13 @@ opensearch_logs_location = /var/log/graylog-datanode/opensearch
# indexer_jwt_auth_token_expiration_duration = 180s

opensearch_heap = {{ graylog_datanode__opensearch_heap }}

#### Data Tiering Properties

node_search_cache_size = {{ graylog_datanode__node_search_cache_size }}
path_repo = {{ graylog_datanode__path_repo | join(',') }}

{% if graylog_datanode__raw is defined and graylog_datanode__raw | length %}
#### Raw ####
{{ graylog_datanode__raw }}
{% endif %}
13 changes: 13 additions & 0 deletions roles/graylog_server/tasks/main.yml
Original file line number Diff line number Diff line change
@@ -1,3 +1,16 @@
- block:

- name: 'Validate that graylog_server__password_secret length >= 16 characters'
ansible.builtin.assert:
that:
- 'graylog_server__password_secret | length >= 16'
fail_msg: 'graylog_server__password_secret must be at least 16 characters'
quiet: true

tags:
- 'graylog_server'
- 'graylog_server:configure'

Comment on lines +10 to +13
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

just use the always tag here (see CONTRIBUTING)

- block:

- name: 'Install graylog-server'
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# {{ ansible_managed }}
# 2026012102
# 2026032701
# 6.1
############################
# GRAYLOG CONFIGURATION FILE
Expand Down Expand Up @@ -781,3 +781,9 @@ integrations_scripts_dir = /usr/share/graylog-server/scripts
# event-processor-execution-v1
# notification-execution-v1
#job_scheduler_concurrency_limits = event-processor-execution-v1:2,notification-execution-v1:2

##################
# Privacy settings
##################

telemetry_enabled = false
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# {{ ansible_managed }}
# 2026012102
# 2026032701
# 6.2
############################
# GRAYLOG CONFIGURATION FILE
Expand Down Expand Up @@ -815,3 +815,9 @@ integrations_scripts_dir = /usr/share/graylog-server/scripts
# instability. Proceed with caution.
# Default: 0
#search_query_engine_data_lake_jobs_queue_size = 0

##################
# Privacy settings
##################

telemetry_enabled = false
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# {{ ansible_managed }}
# 2026012102
# 2026032701
# 6.3
############################
# GRAYLOG CONFIGURATION FILE
Expand Down Expand Up @@ -815,3 +815,9 @@ integrations_scripts_dir = /usr/share/graylog-server/scripts
# instability. Proceed with caution.
# Default: 0
#search_query_engine_data_lake_jobs_queue_size = 0

##################
# Privacy settings
##################

telemetry_enabled = false
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# {{ ansible_managed }}
# 2026012102
# 2026032701
# 7.0
############################
# GRAYLOG CONFIGURATION FILE
Expand Down Expand Up @@ -819,3 +819,9 @@ integrations_scripts_dir = /usr/share/graylog-server/scripts
# instability. Proceed with caution.
# Default: 0
#search_query_engine_data_lake_jobs_queue_size = 0

##################
# Privacy settings
##################

telemetry_enabled = false
Loading