124 lines
3.8 KiB
YAML
124 lines
3.8 KiB
YAML
---
|
|
#roles/install_ngs-pulsar/tasks/main.yml
|
|
|
|
#################################################################
|
|
# 01 | Pulsar Installationsverzeichnis erstellen
|
|
#################################################################
|
|
- name: "Pulsar Installationsverzeichnis erstellen"
|
|
file:
|
|
path: "{{ pulsar_install_path }}"
|
|
state: directory
|
|
mode: '0755'
|
|
owner: root
|
|
group: root
|
|
|
|
- name: "Pulsar Binary herunterladen"
|
|
get_url:
|
|
url: "{{ pulsar_binary_url }}"
|
|
dest: "{{ pulsar_install_path }}/{{ pulsar_binary_name }}"
|
|
mode: '0755'
|
|
owner: root
|
|
group: root
|
|
force: yes
|
|
|
|
#################################################################
|
|
# 02 | Init-System erkennen & prüfen
|
|
#################################################################
|
|
- name: "Init-System erkennen"
|
|
set_fact:
|
|
init_system: "{{ 'systemd' if ansible_service_mgr == 'systemd' else 'openrc' if ansible_service_mgr == 'openrc' else 'unknown' }}"
|
|
|
|
- name: "Fehler wenn Init-System nicht unterstützt wird"
|
|
fail:
|
|
msg: "Nicht unterstütztes Init-System: {{ ansible_service_mgr }}"
|
|
when: init_system == 'unknown'
|
|
|
|
#################################################################
|
|
# 03 | Service-Dateien erstellen
|
|
#################################################################
|
|
- name: "SystemD Service-Datei erstellen"
|
|
template:
|
|
src: pulsar.systemd.j2
|
|
dest: /etc/systemd/system/ngs-pulsar.service
|
|
mode: '0644'
|
|
owner: root
|
|
group: root
|
|
when: init_system == 'systemd'
|
|
notify: "SystemD Daemon neu laden"
|
|
|
|
- name: "OpenRC Service-Datei erstellen"
|
|
template:
|
|
src: pulsar.openrc.j2
|
|
dest: /etc/init.d/ngs-pulsar
|
|
mode: '0755'
|
|
owner: root
|
|
group: root
|
|
when: init_system == 'openrc'
|
|
|
|
#################################################################
|
|
# 04 | Weitere Dateien & Verzeichnisse
|
|
#################################################################
|
|
- name: "Uninstall-Skript erstellen"
|
|
template:
|
|
src: uninstall.sh.j2
|
|
dest: "{{ pulsar_install_path }}/uninstall.sh"
|
|
mode: '0755'
|
|
owner: root
|
|
group: root
|
|
|
|
- name: "Log-Verzeichnis für Enginsight erstellen"
|
|
file:
|
|
path: /var/log/enginsight
|
|
state: directory
|
|
mode: '0755'
|
|
owner: root
|
|
group: root
|
|
|
|
#################################################################
|
|
# 05 | Pulsar installieren
|
|
#################################################################
|
|
- name: "Pulsar Initial-Konfiguration ausführen"
|
|
command: >
|
|
{{ pulsar_install_path }}/{{ pulsar_binary_name }}
|
|
-install=true
|
|
-license={{ pulsar_license_type }}
|
|
-accessKeyId={{ vault_pulsar_access_key_id }}
|
|
-accessKeySecret={{ vault_pulsar_access_key_secret }}
|
|
-api={{ pulsar_api_url }}
|
|
args:
|
|
chdir: "{{ pulsar_install_path }}"
|
|
register: pulsar_install_result
|
|
changed_when: true
|
|
|
|
#################################################################
|
|
# 06 | Dienst aktivieren & starten
|
|
#################################################################
|
|
- name: "Pulsar Service aktivieren und starten (SystemD)"
|
|
systemd:
|
|
name: ngs-pulsar
|
|
enabled: yes
|
|
state: started
|
|
daemon_reload: yes
|
|
when: init_system == 'systemd'
|
|
|
|
- name: "Pulsar Service aktivieren und starten (OpenRC)"
|
|
block:
|
|
- name: "OpenRC Service zu Runlevel hinzufügen"
|
|
command: rc-update add ngs-pulsar default
|
|
register: rc_update_result
|
|
changed_when: rc_update_result.rc == 0
|
|
failed_when: false
|
|
|
|
- name: "OpenRC Service starten"
|
|
service:
|
|
name: ngs-pulsar
|
|
state: started
|
|
when: init_system == 'openrc'
|
|
|
|
#################################################################
|
|
# Abschlussmeldung
|
|
#################################################################
|
|
- name: "Installation erfolgreich abgeschlossen"
|
|
debug:
|
|
msg: "Enginsight Pulsar wurde erfolgreich installiert und konfiguriert"
|