3
0
Files
enginsight/roles/install_ngs-pulsar/tasks/main.yml
2025-06-28 06:13:10 +00:00

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"