Imaginez que vous ayez un fichier comme un Python standard requirements.txt mais au lieu de lister les paquets Python, il répertorie les paquets Ubuntu. Dans sa forme la plus simple, il serait juste une liste de noms de paquets avec sauts de ligne délimiteurs:Sel: installez plusieurs paquets qui ont été * répertoriés dans un fichier *
# apt-requirements.txt
git
python3.5
python3.5-dev
libssl-dev
Maintenant, si vous vouliez installer ces paquets avec un état salt
en regardant le fichier lors de l'exécution? Voici une façon dont je peux imaginer le faire:
apt-requirements.txt_installed:
pkg.installed:
- pkgs:
{% for line in salt['cmd.run']('cat ' + my_file).splitlines() %}
- {{ line.strip() }}
{% endfor %}
Cela semble terrible, cependant. En plus d'être moche, le fichier doit être présent au moment du rendu, ce qui est une nuisance sérieuse.
Est-ce que quelqu'un a une meilleure recette?
Ce fichier se trouvera-t-il dans le ** salt-minion ** ou dans le ** salt-master **? – alejdg
@alejdg Le minion – BrianTheLion
J'ai une exigence similaire pour un Dockerfile, où j'utilise 'awk -vORS =" "'{print $ 1}' apt-requirements.txt | xargs apt-get install -y – hoijui