# Hosts Pillars

Wenn Sie Pillar-Werte nur für einen Host anlegen möchten, oder globale Pillars host-spezifisch überschreiben möchten, bieten sich sogenannte File-Tree-Pillars an.

Legen Sie eine Datei `/etc/salt/master.d/ext-pillar.conf` wie folgt an und starten Sie den Master neu.

{% code title="/etc/salt/master.d/ext\_pillar.conf" %}

```yaml
ext_pillar:
  - file_tree:
      root_dir: /srv/pillar
      render_default: yaml
      template: True
```

{% endcode %}

{% hint style="info" %}
Achten Sie auf die korrekte Einrückung, die inkosistent erscheinen mag. `root_dir` und die nachfolgenden Zeilen sind 3-fach eingerückt.
{% endhint %}

Nach dem Neustart des Masters legen Sie das Basisverzeichnis `/srv/pillar/hosts` an, indem Sie nun für jeden Minion einen Ordner anlegen können. Existiert der Ordner, werden alle Datei als Yaml-Dateien eingelesen.

Legen Sie z.B. die Datei `/srv/pillar/hosts/<MINION-ID>/backup` mit folgendem Inhalt an:

```yaml
include:
  - /etc
  - /root
  - /var/www
exclude:
  - /etc/ssl
```

Testen Sie es auf einem Minion mit `salt-call pillar.fetch backup` oder auf dem Master mit `salt <MINION-ID> pillar.items`.

Sie können einen allgemeingültigen Standardwert über `/srv/pillar/top.sls` und dort inkludierte Dateien definieren und diese pro Host durch Anlegen einer entsprechenden Datei im Ordner `/srv/pillar/hosts/<MINION_ID>/<KEY>` überschreiben.

{% hint style="info" %}
Die host-spezifischen Pillars haben Vorrang.
{% endhint %}
