StackStorm ist eine ereignisgesteuerte Software-Lösung für die Routine-Automatisierung. Es unterstützt das Prinzip Infrastruktur-als-Code (IaC) bzgl. DevOps. Verglichen werden kann es mit Alternativen wie Ansible oder SaltStack. Das Pendant für Endnutzer zu StackStorm ist IFTTT, Integromat oder Zapier. StackStorm ist geschrieben in Python und bietet eine breite Palette an Modulen für alle denkbaren Anwendungsfälle in der IT.
Installation
Das Installieren von unserem Paket für StackStorm ist denkbar einfach. Voraussetzung hierfür ist lediglich eine funktionierende Instanz von StackStorm. Ist diese vorhanden, muss nur noch der Befehl st2 pack install https://github.com/sms77io/StackStorm
in einem Terminal ausgeführt werden.
Konfiguration
Die Beispielkonfiguration sms77.yaml.dist muss nach /opt/stackstorm/configs/sms77.yaml kopiert werden und der Schlüssel api_key mit einem Schnittstellenschlüssel von sms77 ergänzt werden. Dieser kann im Entwickler-Cockpit angelegt bzw. eingesehen werden.
Die Konfigurationsdatei unterstützt auch dynamische Werte – siehe Dokumentation.
Wichtig: Nach abgeschlossener Konfiguration müssen wir StackStorm über neue Werte benachrichtigen, in dem wir st2ctl reload --register-configs
im Terminal ausführen.
Actions
Im Folgenden werden die implementierten Actions erläutert. Jede Action spricht einen anderen Endpunkt der Schnittstelle an.
send_sms
Diese Action versendet SMS. Mehrere Ziele können per Komma separiert angegeben werden.
Beispiel: st2 run sms77.send_sms to="01716992343,491771783130" text=HI2U from=Absenderkennung flash=true performance_tracking=true sandbox=false no_reload=true label=MeinLabel foreign_id=MeineForeignID delay="2022-11-29 14:15:30"
send_voice
send_voice – Diese Aktion wandelt einen Text um in Sprache und spielt diesen der gegebenen Rufnummer vor.
Beispiel: st2 run sms77.send_voice to=+491716992343 text='Systemausfall!' from=+491771783130 xml=false
GitHub
Bei sms77 für StackStorm handelt es sich um ein quelloffenes Produkt. Der Quellcode kann jederzeit auf den folgenden Links abgerufen werden.
[GitHub repo=’StackStorm’ lang=’de’]