Temgo
Temgo ist eine einfache und dadurch schnelle Templating-Engine für die Shell. Platzhalter werden mit Werten aus Umgebungsvariablen ersetzt. Sehr hilfreich bei Deployments auf unterschiedliche Server / Umgebungen, z.B. von CI-Systemen aus.
Installation
Die Installation kann zum Beispiel über ein einfaches Shellscript erfolgen:
temgo_latest="$( curl -s ${TG_API_URL} | \
jq -r ".assets[] | select(.name | test(\"tg\")) | .browser_download_url" )"
curl -s -o /usr/local/bin/tg -L ${temgo_latest}
chmod +x /usr/local/bin/tg
type -p tg
Verwendung
Die Konfigurationsdatei für den einfachen SMTP-Server msmtp kann zum Beispiel parametrisiert werden:
...
account default
host {{ SMTP_HOST }}
from {{ SMTP_FROM }}
auth on
port 25
user {{ SMTP_USER }}
password {{ SMTP_PASS }}
...
Mit folgendem Aufruf:
tg -s < /app/msmtpconfig.tmpl > /app/msmtpconfig
wird sie zu einsatzfähiger Konfigurationsdatei:
...
account default
host smtp.example.com
from me@example.com
auth on
port 25
user smtp-user
password smtp-pass
...
Vorausgesetzt ist natürlich, dass die Umgebungsvariablen SMTP_HOST, SMTP_FROM, SMTP_USER, SMTP_PASS gesetzt sind.