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
  • Softwaredownloads aus dem Internet
  • Software lokal speichern und ausliefern
  1. Salt für Windows

Software Repository

Legen Sie einen Ordnder an, in welchem die Windows-Software gespeichert wird. Der vorgesehene Standard ist /srv/salt/win/repo-ng.

mkdir -p /srv/salt/win/repo-ng

Softwaredownloads aus dem Internet

Legen Sie als nächstes eine Beschreibung einer Software an. Anhand dieser Beschreibung weiß der Minion, welche Versionen verfügbar sind und die Software installiert wird. Beispiel Firefox, welcher bei jeder Installation aus dem Internet geladen wird.

/srv/salt/win/repo-ng/firefox.sls
firefox:
  {% if grains['cpuarch'] == 'AMD64' %}
    {% set PROGRAM_FILES = "%ProgramFiles(x86)%" %}
  {% else %}
    {% set PROGRAM_FILES = "%ProgramFiles%" %}
  {% endif %}
  {% for version in ['66.0.5','66.0.1', '66.0', '65.0.2', '65.0.1'] %}
  '{{ version }}':
    full_name: 'Mozilla Firefox {{ version }} (x86 en-US)'
    installer: 'https://download-installer.cdn.mozilla.net/pub/firefox/releases/{{ version }}/win32/en-US/Firefox%20Setup%20{{ version }}.exe'
    install_flags: '/s'
    uninstaller: '{{ PROGRAM_FILES }}\Mozilla Firefox\uninstall\helper.exe'
    uninstall_flags: '/S'
    msiexec: False
    locale: en_US
    reboot: False
  {% endfor %}

Prüfen Sie Sie das Repoistory beispielweise mit dem folgenden Kommando, welches auflistet, welche Firefox Version vom Salt Master bereit gehalten werden.

salt -G "os:windows" pkg.refresh_db
salt -G "os:windows" pkg.list_available firefox

Wenn dieser Schritt erfolgreich war, können Sie Firefox per Modul oder State installieren.

salt -G "os:windows" pkg.install firefox
/srv/salt/windows/base-software.sls
firefox:
  pkg.installed: []

Software lokal speichern und ausliefern

Zur Schnung der Bandbreite oder aus Sicherheitsgründen ist es nicht immer ratsam, Software direkt aus dem Internet zu laden. Sie können diese auf dem Salt Master speichern und von dort verteilen.

Laden Sie beispielweise die 64bit Windows-Version von VSCode auf den Salt Master herunter.

mkdir -p /srv/salt/win/repo-ng/vscode
cd /srv/salt/win/repo-ng/vscode
wget "https://az764295.vo.msecnd.net/stable/51b0b28134d51361cf996d2f0a1c698247aeabd8/VSCodeSetup-x64-1.33.1.exe"
/srv/salt/win/repo-ng/vscode/init.sls
# due to winrepo installer limitations you need to manually download x86 + x64 System installer from
# https://code.visualstudio.com/Download
# and put it on the winrepo on master to install it the 'salt://win/repo-ng/vscode/...

{% set version = '1.33.1' %}
{% set PROGRAM_FILES = "%ProgramFiles%" %}

vscode:
  '{{version}}':
    full_name: 'Microsoft Visual Studio Code'
    installer: 'salt://win/repo-ng/vscode/VSCodeSetup-x64-{{ version }}.exe'
    uninstaller: 'C:\{{ PROGRAM_FILES }}\Microsoft VS Code\unins000.exe'
    install_flags: '/SP- /VERYSILENT /NORESTART /MERGETASKS=!RUNCODE'
    uninstall_flags: '/VERYSILENT /NORESTART'
    msiexec: False
    locale: en_US
    reboot: False
salt -G "os:windows" pkg.refresh_db
salt -G "os:windows" pkg.list_available vscode
PreviousLokales Logon SkriptNextBeispiele

Last updated 6 years ago

Download von VSCode
VScode wurde installiert