diff --git a/deployments/ansible/CHANGELOG.md b/deployments/ansible/CHANGELOG.md index ebaeea4a4d..72fe6cf96f 100644 --- a/deployments/ansible/CHANGELOG.md +++ b/deployments/ansible/CHANGELOG.md @@ -1,5 +1,13 @@ # Changelog +## ansible-v0.32.0 + +### 💡 Enhancements 💡 + +- Add support for the `splunk_otel_collector_command_line_args` option to + configure the command line arguments for the Splunk OpenTelemetry Collector + service. + ## ansible-v0.31.0 ### 🛑 Breaking changes 🛑 diff --git a/deployments/ansible/molecule/custom_vars/converge.yml b/deployments/ansible/molecule/custom_vars/converge.yml index 891cedb867..b857e3f79a 100644 --- a/deployments/ansible/molecule/custom_vars/converge.yml +++ b/deployments/ansible/molecule/custom_vars/converge.yml @@ -12,6 +12,7 @@ splunk_service_user: custom-user splunk_service_group: custom-group splunk_memory_total_mib: 256 + splunk_otel_collector_command_line_args: "--discovery" gomemlimit: 230 splunk_listen_interface: 1.2.3.4 splunk_fluentd_config: /etc/otel/collector/fluentd/custom_fluentd.conf diff --git a/deployments/ansible/molecule/custom_vars/verify.yml b/deployments/ansible/molecule/custom_vars/verify.yml index 0eff6874d9..be79ce0971 100644 --- a/deployments/ansible/molecule/custom_vars/verify.yml +++ b/deployments/ansible/molecule/custom_vars/verify.yml @@ -44,6 +44,13 @@ state: present check_mode: yes + - name: Assert OTELCOL_OPTIONS env var is set per splunk_otel_collector_command_line_args + ansible.builtin.lineinfile: + line: OTELCOL_OPTIONS=--discovery + dest: /etc/otel/collector/splunk-otel-collector.conf + state: present + check_mode: yes + - name: Assert MY_CUSTOM_VAR1 env var is set ansible.builtin.lineinfile: line: MY_CUSTOM_VAR1=value1 diff --git a/deployments/ansible/roles/collector/README.md b/deployments/ansible/roles/collector/README.md index 245781fcf1..a719a85c2b 100644 --- a/deployments/ansible/roles/collector/README.md +++ b/deployments/ansible/roles/collector/README.md @@ -121,6 +121,16 @@ $> ansible-playbook playbook.yaml -e start_service=false `splunk_otel_collector_proxy_http` or `splunk_otel_collector_proxy_https` is defined. (**default:** `localhost,127.0.0.1,::1`) +- `splunk_otel_collector_command_line_args`: Command-line arguments to pass to the + Splunk OpenTelemetry Collector. These will be added as arguments to the service + command line. + (**default:** `""`) + + Example: + ```yaml + splunk_otel_collector_command_line_args: "--discovery --set=processors.batch.timeout=10s" + ``` + - `splunk_memory_total_mib`: Amount of memory in MiB allocated to the Splunk OTel Collector. (**default:** `512`) diff --git a/deployments/ansible/roles/collector/defaults/main.yml b/deployments/ansible/roles/collector/defaults/main.yml index d46b97129d..6a681b37a0 100644 --- a/deployments/ansible/roles/collector/defaults/main.yml +++ b/deployments/ansible/roles/collector/defaults/main.yml @@ -8,6 +8,9 @@ splunk_realm: us0 splunk_otel_collector_version: latest +# Command-line arguments to pass to the collector service. +splunk_otel_collector_command_line_args: "" + # Set this variable to /etc/otel/collector/gateway_config.yaml on linux, # "Program Files\Splunk\OpenTelemetry Collector\gateway_config.yaml" on Windows # in order to deploy splunk-otel-collector in gateway mode. diff --git a/deployments/ansible/roles/collector/templates/splunk-otel-collector.conf.j2 b/deployments/ansible/roles/collector/templates/splunk-otel-collector.conf.j2 index f7fe833ab4..ad0b10352d 100644 --- a/deployments/ansible/roles/collector/templates/splunk-otel-collector.conf.j2 +++ b/deployments/ansible/roles/collector/templates/splunk-otel-collector.conf.j2 @@ -1,3 +1,4 @@ +OTELCOL_CONFIG={{ splunk_otel_collector_command_line_args }} SPLUNK_CONFIG={{ splunk_otel_collector_config }} SPLUNK_ACCESS_TOKEN={{ splunk_access_token }} SPLUNK_REALM={{ splunk_realm }}