From 079b022375842f49701a944e4acc6fbefaed4481 Mon Sep 17 00:00:00 2001 From: admManuel Date: Sat, 28 Jun 2025 06:06:01 +0000 Subject: [PATCH] Add roles/install_ngs-pulsar/tasks/main.yml --- roles/install_ngs-pulsar/tasks/main.yml | 123 ++++++++++++++++++++++++ 1 file changed, 123 insertions(+) create mode 100644 roles/install_ngs-pulsar/tasks/main.yml diff --git a/roles/install_ngs-pulsar/tasks/main.yml b/roles/install_ngs-pulsar/tasks/main.yml new file mode 100644 index 0000000..7351829 --- /dev/null +++ b/roles/install_ngs-pulsar/tasks/main.yml @@ -0,0 +1,123 @@ +--- +#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.service.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"