Saltstack
  • Willkommen
  • Einführung
  • Testumgebung
    • Salt-Master öffentlicher FQDN
  • Salt installieren
    • Minions und Master "verheiraten"
  • Salt Module
    • Beispiel Benutzer anlegen
    • Dateien hin und her kopieren
  • Salt States
    • Yaml verstehen
    • Editoren anpassen
    • Beispiel Benutzer verwalten
    • Abhängigkeiten
    • Dateien editieren
    • Shell Kommandos
    • Beispiel Caddy Webserver
  • Linter
  • Minions adressieren
    • Grains
    • Hostgruppen - Node Groups
  • Jinja
    • Beispiel Caddy PHP
  • top.sls
  • Output
  • Pillars
    • Hosts Pillars
    • GPG
    • Vault
    • Datenbanken
    • Beispiel Benutzerverwaltung
  • Salt-Mine
  • Eigene Module erstellen
  • Orchestrierung
  • Returner & Job-Cache
  • Salt SSH
  • Salt API
  • Salt Cloud
    • Hinweise und Fallen
    • KVM und Libvirt
    • Scaleway
    • Digitalocean
    • Hetzner Cloud
    • eigene Deploymentscripte
    • Dynamische Portforwarding
    • Keys automatisch aufräumen
    • Start Aktionen
  • GIT
    • Alternative CD
  • Salt Reactor
  • Salt für Windows
    • Software ohne Repository installieren
    • PowerShell
    • Chocolatey Paktemanager
    • Lokales Logon Skript
    • Software Repository
  • Beispiele
    • Restic Backup
    • Apache Web-Proxy
    • Wartungstunnel
    • Unattended Upgrades
  • Salt & Etcd
  • Salt ACS
Powered by GitBook
On this page
  • Beispiel Message of the day
  • Trockenübung
  1. Salt States

Dateien editieren

Der Salt-Master übernimmt die Kontrolle über Dateien auf den Minion

Zahlreiche State-Module ermöglichen das Kopieren, Ändern, Anlegen und Löschen von Dateien auf den Minion.

Beispiel Message of the day

/srv/salt/init/motd.sls
#
# Disable Ubuntu Ads
#
/etc/update-motd.d/80-livepatch:
  file.managed:
    - mode: 0644

/etc/update-motd.d/50-motd-news:
  file.managed:
    - mode: 0644

#
# Add a new section to the motd
#
/etc/update-motd.d/96-salt:
  file.managed:
    - contents: |
        #!/bin/sh
        echo "##########################################"
        echo ""
        echo " This system is managed by Salt"
        echo " Files might be overwritten at any time"
        echo ""
        echo "##########################################"
    - mode: 0755

Achten Sie auf die sechsfache Einrückung des Text-Blockes. Bei einer nur sechsfachen Einrückung würden die Kommentarzeichen als Yaml-Kommentare gewertet, was zu einem Syntaxfehler führt.

Trockenübung

/srv/salt/file-examples.sls
#
# Just create and change a file
#
create:
  file.managed:
    - name: /tmp/file1.txt
    - contents: This file is managed by salt

append:
  file.append:
    - name: /tmp/file1.txt
    - text: This is the second line of the file

insert:
  file.line:
    - name: /tmp/file1.txt
    - content: >- 
        This is line: #0 
        It's just a single line with special characters
    - mode: ensure
    - before: ^This file is managed by salt
    
copy:
  file.managed:
    - name: /tmp/file-examples.txt
    - source: salt://file-examples.sls
    - mode: 0644

Beachten Sie die Syntax content: >- Was Sie in Yaml über mehrere Zeilen eingeben, wird am Ziel in eine Zeile ohne Umbruch geschrieben. Achten Sie auf die sechsfache Einrückung.

Dateien, die Sie vom Master auf die Minions kopieren möchten, müssen sich innerhalb von file_roots i.d.R. /srv/salt befinden und werden relativ zu diesem Ordner angegeben.

PreviousAbhängigkeitenNextShell Kommandos

Last updated 6 months ago

6-fache Einrückung, um Blöcke als Nicht-Yaml zu kennzeichnen