Puncte:0

ansible: declanșează același handler din mai multe roluri la sfârșitul playbook-ului

drapel in

Caietul meu de joc ansible include mai multe roluri, de exemplu porumbar, postfix, postgres și rspamd. Toate necesită certificate SSL, care sunt generate de certbot (permite criptare) rol. Din acest motiv și pentru o manipulare mai ușoară, toate rolurile urmează aceeași structură de date pentru a defini certificate SSL cu cerințe diferite:

certbot_domains: []

dovecot_domains: 
- nume: imap1.example.com
  nume_alternative_subiect: []
- nume: imap1.department-a.example.com
  nume_alternative_subiect: []
- nume: pop3.example.com
  nume_alternative_subiect: []
- nume: pop3.department-a.example.com
  nume_alternative_subiect: []

postfix_domains:
- nume: smtp1.example.com
  nume_alternative_subiect:
  - smtp1.department-a.example.com

postgres_domains: 
- nume: postgres.example.com
  nume_alternative_subiect: []

rspamd_domains:
- nume: rspamd.example.com
  nume_alternative_subiect: 
  - rspamd.department-a.example.com

Cu toate acestea, vreau să evit să includ rolul certbot în roluri porumbar, postfix, postgres și rspamd care creează automat certificatul, deoarece de fiecare dată va fi instalat nginx, fișiere vhosts.conf pentru fiecare domeniu și câteva fragmente pentru a furniza calea /.cunoscut/acme-challange ca alias.

Pentru a evita de fiecare dată instalarea nginx, configurați fragmentele și așa mai departe, sarcinile ar trebui să fie rulate o singură dată. Variabila certbot_domains va fi prelungit de porumbele_domenii, postfix_domains, postgres_domains și rspamd_domains iar instalarea nginx și a vhost-urilor lor ar trebui să fie ultima sarcină. Poate că următorul grafic poate descrie problema mai precis.

introduceți descrierea imaginii aici

Dacă există deja ceva de la ansible, aș fi foarte recunoscător pentru un mic fragment care face soluția mai de înțeles.

Zeitounator avatar
drapel fr
După ce ți-am citit întrebarea de mai multe ori în ultimele zile, nu sunt foarte clar dacă vrei să rulezi un anumit handler după toate sarcinile sau doar să te asiguri că nu rulezi același rol de două ori sau . My 2cent: creați un [MCVE](/help/mcve) pentru a ilustra problema dvs. exactă.
Volker Raschek avatar
drapel in
Bună @Zeitounator, am descris problema mai detaliat. Sper că acum este mai de înțeles
Zeitounator avatar
drapel fr
unde exact definiți domeniile certbot (în inventar, în playbook-ul dvs....?) și cum exact și pentru ce sarcini rolurile „non-certbot” folosesc aceste informații?
Volker Raschek avatar
drapel in
Varianta `certbot_domains` este definită în `roles/certbot/default/main.yaml`. Pentru rolurile „non-certbot”, dacă sunt ca configurarea utilizatorilor Unix sau actualizarea rolurilor de sistem, de exemplu, nu este necesar varul `certbot_domain`.
Zeitounator avatar
drapel fr
Ei bine, atunci chiar nu înțeleg care este problema. Aceste roluri sunt total independente. Rulați-le în ordinea dorită.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.