LukasGibb.asterisk-config-deploy
Asterisk-Konfigurations-Deployment
Eine Ansible-Rolle, die Asterisk-Konfigurationen, Sounds und Wartemusikdateien aus einem Git-Repository bereitstellt.
Die Rolle wird Konfigurationsdateien aus einem Git-Repository in ein Arbeitsverzeichnis auschecken und diese Dateien dann als symbolischen Link in das Asterisk-Konfigurationsverzeichnis einfügen.
WARNUNG: Dies wird Ihre ursprünglichen Asterisk-Konfigurationsdateien löschen! Führen Sie dies nicht auf einem bestehenden Server aus.
Die Rolle wird auch Verzeichnisse mit benutzerdefinierten 'Sounds' und 'Wartemusik' Dateien als symbolische Links einfügen.
Um diese Option zu verwenden, sollten Sie Git LFS zum Speichern der Audiodateien nutzen. Die Rolle installiert git-lfs für Sie auf dem Server.
Asterisk Konfigurationsdatei Überschreibungssystem
Konfigurationsdateien, die spezifisch für einen bestimmten Server sind, können in einen Unterordner im Repository gelegt werden. Dies kann hilfreich sein, wenn Sie einen generischen Wählplan haben, aber Erweiterungen/Schnitstellen usw. für mehrere Regionen/Büros/Kunden konfigurieren müssen.
z.B. Konfigurationsdateien für die US-PABX in "asterisk/us/" und die UK-PABX in "asterisk/uk/"
Der Pfad zum relevanten Unterordner kann in einer Host-Variablen (asterisk_config_deploy_ast_override_dir) festgelegt werden. Die Rolle wird alle server spezifischen Konfigurationsdateien bereitstellen, die vorhanden sind, anstelle der allgemeineren Dateien mit demselben Namen im Hauptordner.
Asterisk Sounds
Benutzerdefinierte Asterisk-Sounddateien können in ein Verzeichnis im Repository hinzugefügt werden (Standardverzeichnis: sounds). Dieses Verzeichnis wird als symbolischer Link zum 'benutzerdefinierten' Asterisk 'Sounds'-Verzeichnis eingefügt.
Asterisk Wartemusik
Benutzerdefinierte Asterisk 'Wartemusik'-Dateien können in ein Verzeichnis im Repository hinzugefügt werden (Standardverzeichnis: moh). Dieses Verzeichnis wird als symbolischer Link zu einem 'benutzerdefinierten' Verzeichnis unter dem Asterisk 'moh'-Verzeichnis eingefügt (damit die ursprünglichen moh-Dateien nicht verloren gehen). Wenn Sie stattdessen die Standard-moh-Dateien überschreiben möchten, setzen Sie 'asterisk_config_deploy_moh_path' auf den tatsächlichen moh-Pfad.
Anforderungen
Benötigt eine funktionierende Asterisk-Installation und ein Git-Repository, das Ihre Konfigurationsdateien enthält.
Wenn Ihr Konfigurationsrepository privat ist (empfohlen), sollten Sie die SSH-Agentenweiterleitung einrichten, damit die Git-Aufgabe Ihre SSH-Schlüssel nutzen kann, ohne dass Sie diese auf dem Asterisk-Server zurücklassen müssen:
https://developer.github.com/v3/guides/using-ssh-agent-forwarding/
Wenn mehrere Benutzer diese Rolle anwenden, stellen Sie sicher, dass Sie sie alle einer Gruppe hinzufügen und den Gruppennamen über die Variable asterisk_config_deploy_group an die Rolle übergeben.
Rollenvariablen
Siehe defaults/main.yml.
Abhängigkeiten
Keine erforderlichen Abhängigkeiten. Wählen Sie Ihre bevorzugte Methode zur Installation von Asterisk. Möglicherweise möchten Sie sich auch ansehen:
https://galaxy.ansible.com/LukasGibb/asterisk/
Beispiel-Playbook
Offensichtlich müssen Sie Ihre Git-Repository-Details übergeben (nicht die Beispiel-/Standardwerte):
- hosts: pabxservers
vars:
asterisk_config_deploy_repo_protocol: "ssh://"
asterisk_config_deploy_repo_url: "github.com/myusername/myprivateasteriskconfigrepo"
asterisk_config_deploy_repo_subfolder: "asterisk-config"
asterisk_config_deploy_repo_override_subfolder: "asterisk-config/pbx1"
roles:
- LukasGibb.asterisk
- LukasGibb.asterisk-config-deploy
Lizenz
MIT
Autorinformationen
Diese Rolle wurde 2018 von: Lukas Gibb CloudJourneyman.com erstellt.
An Ansible role that deploys Asterisk config, sounds and moh files
ansible-galaxy install LukasGibb.asterisk-config-deploy