-
Notifications
You must be signed in to change notification settings - Fork 10
/
Copy pathmain.yml
126 lines (110 loc) · 3.49 KB
/
main.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
---
- name: Check for versions
ansible.builtin.fail:
msg: "No OSS package with version later than 7 is available for Kibana"
when:
- elasticstack_release | int > 7
- elasticstack_variant == "oss"
- name: Include global role
ansible.builtin.import_role:
name: netways.elasticstack.elasticstack
- name: Update apt cache.
ansible.builtin.apt:
update_cache: yes
cache_valid_time: 600
changed_when: false
when: ansible_os_family == 'Debian'
- name: Set common password for common certificates
ansible.builtin.set_fact:
kibana_tls_key_passphrase: "{{ elasticstack_cert_pass }}"
when:
- elasticstack_cert_pass is defined
- name: Set Elasticsearch hosts if used with other roles
ansible.builtin.set_fact:
kibana_elasticsearch_hosts: "{{ groups[elasticstack_elasticsearch_group_name] }}"
when:
- kibana_elasticsearch_hosts is undefined
- groups[elasticstack_elasticsearch_group_name] is defined
- name: Set Elasticsearch hosts to localhost if no other info is available
ansible.builtin.set_fact:
kibana_elasticsearch_hosts:
- localhost
when:
- kibana_elasticsearch_hosts is undefined
- groups[elasticstack_elasticsearch_group_name] is undefined
- name: Construct exact name of Kibana package
ansible.builtin.set_fact:
kibana_package: >
{{
'kibana' +
('-oss' if elasticstack_variant == 'oss' else '') +
((elasticstack_versionseparator +
elasticstack_version |
string ) if (elasticstack_version is defined and elasticstack_version | length > 0)) |
replace(' ', '') }}
- name: Install Kibana - rpm - full stack
ansible.builtin.package:
name: "{{ kibana_package }}"
enablerepo:
- 'elastic-{% if elasticstack_variant == "oss" %}oss-{% endif %}{{ elasticstack_release }}.x'
notify:
- Restart Kibana
when:
- ansible_os_family == "RedHat"
- elasticstack_full_stack | bool
- name: Install Kibana - rpm - standalone
ansible.builtin.package:
name: "{{ kibana_package }}"
notify:
- Restart Kibana
when:
- ansible_os_family == "RedHat"
- not elasticstack_full_stack | bool
- name: Install Kibana - deb
ansible.builtin.package:
name: "{{ kibana_package }}"
notify:
- Restart Kibana
when:
- ansible_os_family == "Debian"
- name: Import security related tasks
ansible.builtin.import_tasks: kibana-security.yml
when:
- elasticstack_full_stack is defined
- elasticstack_full_stack | bool
- kibana_security | bool
- elasticstack_variant == "elastic"
tags:
- certificates
- renew_ca
- renew_kibana_cert
- name: Configure Kibana
ansible.builtin.template:
src: kibana.yml.j2
dest: /etc/kibana/kibana.yml
owner: root
group: root
mode: 0644
backup: "{{ kibana_config_backup }}"
notify:
- Restart Kibana
when: kibana_manage_yaml | bool
- name: Start Kibana
ansible.builtin.service:
name: kibana
state: started
enabled: yes
when: kibana_enable | bool
register: kibana_freshstart
# the following is useful when running tests or extra tasks that need to
# have Kibana running. Escape it on Rocky8, because it gets time out with Elastic 8
- name: Wait for Kibana to start
ansible.builtin.wait_for:
host: localhost
port: 5601
# Free up some space to let elsticsearch allocate replica in GitHub Action
- name: Remove cache
ansible.builtin.command: >
rm -rf /var/cache/*
changed_when: false
when: ansible_virtualization_type == "container" or ansible_virtualization_type == "docker"