Điểm:0

ansible: kích hoạt cùng một trình xử lý từ nhiều vai trò ở cuối playbook

lá cờ in

Playbook ansible của tôi bao gồm một số vai trò, ví dụ chuồng bồ câu, hậu tố, postgresrspamd. Tất cả chúng đều yêu cầu chứng chỉ SSL, được tạo bởi certbot (cho phép mã hóa) vai trò. Vì lý do này và để xử lý dễ dàng hơn, tất cả các vai trò đều tuân theo cùng một cấu trúc dữ liệu để xác định chứng chỉ SSL với các yêu cầu khác nhau:

certbot_domains: []

dovecot_domains: 
- tên: imap1.example.com
  subject_alternative_names: []
- tên: imap1.department-a.example.com
  subject_alternative_names: []
- tên: pop3.example.com
  subject_alternative_names: []
- tên: pop3.department-a.example.com
  subject_alternative_names: []

postfix_domains:
- tên: smtp1.example.com
  chủ đề_thay thế_names:
  - smtp1.department-a.example.com

postgres_domain: 
- tên: postgres.example.com
  subject_alternative_names: []

rspamd_domain:
- tên: rspamd.example.com
  chủ đề_thay thế_names: 
  - rspamd.department-a.example.com

Tuy nhiên, tôi muốn tránh bao gồm vai trò certbot trong vai trò chuồng bồ câu, hậu tố, postgresrspamd tự động tạo chứng chỉ, vì mỗi lần sẽ được cài đặt nginx, tệp vhosts.conf cho từng tên miền và một số đoạn trích để cung cấp đường dẫn /.well-known/acme-challange như bí danh.

Để tránh mỗi lần cài đặt nginx, định cấu hình các đoạn mã, v.v. nên là các tác vụ chỉ chạy một lần. biến certbot_domains sẽ được gia hạn bởi dovecot_domains, postfix_domains, postgres_domainsrspamd_domains và việc cài đặt nginx và vhost của chúng sẽ là nhiệm vụ cuối cùng. Có lẽ đồ họa sau đây có thể mô tả vấn đề chính xác hơn.

nhập mô tả hình ảnh ở đây

Nếu đã có thứ gì đó từ ansible, tôi sẽ rất biết ơn về một đoạn mã nhỏ giúp giải pháp dễ hiểu hơn.

Zeitounator avatar
lá cờ fr
Sau khi đọc câu hỏi của bạn nhiều lần trong những ngày qua, tôi không rõ liệu bạn có muốn chạy một trình xử lý cụ thể sau tất cả các tác vụ hay chỉ cần đảm bảo rằng bạn không chạy cùng một vai trò hai lần hoặc . 2 xu của tôi: tạo một [MCVE](/help/mcve) để minh họa vấn đề chính xác của bạn.
Volker Raschek avatar
lá cờ in
Xin chào @Zeitounator, tôi đã mô tả vấn đề chi tiết hơn. Tôi hy vọng nó bây giờ dễ hiểu hơn
Zeitounator avatar
lá cờ fr
bạn xác định chính xác các miền certbot ở đâu (trong kho, trong playbook của bạn ...?) và các vai trò "không phải certbot" sử dụng thông tin đó chính xác như thế nào và cho nhiệm vụ nào?
Volker Raschek avatar
lá cờ in
Biến `certbot_domains` được xác định trong `roles/certbot/default/main.yaml`. Đối với vai trò "không phải certbot", nếu chúng giống như thiết lập người dùng unix hoặc cập nhật vai trò hệ thống chẳng hạn, thì không cần phải có var `certbot_domain`.
Zeitounator avatar
lá cờ fr
Vậy thì tôi thực sự không hiểu vấn đề là gì. Những vai trò đó là hoàn toàn độc lập. Chỉ cần chạy chúng theo thứ tự bạn muốn.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.