--- #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"