<div dir="ltr">Fin de journée, je vais peut être dire des bétises ^^<div>Tu as pensé à prendre ton problème à l'envers ?</div><div><br></div><div>pillar/dev_appli1/apache.sls</div><div>pillar/dev_appli1/database.sls</div><div>pillar/dev_appli1/cron.sls</div><div>pillar/dev_appli1/init.sls (avec les includes approprié ex :</div><div><br></div><div><font face="monospace, monospace">cat init.sls</font></div><div><font face="monospace, monospace">include:</font></div><div><font face="monospace, monospace">  -.cron</font></div><div><font face="monospace, monospace">  -.apache</font></div><div><font face="monospace, monospace">  -.database</font></div><div><br></div><div>T'as ensuite juste à faire include le bon pillar avec ton match grain</div><div><br></div><div>my 2 cents.</div></div><div class="gmail_extra"><br clear="all"><div><div class="gmail_signature"><div dir="ltr"><div><div dir="ltr"><br>-- Anthony Martinet</div><div dir="ltr"><br><a href="https://www.alkivi.fr/" target="_blank">alkivi.fr</a><br></div></div></div></div></div>
<br><div class="gmail_quote">2015-11-18 16:36 GMT+01:00 Adnan Aita <span dir="ltr"><<a href="mailto:adnan.aita@gmail.com" target="_blank">adnan.aita@gmail.com</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_quote"><br><div dir="ltr">Hello,<div><br></div><div>je bute sur un petit soucis d'ordre idéologique.</div><div><br>J'ai des formules qui me gère proprement mes installs BDD et Apache, etc.</div><div><br></div><div>j'essaie maintenant de m'assurer que les bonnes bases sont déployées au bon endroit en fonction des applicatifs et des versions d'environnement sachant que :</div><div> * en dev, j'ai souvent les bases et les httpd sur la même machine</div><div> * en test, c'est mixed</div><div> * en prod c'est toujours séparés</div><div><br></div><div>Ce que j'ai fait :</div><div><br></div><div>* dans mes pillar, j'ai un folder apache (c'est pareil pour les BDD) qui contient les données de confs pour mon vhost ou pour la base en question. ils sont tous du type <env>_<nom appli>.</div><div><br></div><div>ex : $> ls /srv/salt/pillar/apache :</div><div>dev_appli1.sls</div><div>dev_appli2.sls</div><div>...</div><div>        $> ls /srv/salt/pillar/database:</div><div>dev_appli1.sls</div><div>dev_appli2.sls</div><div><br></div><div>* Dans les /etc/salt/grains de mes minions, je defini webenv:<env>_<nom appli> en fonction de ce dont j'ai besoin, ainsi que le ou les roles (webserver, database ou les deux comme pour les serveurs de tests par exemple)</div><div><div><br></div><div>Ex de grain :</div><div><div>roles:</div><div>  - webserver</div><div>  - database</div><div><br></div><div>webenv:</div><div>  - dev_appli1</div></div><div>  - dev_appli2</div></div><div><br></div><div>Ça fonctionne bien aujourd'hui si dans le top.sls je fait un match grain, sur webenv:<env>_<nom appli> pour définir à chaque fois ce que je veux, le soucis c'est que j'ai bcp bcp d'applications, et je trouve le top file bien trop gros.</div><div><br></div><div>exemple : $> cat top.sls</div><div>base: </div><div>  [...]</div><div><div>  'webenv:dev_appli1':</div><div>    - match: grain</div><div>    - apache.dev_appli1</div><div>    - databases.dev_appli1</div><div>    - crons.dev_appli1</div></div><div><br></div><div><div>  'webenv:dev_appli2':</div><div>    - match: grain</div><div>    - apache.dev_appli2</div><div>   [...]<br></div></div><div><br></div><div>Voici donc mes questions :</div><div>1/ J'ai essayé de faire en sorte de "déporter" les match grain pour les vhosts par exemple dans un apache.sls dans mes pillar, le soucis est que je n'arrive pas à inclure correctement quand je mix un 'include' avec un (match grain). Si quelqu'un l'a déjà fait, je veux bien un exemple</div><div><br></div><div><br></div><div>2/ j'ai essayé de passer via jinja pour inclure les env via une boucle</div><div><br></div><div><div>    {% for env in salt['grains.get']('webenv', {}) %}</div><div>    - apache.{{ env }}</div><div>    {% endfor %}   ## LOOP : Install the Vhosts based on grains</div></div><div><br></div><div>C'est top, ca marche, mais j'ai le pb suivant :</div><div>* Toutes les applis n'ont pas de base, donc quand je fais pareil avec mes bases, il n'est pas content des fichiers .sls non existant pour ces bases qui n'existent pas.</div><div>* Si je crée un fichier vide avec par exemple juste (## No database) dans le fichier, j'ai le même soucis. Et à supposer que ca soit la solution, ca va me faire créer un packet de fichier vide car je compte gérer de la même facon le déploiement des crons, etc. </div><div><br></div><div>3/ J'ai regardé pour utiliser les env de salt directement, mais je suis pas très fan, car je me perd vite vu le nombre de state, je trouve la feature topissime mais que si on a que quelques chaines très correctement identifiées (et aujourd'hui c'est encore un peu le KO) donc je met cette option de coté.</div><div><br></div><div>Je suis aussi preneur d'une autre idée.</div><div><br></div><div>bref, si certains d'entre vous on déjà eu cette problématique, je suis preneur d'un retour d’expérience et d'un peu d'info.</div><div><br>Merci</div><span class="HOEnZb"><font color="#888888"><span><font color="#888888"><div><br></div><div>Adnan</div><div><br></div></font></span></font></span></div>
</div><br></div>
<br>_______________________________________________<br>
Salt-fr mailing list<br>
<a href="mailto:Salt-fr@lists.afpy.org">Salt-fr@lists.afpy.org</a><br>
<a href="http://lists.afpy.org/listinfo/salt-fr" rel="noreferrer" target="_blank">http://lists.afpy.org/listinfo/salt-fr</a><br>
<br></blockquote></div><br></div>