Ich möchte mehrere Konfigurationsdateien für jeden openvpn-Benutzer generieren. Ich habe die IP-Adresse und zusätzliche Konfiguration in Säule.
Zum Beispiel:
openvpn:
- user1:
ip: 1.2.3.4
config:
- line1
- line2
In der SLS möchte ich etwas tun wie:
{% for vpnuser in salt['pillar.get']('openvpn') %}
/etc/openvpn/ccd/{{ vpnuser }}:
file.managed:
- template: jinja
- source: salt://openvpn/ccdtemplate
{% endfor %}
und in der ccdtemplate möchte ich die Konfiguration in Abhängigkeit vom Benutzer und den in der Säule gespeicherten Konfigurationsdaten für diesen Benutzer generieren.
Dafür müsste ich aber den Inhalt der Variablen 'vpnuser' vom Staat kennen.
Ist es möglich, Variablen aus einem Zustand an die Jinja-Vorlage zu übergeben?
context
Option genauso verwenden wiedefaults
, was etwas verwirrend ist. Sie versuchen so zu klären: "Die allgemeine bewährte Methode besteht darin, Standardwertedefaults
mit bedingten Überschreibungen zu platzierencontext
."