/ Shell

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.