Skip to content

Commit 4797699

Browse files
tbauriedelwidhalmt
andauthored
add possibility to disable user/role creation in logstash (#328)
* Add possibility to disable user/role creation in logstash * I have also renamed the var `logstash_user` to `logstash_user_name` to have the same schema as for `logstash_role_name` Implemented for #320 --------- Co-authored-by: Thomas Widhalm <[email protected]>
1 parent dfd5db8 commit 4797699

File tree

4 files changed

+17
-10
lines changed

4 files changed

+17
-10
lines changed

Diff for: docs/role-logstash.md

+6-4
Original file line numberDiff line numberDiff line change
@@ -69,10 +69,12 @@ Aside from `logstash.yml` we can manage Logstashs pipelines.
6969
* *logstash_cert_will_expire_soon*: Set it to true to renew logstash certificate (default: `false`), Or run the playbook with `--tags renew_logstash_cert` to do that.
7070
* *logstash_elasticsearch*: Address of Elasticsearch instance for default output (default: list of Elasticsearch nodes from `elasticsearch` role or `localhost` when used standalone)
7171
* *logstash_security*: Enable X-Security (No default set, but will be activated when in full stack mode)
72-
* *logstash_user*: Name of the user to connect to Elasticsearch (Default: `logstash_writer`)
73-
* *logstash_user_email*: email-address that is linked with the logstash_user (Default: `""`)
74-
* *logstash_user_fullname*: fullname that is linked with the logstash_user (Default: `Internal Logstash User`)
75-
* *logstash_user_password*: Password of `logstash_user` in Elasticsearch. It must be at least 6 characters long (default: `password`)
72+
* *logstash_create_user*: Enables creation `logstash_user_name` (Default: `true`)
73+
* *logstash_user_name*: Name of the user to connect to Elasticsearch (Default: `logstash_writer`)
74+
* *logstash_user_email*: email-address that is linked with the logstash_user_name (Default: `""`)
75+
* *logstash_user_fullname*: fullname that is linked with the logstash_user_name (Default: `Internal Logstash User`)
76+
* *logstash_user_password*: Password of `logstash_user_name` in Elasticsearch. It must be at least 6 characters long (default: `password`)
77+
* *logstash_create_role*: Enables creation `logstash_role_name` (Default: `true`)
7678
* *logstash_role_name*: Name of the logstash role that is getting created (Default: `logstash_writer`)
7779
* *logstash_role_cluster_privileges*: Cluster privileges the role has access to (default: `"manage_index_templates", "monitor", "manage_ilm"`)
7880
* *logstash_role_indicies_names*: Indices the role has access to (default: `"ecs-logstash*", "logstash*", "logs*"`)

Diff for: roles/logstash/defaults/main.yml

+6-3
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,9 @@ logstash_forwarder_queue_type: memory
4444
logstash_forwarder_queue_max_bytes: 1gb
4545
logstash_sniffing: false
4646

47-
# logstash security
47+
# logstash role / user
48+
logstash_create_role: true
49+
logstash_role_name: logstash_writer
4850
logstash_role_cluster_privileges:
4951
- manage_index_templates
5052
- monitor
@@ -60,13 +62,14 @@ logstash_role_indicies_privileges:
6062
- create_index
6163
- manage
6264
- manage_ilm
63-
logstash_role_name: logstash_writer
64-
logstash_user: logstash_writer
65+
logstash_create_user: true
66+
logstash_user_name: logstash_writer
6567
logstash_user_password: password
6668
logstash_user_email: ""
6769
logstash_user_fullname: "Internal Logstash User"
6870
logstash_reset_writer_role: true
6971

72+
# logstash security
7073
logstash_tls_key_passphrase: LogstashChangeMe
7174
logstash_certs_dir: /etc/logstash/certs
7275
logstash_cert_validity_period: 1095

Diff for: roles/logstash/tasks/logstash-security.yml

+4-2
Original file line numberDiff line numberDiff line change
@@ -376,10 +376,11 @@
376376
auth_pass: "{{ logstash_elasticstack_password.stdout }}"
377377
verify_certs: true
378378
ca_certs: "{{ logstash_certs_dir }}/ca.crt"
379+
when: logstash_create_role | bool
379380

380-
- name: Create logstash user {{ logstash_user }}
381+
- name: Create logstash user {{ logstash_user_name }}
381382
netways.elasticstack.elasticsearch_user:
382-
name: "{{ logstash_user }}"
383+
name: "{{ logstash_user_name }}"
383384
fullname: "{{ logstash_user_fullname }}"
384385
password: "{{ logstash_user_password }}"
385386
email: "{{ logstash_user_email }}"
@@ -392,3 +393,4 @@
392393
auth_pass: "{{ logstash_elasticstack_password.stdout }}"
393394
verify_certs: false
394395
ca_certs: "{{ logstash_certs_dir }}/ca.crt"
396+
when: logstash_create_user | bool

Diff for: roles/logstash/templates/elasticsearch-output.conf.j2

+1-1
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ output {
3636
keystore_password => "{{ logstash_tls_key_passphrase }}"
3737
cacert => "{{ logstash_certs_dir }}/ca.crt"
3838
ssl => true
39-
user => "{{ logstash_user }}"
39+
user => "{{ logstash_user_name }}"
4040
password => "{{ logstash_user_password }}"
4141
{% endif %}
4242
}

0 commit comments

Comments
 (0)