2017-09-14 7 views
0

Je ne suis qu'un débutant avec SaltStack. Je peux voir qu'il existe un module pkgrepo qui peut être utilisé pour configurer un repo de paquetage afin d'y installer un paquet.Comment ajouter un remo de paquet et une clé à apt avec saltstack?

https://docs.saltstack.com/en/latest/ref/states/all/salt.states.pkgrepo.html

Un exemple donné il y a:

base: 
    pkgrepo.managed: 
    - humanname: Google Chrome 
    - name: deb http://dl.google.com/linux/chrome/deb/ stable main 
    - dist: stable 
    - file: /etc/apt/sources.list.d/chrome-browser.list 
    - require_in: 
     - pkg: google-chrome-stable 
    - gpgcheck: 1 
    - key_url: https://dl-ssl.google.com/linux/linux_signing_key.pub 

Ce que je ne comprends pas où est-ce que je mets le code ci-dessus? J'ai essayé dans le fichier /srv/salt/top.sls, et dans d'autres fichiers .sls d'état, mais ce n'est pas correct. Comment est-il fait?

Répondre

1

Vous voulez essentiellement savoir comment utiliser les états SaltStack. Ceci est documenté au https://docs.saltstack.com/en/latest/topics/tutorials/starting_states.html.

Pour tester ce code, vous devez:

  • créer un nouveau fichier contenant le code sls, par exemple testrepo.sls
  • exécuter cet état avec la commande salt.

Exemple:

salt 'hostname.domainname' state.sls testrepo 

hostname.domainname est le nom du minion (client saltstack) que vous souhaitez configurer, tel que rapporté par salt-key. Dans les exemples donnés, base est le nom de l'état. Cela doit être unique. Donc, base était un très mauvais choix à utiliser dans les docs, car il peut vous confondre avec la syntaxe des fichiers sls haut, documentée ici:

Donc, pour installer google-chrome, pour prendre votre exemple, vous ' d créer un fichier d'état comme ce qui suit:

google_chrome_repository: 
    pkgrepo.managed: 
    - humanname: Google Chrome 
    - name: deb http://dl.google.com/linux/chrome/deb/ stable main 
    - dist: stable 
    - file: /etc/apt/sources.list.d/chrome-browser.list 
    - gpgcheck: 1 
    - key_url: https://dl-ssl.google.com/linux/linux_signing_key.pub 

google-chrome-stable: 
    pkg.installed: 
    - require: 
     - pkgrepo: google_chrome_repository 

Notez que je change la déclaration requise d'un require_in à un require qui ont plus de sens ici, à mon avis, si vous avez plus d'un paquet à installer à partir de ce dépôt. Les exigences sont documentées ici: https://docs.saltstack.com/en/latest/ref/states/requisites.html