เจœเจตเจพเจฌ เจตเจฟเฉฑเจš เจตเฉ‡เจฐเฉ€เจเจฌเจฒเจพเจ‚ เจฒเจˆ เจธเจฟเจธเจŸเจฎ เจชเจนเฉเฉฐเจš

เจœเจตเจพเจฌเจฆเฉ‡เจน เจกเจฟเจตเฉ‹เจชเจธ เจ•เฉ‹เจกเจธเจŸเจพเจˆเจฒ

เจนเฉ‡! เจฎเฉ‡เจฐเจพ เจจเจพเจฎ เจนเฉˆ เจกเฉ‡เจจเจฟเจธ เจ•เจฒเจฏเฉเจœเจผเจจเฉ€ เจฎเฉˆเจ‚ เจตเจฟเจ•เจพเจธ เจชเฉเจฐเจ•เจฟเจฐเจฟเจ† เจ†เจŸเฉ‹เจฎเฉ‡เจธเจผเจจ เจตเจฟเจญเจพเจ— เจตเจฟเฉฑเจš เจ‡เฉฑเจ• เจ‡เฉฐเจœเฉ€เจจเฉ€เจ…เจฐ เจตเจœเฉ‹เจ‚ เจ•เฉฐเจฎ เจ•เจฐเจฆเจพ เจนเจพเจ‚เฅค เจนเจฐ เจฐเฉ‹เจœเจผ, เจธเฉˆเจ‚เจ•เฉœเฉ‡ เจฎเฉเจนเจฟเฉฐเจฎ เจธเจฐเจตเจฐเจพเจ‚ 'เจคเฉ‡ เจจเจตเฉ‡เจ‚ เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจฌเจฟเจฒเจกเจพเจ‚ เจจเฉ‚เฉฐ เจฐเฉ‹เจฒ เจ†เจŠเจŸ เจ•เฉ€เจคเจพ เจœเจพเจ‚เจฆเจพ เจนเฉˆเฅค เจ…เจคเฉ‡ เจ‡เจธ เจฒเฉ‡เจ– เจตเจฟเฉฑเจš เจฎเฉˆเจ‚ เจ‡เจนเจจเจพเจ‚ เจ‰เจฆเฉ‡เจธเจผเจพเจ‚ เจฒเจˆ เจœเจตเจพเจฌเจฆเฉ‡เจน เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจจ เจฆเจพ เจ†เจชเจฃเจพ เจ…เจจเฉเจญเจต เจธเจพเจ‚เจเจพ เจ•เจฐเจฆเจพ เจนเจพเจ‚เฅค

เจ‡เจน เจ—เจพเจˆเจก เจคเฉˆเจจเจพเจคเฉ€ เจตเจฟเฉฑเจš เจตเฉ‡เจฐเฉ€เจเจฌเจฒเจพเจ‚ เจจเฉ‚เฉฐ เจธเฉฐเจ—เจ เจฟเจค เจ•เจฐเจจ เจฆเจพ เจ‡เฉฑเจ• เจคเจฐเฉ€เจ•เจพ เจชเฉ‡เจธเจผ เจ•เจฐเจฆเฉ€ เจนเฉˆเฅค เจ‡เจน เจ—เจพเจˆเจก เจ‰เจนเจจเจพเจ‚ เจฒเจˆ เจนเฉˆ เจœเฉ‹ เจชเจนเจฟเจฒเจพเจ‚ เจนเฉ€ เจ†เจชเจฃเฉ€เจ†เจ‚ เจชเจฒเฉ‡เจฌเฉเฉฑเจ•เจพเจ‚ เจตเจฟเฉฑเจš เจญเฉ‚เจฎเจฟเจ•เจพเจตเจพเจ‚ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเฉ‡ เจนเจจ เจ…เจคเฉ‡ เจชเฉœเฉเจน เจšเฉเฉฑเจ•เฉ‡ เจนเจจ เจตเจงเฉ€เจ† เจ…เจญเจฟเจ†เจธ, เจชเจฐ เจธเจฎเจพเจจ เจธเจฎเฉฑเจธเจฟเจ†เจตเจพเจ‚ เจฆเจพ เจธเจพเจนเจฎเจฃเจพ เจ•เจฐเจจเจพ เจชเฉˆเจ‚เจฆเจพ เจนเฉˆ:

  • เจ•เฉ‹เจก เจตเจฟเฉฑเจš เจ‡เฉฑเจ• เจตเฉ‡เจฐเฉ€เจเจฌเจฒ เจฒเฉฑเจญเจฃ เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ, เจ‡เจน เจคเฉเจฐเฉฐเจค เจธเจฎเจเจฃเจพ เจ…เจธเฉฐเจญเจต เจนเฉˆ เจ•เจฟ เจ‡เจน เจ•เจฟเจธ เจฒเจˆ เจœเจผเจฟเฉฐเจฎเฉ‡เจตเจพเจฐ เจนเฉˆ;
  • เจ‡เฉฑเจฅเฉ‡ เจ•เจˆ เจญเฉ‚เจฎเจฟเจ•เจพเจตเจพเจ‚ เจนเจจ, เจ…เจคเฉ‡ เจตเฉ‡เจฐเฉ€เจเจฌเจฒเจพเจ‚ เจจเฉ‚เฉฐ เจ‡เฉฑเจ• เจฎเฉเฉฑเจฒ เจจเจพเจฒ เจœเฉ‹เฉœเจจ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉˆ, เจชเจฐ เจ‡เจน เจ•เฉฐเจฎ เจจเจนเฉ€เจ‚ เจ•เจฐเจฆเจพ;
  • เจฆเฉ‚เจœเจฟเจ†เจ‚ เจจเฉ‚เฉฐ เจธเจฎเจเจพเจ‰เจฃ เจตเจฟเฉฑเจš เจฎเฉเจธเจผเจ•เจฒ เจ† เจฐเจนเฉ€ เจนเฉˆ เจ•เจฟ เจคเฉเจนเจพเจกเฉ€เจ†เจ‚ เจชเจฒเฉ‡เจฌเฉเฉฑเจ•เจพเจ‚ เจตเจฟเฉฑเจš เจตเฉ‡เจฐเฉ€เจเจฌเจฒเจพเจ‚ เจฆเจพ เจคเจฐเจ• เจ•เจฟเจตเฉ‡เจ‚ เจ•เฉฐเจฎ เจ•เจฐเจฆเจพ เจนเฉˆ

เจธเจพเจจเฉ‚เฉฐ เจธเจพเจกเฉ€ เจ•เฉฐเจชเจจเฉ€ เจตเจฟเฉฑเจš เจชเฉเจฐเฉ‹เจœเฉˆเจ•เจŸเจพเจ‚ เจตเจฟเฉฑเจš เจ‡เจนเจจเจพเจ‚ เจธเจฎเฉฑเจธเจฟเจ†เจตเจพเจ‚ เจฆเจพ เจธเจพเจนเจฎเจฃเจพ เจ•เจฐเจจเจพ เจชเจฟเจ†, เจœเจฟเจธ เจฆเฉ‡ เจจเจคเฉ€เจœเฉ‡ เจตเจœเฉ‹เจ‚ เจ…เจธเฉ€เจ‚ เจ†เจชเจฃเฉ€เจ†เจ‚ เจชเจฒเฉ‡เจฌเฉเฉฑเจ•เจพเจ‚ เจตเจฟเฉฑเจš เจตเฉ‡เจฐเฉ€เจเจฌเจฒ เจกเจฟเจœเจผเจพเจˆเจจ เจ•เจฐเจจ เจฆเฉ‡ เจจเจฟเจฏเจฎเจพเจ‚ 'เจคเฉ‡ เจ†เจ, เจœเจฟเจธ เจจเฉ‡ เจ•เฉเจ เจนเฉฑเจฆ เจคเฉฑเจ• เจ‡เจนเจจเจพเจ‚ เจธเจฎเฉฑเจธเจฟเจ†เจตเจพเจ‚ เจจเฉ‚เฉฐ เจนเฉฑเจฒ เจ•เฉ€เจคเจพเฅค

เจœเจตเจพเจฌ เจตเจฟเฉฑเจš เจตเฉ‡เจฐเฉ€เจเจฌเจฒเจพเจ‚ เจฒเจˆ เจธเจฟเจธเจŸเจฎ เจชเจนเฉเฉฐเจš

เจญเฉ‚เจฎเจฟเจ•เจพเจตเจพเจ‚ เจตเจฟเฉฑเจš เจตเฉ‡เจฐเฉ€เจเจฌเจฒ

เจ‡เฉฑเจ• เจฐเฉ‹เจฒ เจกเจฟเจชเจฒเจพเจ‡เจฎเฉˆเจ‚เจŸ เจธเจฟเจธเจŸเจฎ เจฆเจพ เจ‡เฉฑเจ• เจตเฉฑเจ–เจฐเจพ เจตเจธเจคเฉ‚ เจนเฉˆเฅค เจ•เจฟเจธเฉ‡ เจตเฉ€ เจธเจฟเจธเจŸเจฎ เจ†เจฌเจœเฉˆเจ•เจŸ เจฆเฉ€ เจคเจฐเฉเจนเจพเจ‚, เจ‡เจธเจฆเจพ เจฌเจพเจ•เฉ€ เจธเจฟเจธเจŸเจฎ เจจเจพเจฒ เจ‡เฉฐเจŸเจฐเจซเฉ‡เจธ เจ•เจฐเจจ เจฒเจˆ เจ‡เฉฑเจ• เจ‡เฉฐเจŸเจฐเจซเฉ‡เจธ เจนเฉ‹เจฃเจพ เจšเจพเจนเฉ€เจฆเจพ เจนเฉˆเฅค เจ…เจœเจฟเจนเจพ เจ‡เฉฐเจŸเจฐเจซเฉ‡เจธ เจฐเฉ‹เจฒ เจตเฉ‡เจฐเฉ€เจเจฌเจฒ เจนเฉˆเฅค

เจ†เจ“, เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ, เจญเฉ‚เจฎเจฟเจ•เจพ เจจเฉ‚เฉฐ เจฒเฉˆ เจฒเจˆเจ api, เจœเฉ‹ เจธเจฐเจตเจฐ 'เจคเฉ‡ เจ‡เฉฑเจ• Java เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจจเฉ‚เฉฐ เจธเจฅเจพเจชเจฟเจค เจ•เจฐเจฆเจพ เจนเฉˆเฅค เจ‡เจธ เจตเจฟเฉฑเจš เจ•เจฟเจนเฉœเฉ‡ เจตเฉ‡เจฐเฉ€เจเจฌเจฒ เจนเฉ‹ เจธเจ•เจฆเฉ‡ เจนเจจ?

เจœเจตเจพเจฌ เจตเจฟเฉฑเจš เจตเฉ‡เจฐเฉ€เจเจฌเจฒเจพเจ‚ เจฒเจˆ เจธเจฟเจธเจŸเจฎ เจชเจนเฉเฉฐเจš

เจชเจฐเจฟเจตเจฐเจคเจจเจธเจผเฉ€เจฒ เจญเฉ‚เจฎเจฟเจ•เจพเจตเจพเจ‚ เจจเฉ‚เฉฐ เจ•เจฟเจธเจฎ เจฆเฉ‡ เจ…เจจเฉเจธเจพเจฐ 2 เจ•เจฟเจธเจฎเจพเจ‚ เจตเจฟเฉฑเจš เจตเฉฐเจกเจฟเจ† เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆ:

1. ะกะฒะพะนัั‚ะฒะฐ
    a) ะฝะตะทะฐะฒะธัะธะผั‹ะต ะพั‚ ัั€ะตะดั‹
    ะฑ) ะทะฐะฒะธัะธะผั‹ะต ะพั‚ ัั€ะตะดั‹
2. ะกะฒัะทะธ
    a) ัะปัƒัˆะฐั‚ะตะปะธ 
    ะฑ) ะทะฐะฟั€ะพัั‹ ะฒะฝัƒั‚ั€ะธ ัะธัั‚ะตะผั‹
    ะฒ) ะทะฐะฟั€ะพัั‹ ะฒ ัั€ะตะดัƒ

เจตเฉ‡เจฐเฉ€เจเจฌเจฒ เจตเจฟเจธเจผเฉ‡เจธเจผเจคเจพเจตเจพเจ‚ เจตเฉ‡เจฐเฉ€เจเจฌเจฒ เจนเจจ เจœเฉ‹ เจญเฉ‚เจฎเจฟเจ•เจพ เจฆเฉ‡ เจตเจฟเจตเจนเจพเจฐ เจจเฉ‚เฉฐ เจจเจฟเจฐเจงเจพเจฐเจค เจ•เจฐเจฆเฉ‡ เจนเจจเฅค

เจชเฉเฉฑเจ›เจ—เจฟเฉฑเจ› เจตเฉ‡เจฐเฉ€เจเจฌเจฒ - เจ‡เจน เจตเฉ‡เจฐเฉ€เจเจฌเจฒ เจนเจจ เจœเจฟเจจเฉเจนเจพเจ‚ เจฆเจพ เจฎเฉเฉฑเจฒ เจญเฉ‚เจฎเจฟเจ•เจพ เจฒเจˆ เจฌเจพเจนเจฐเฉ€ เจธเจฐเฉ‹เจคเจพเจ‚ เจจเฉ‚เฉฐ เจจเจฟเจฐเจงเจพเจฐเจค เจ•เจฐเจจ เจฒเจˆ เจตเจฐเจคเจฟเจ† เจœเจพเจ‚เจฆเจพ เจนเฉˆเฅค

เจชเจฐเจฟเจตเจฐเจคเจจเจธเจผเฉ€เจฒ เจธเฉเจฃเจจ เจตเจพเจฒเฉ‡ - เจ‡เจน เจตเฉ‡เจฐเฉ€เจเจฌเจฒ เจนเจจ เจœเจฟเจจเฉเจนเจพเจ‚ เจฆเจพ เจฎเฉเฉฑเจฒ เจฌเฉ‡เจจเจคเฉ€ เจตเฉ‡เจฐเฉ€เจเจฌเจฒ เจฌเจฃเจพเจ‰เจฃ เจฒเจˆ เจตเจฐเจคเจฟเจ† เจœเจพเจ‚เจฆเจพ เจนเฉˆเฅค

เจฆเฉ‚เจœเฉ‡ เจชเจพเจธเฉ‡, 1a, 2a, 2b เจตเฉ‡เจฐเฉ€เจเจฌเจฒ เจนเจจ เจœเฉ‹ เจตเจพเจคเจพเจตเจฐเจฃ (เจนเจพเจฐเจกเจตเฉ‡เจ…เจฐ, เจฌเจพเจนเจฐเฉ€ เจธเจฐเฉ‹เจค, เจ†เจฆเจฟ) 'เจคเฉ‡ เจจเจฟเจฐเจญเจฐ เจจเจนเฉ€เจ‚ เจ•เจฐเจฆเฉ‡ เจนเจจ เจ…เจคเฉ‡ เจกเจฟเจซเจพเจฒเจŸ เจญเฉ‚เจฎเจฟเจ•เจพ เจตเจฟเฉฑเจš เจฎเฉ‚เจฒ เจฎเฉเฉฑเจฒเจพเจ‚ เจจเจพเจฒ เจญเจฐเฉ‡ เจœเจพ เจธเจ•เจฆเฉ‡ เจนเจจเฅค เจนเจพเจฒเจพเจ‚เจ•เจฟ, เจ•เจฟเจธเจฎ 1.b เจ…เจคเฉ‡ 2.c เจฆเฉ‡ เจตเฉ‡เจฐเฉ€เจเจฌเจฒเจพเจ‚ เจจเฉ‚เฉฐ 'เจ‰เจฆเจพเจนเจฐเจจ' เจคเฉ‹เจ‚ เจ‡เจฒเจพเจตเจพ เจนเฉ‹เจฐ เจฎเฉเฉฑเจฒเจพเจ‚ เจจเจพเจฒ เจญเจฐเจจเจพ เจ…เจธเฉฐเจญเจต เจนเฉˆ, เจ•เจฟเจ‰เจ‚เจ•เจฟ เจ‰เจน เจตเจพเจคเจพเจตเจฐเจฃ 'เจคเฉ‡ เจจเจฟเจฐเจญเจฐ เจ•เจฐเจฆเฉ‡ เจนเฉ‹เจ เจธเจŸเฉˆเจ‚เจก เจคเฉ‹เจ‚ เจธเจŸเฉˆเจ‚เจก เจคเฉฑเจ• เจฌเจฆเจฒ เจœเจพเจฃเจ—เฉ‡เฅค

เจ•เฉ‹เจก เจธเจผเฉˆเจฒเฉ€

  • เจตเฉ‡เจฐเฉ€เจเจฌเจฒ เจจเจพเจฎ เจฐเฉ‹เจฒ เจจเจพเจฎ เจจเจพเจฒ เจธเจผเฉเจฐเฉ‚ เจนเฉ‹เจฃเจพ เจšเจพเจนเฉ€เจฆเจพ เจนเฉˆเฅค เจ‡เจน เจญเจตเจฟเฉฑเจ– เจตเจฟเฉฑเจš เจ‡เจน เจชเจคเจพ เจฒเจ—เจพเจ‰เจฃเจพ เจ†เจธเจพเจจ เจฌเจฃเจพ เจฆเฉ‡เจตเฉ‡เจ—เจพ เจ•เจฟ เจตเฉ‡เจฐเฉ€เจเจฌเจฒ เจ•เจฟเจธ เจญเฉ‚เจฎเจฟเจ•เจพ เจคเฉ‹เจ‚ เจนเฉˆ เจ…เจคเฉ‡ เจ‡เจน เจ•เจฟเจธ เจฒเจˆ เจœเจผเจฟเฉฐเจฎเฉ‡เจตเจพเจฐ เจนเฉˆเฅค
  • เจฐเฉ‹เจฒ เจตเจฟเฉฑเจš เจตเฉ‡เจฐเฉ€เจเจฌเจฒ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเฉ‡ เจธเจฎเฉ‡เจ‚, เจคเฉเจนเจพเจจเฉ‚เฉฐ เจฒเจพเจœเจผเจฎเฉ€ เจคเฉŒเจฐ 'เจคเฉ‡ เจเจจเจ•เฉˆเจชเจธเฉ‚เจฒเฉ‡เจธเจผเจจ เจฆเฉ‡ เจธเจฟเจงเจพเจ‚เจค เจฆเฉ€ เจชเจพเจฒเจฃเจพ เจ•เจฐเจจเจพ เจฏเจ•เฉ€เจจเฉ€ เจฌเจฃเจพเจ‰เจฃเจพ เจšเจพเจนเฉ€เจฆเจพ เจนเฉˆ เจ…เจคเฉ‡ เจœเจพเจ‚ เจคเจพเจ‚ เจญเฉ‚เจฎเจฟเจ•เจพ เจตเจฟเฉฑเจš เจœเจพเจ‚ เจ‰เจนเจจเจพเจ‚ เจญเฉ‚เจฎเจฟเจ•เจพเจตเจพเจ‚ เจตเจฟเฉฑเจš เจชเจฐเจฟเจญเจพเจธเจผเจฟเจค เจตเฉ‡เจฐเฉ€เจเจฌเจฒเจพเจ‚ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจจเฉ€ เจšเจพเจนเฉ€เจฆเฉ€ เจนเฉˆ เจœเจฟเจธ 'เจคเฉ‡ เจฎเฉŒเจœเฉ‚เจฆเจพ เจจเจฟเจฐเจญเจฐ เจ•เจฐเจฆเจพ เจนเฉˆเฅค
  • เจตเฉ‡เจฐเฉ€เจเจฌเจฒ เจฒเจˆ เจธเจผเจฌเจฆเจ•เฉ‹เจธเจผเจพเจ‚ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจจ เจคเฉ‹เจ‚ เจฌเจšเฉ‹เฅค Ansible เจคเฉเจนเจพเจจเฉ‚เฉฐ เจ•เจฟเจธเฉ‡ เจกเจฟเจ•เจธเจผเจจเจฐเฉ€ เจตเจฟเฉฑเจš เจตเจฟเจ…เจ•เจคเฉ€เจ—เจค เจฎเฉเฉฑเจฒเจพเจ‚ เจจเฉ‚เฉฐ เจ†เจธเจพเจจเฉ€ เจจเจพเจฒ เจ“เจตเจฐเจฐเจพเจˆเจก เจ•เจฐเจจ เจฆเฉ€ เจ‡เจœเจพเจœเจผเจค เจจเจนเฉ€เจ‚ เจฆเจฟเฉฐเจฆเจพ เจนเฉˆเฅค

    เจ‡เฉฑเจ• เจ–เจฐเจพเจฌ เจตเฉ‡เจฐเฉ€เจเจฌเจฒ เจฆเฉ€ เจ‰เจฆเจพเจนเจฐเจจ:

    myrole_user:
        login: admin
        password: admin

    เจ‡เฉฑเจฅเฉ‡ เจฒเฉŒเจ—เจ‡เจจ เจธเฉเจคเฉฐเจคเจฐ เจตเฉ‡เจฐเฉ€เจเจฌเจฒ เจนเฉˆ, เจ…เจคเฉ‡ เจชเจพเจธเจตเจฐเจก เจจเจฟเจฐเจญเจฐ เจตเฉ‡เจฐเฉ€เจเจฌเจฒ เจนเฉˆเฅค เจชเจฐ
    เจ•เจฟเจ‰เจ‚เจ•เจฟ เจ‰เจนเจจเจพเจ‚ เจจเฉ‚เฉฐ เจ‡เฉฑเจ• เจธเจผเจฌเจฆเจ•เฉ‹เจธเจผ เจตเจฟเฉฑเจš เจœเฉ‹เฉœเจฟเจ† เจ—เจฟเจ† เจนเฉˆ, เจคเฉเจนเจพเจจเฉ‚เฉฐ เจ‡เจธเจจเฉ‚เฉฐ เจชเฉ‚เจฐเฉ€ เจคเจฐเฉเจนเจพเจ‚ เจจเจฟเจฐเจงเจพเจฐเจฟเจค เจ•เจฐเจจเจพ เจนเฉ‹เจตเฉ‡เจ—เจพ
    เจนเจฎเฉ‡เจธเจผเจพ. เจœเฉ‹ เจ•เจฟ เจฌเจนเฉเจค เจนเฉ€ เจ…เจธเฉเจตเจฟเจงเจพเจœเจจเจ• เจนเฉˆเฅค เจ‡เจธ เจคเจฐเฉ€เจ•เฉ‡ เจจเจพเจฒ เจฌเจฟเจนเจคเจฐ:

    myrole_user_login: admin
    myrole_user_password: admin

เจคเฉˆเจจเจพเจคเฉ€ เจชเจฒเฉ‡เจฌเฉเฉฑเจ• เจตเจฟเฉฑเจš เจตเฉ‡เจฐเฉ€เจเจฌเจฒ

เจœเจฆเฉ‹เจ‚ เจ‡เฉฑเจ• เจกเจฟเจชเจฒเจพเจ‡เจฎเฉˆเจ‚เจŸ เจชเจฒเฉ‡เจฌเฉเฉฑเจ• (เจ‡เจธ เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ เจชเจฒเฉ‡เจฌเฉเฉฑเจ• เจ•เจฟเจนเจพ เจœเจพเจ‚เจฆเจพ เจนเฉˆ) เจจเฉ‚เฉฐ เจ•เฉฐเจชเจพเจ‡เจฒ เจ•เจฐเจฆเฉ‡ เจนเฉ‹เจ, เจ…เจธเฉ€เจ‚ เจ‡เจธ เจจเจฟเจฏเจฎ เจฆเฉ€ เจชเจพเจฒเจฃเจพ เจ•เจฐเจฆเฉ‡ เจนเจพเจ‚ เจ•เจฟ เจ‡เจธเจจเฉ‚เฉฐ เจ‡เฉฑเจ• เจตเฉฑเจ–เจฐเฉ‡ เจฐเจฟเจชเฉ‹เจœเจผเจŸเจฐเฉ€ เจตเจฟเฉฑเจš เจฐเฉฑเจ–เจฟเจ† เจœเจพเจฃเจพ เจšเจพเจนเฉ€เจฆเจพ เจนเฉˆเฅค เจญเฉ‚เจฎเจฟเจ•เจพเจตเจพเจ‚ เจฆเฉ‡ เจธเจฎเจพเจจ: เจนเจฐ เจ‡เฉฑเจ• เจ†เจชเจฃเฉ€ เจ†เจชเจฃเฉ€ เจ—เจฟเฉฑเจŸ เจฐเจฟเจชเฉ‹เจœเจผเจŸเจฐเฉ€ เจตเจฟเฉฑเจš. เจ‡เจน เจคเฉเจนเจพเจจเฉ‚เฉฐ เจ‡เจน เจธเจฎเจเจฃ เจฆเฉ€ เจ‡เจœเจพเจœเจผเจค เจฆเจฟเฉฐเจฆเจพ เจนเฉˆ เจ•เจฟ เจฐเฉ‹เจฒ เจ…เจคเฉ‡ เจชเจฒเฉ‡เจฌเฉเฉฑเจ• เจกเจฟเจชเจฒเจพเจ‡เจฎเฉˆเจ‚เจŸ เจธเจฟเจธเจŸเจฎ เจฆเฉ‡ เจตเฉฑเจ–-เจตเฉฑเจ– เจธเฉเจคเฉฐเจคเจฐ เจ†เจฌเจœเฉˆเจ•เจŸ เจนเจจ, เจ…เจคเฉ‡ เจ‡เฉฑเจ• เจตเจธเจคเฉ‚ เจตเจฟเฉฑเจš เจฌเจฆเจฒเจพเจ… เจฆเฉ‚เจœเฉ‡ เจฆเฉ‡ เจธเฉฐเจšเจพเจฒเจจ เจจเฉ‚เฉฐ เจชเฉเจฐเจญเจพเจตเจฟเจค เจจเจนเฉ€เจ‚ เจ•เจฐเจจเจพ เจšเจพเจนเฉ€เจฆเจพ เจนเฉˆเฅค เจ‡เจน เจตเฉ‡เจฐเฉ€เจเจฌเจฒ เจฆเฉ‡ เจกเจฟเจซเจพเจฒเจŸ เจฎเฉเฉฑเจฒเจพเจ‚ เจจเฉ‚เฉฐ เจฌเจฆเจฒ เจ•เฉ‡ เจชเฉเจฐเจพเจชเจค เจ•เฉ€เจคเจพ เจœเจพเจ‚เจฆเจพ เจนเฉˆเฅค

เจชเจฒเฉ‡เจฌเฉเฉฑเจ• เจจเฉ‚เฉฐ เจ•เฉฐเจชเจพเจ‡เจฒ เจ•เจฐเจฆเฉ‡ เจธเจฎเฉ‡เจ‚, เจธเฉฐเจ–เฉ‡เจช เจ•เจฐเจจ เจฒเจˆ, เจฐเฉ‹เจฒ เจตเฉ‡เจฐเฉ€เจเจฌเจฒ เจฆเฉ‡ เจกเจฟเจซเฉŒเจฒเจŸ เจฎเฉเฉฑเจฒเจพเจ‚ เจจเฉ‚เฉฐ เจฆเฉ‹ เจฅเจพเจตเจพเจ‚ 'เจคเฉ‡ เจ“เจตเจฐเจฐเจพเจˆเจก เจ•เจฐเจจเจพ เจธเฉฐเจญเจต เจนเฉˆ: เจชเจฒเฉ‡เจฌเฉเฉฑเจ• เจตเฉ‡เจฐเฉ€เจเจฌเจฒเจพเจ‚ เจ…เจคเฉ‡ เจ‡เจจเจตเฉˆเจ‚เจŸเจฐเฉ€ เจตเฉ‡เจฐเฉ€เจเจฌเจฒเจพเจ‚ เจตเจฟเฉฑเจšเฅค

mydeploy                        # ะšะฐั‚ะฐะปะพะณ ะดะตะฟะปะพั
โ”œโ”€โ”€ deploy.yml                  # ะŸะปะตะนะฑัƒะบ ะดะตะฟะปะพั
โ”œโ”€โ”€ group_vars                  # ะšะฐั‚ะฐะปะพะณ ะฟะตั€ะตะผะตะฝะฝั‹ั… ะฟะปะตะนะฑัƒะบะฐ
โ”‚   โ”œโ”€โ”€ all.yml                 # ะคะฐะนะป ะดะปั ะฟะตั€ะตะผะตะฝะฝั‹ั… ัะฒัะทะธ ะฒัะตะน ัะธัั‚ะตะผั‹
โ”‚   โ””โ”€โ”€ myapi.yml               # ะคะฐะนะป ะฟะตั€ะตะผะตะฝะฝั‹ั… ัะฒะพะนัั‚ะฒ ะณั€ัƒะฟะฟั‹ myapi
โ””โ”€โ”€ inventories                 #
    โ””โ”€โ”€ prod                    # ะšะฐั‚ะฐะปะพะณ ะพะบั€ัƒะถะตะฝะธั prod
        โ”œโ”€โ”€ prod.ini            # ะ˜ะฝะฒะตะฝั‚ะพั€ะธ ั„ะฐะนะป
        โ””โ”€โ”€ group_vars          # ะšะฐั‚ะฐะปะพะณ ะดะปั ะฟะตั€ะตะผะตะฝะฝั‹ั… ะธะฝะฒะตะฝั‚ะพั€ะธ
            โ””โ”€โ”€ myapi           #
                โ”œโ”€โ”€ vars.yml    # ะกั€ะตะดะพะทะฐะฒะธัะธะผั‹ะต ะฟะตั€ะตะผะตะฝะฝั‹ะต ะณั€ัƒะฟะฟั‹ myapi
                โ””โ”€โ”€ vault.yml   # ะกะตะบั€ะตั‚ั‹ (ะฒัะตะณะดะฐ ัั€ะตะดะพะทะฐะฒะธัะธะผั‹) *

* - เจตเฉ‡เจฐเฉ€เจเจฌเจฒ เจ…เจคเฉ‡ เจตเจพเจฒเจŸ

เจซเจฐเจ• เจ‡เจน เจนเฉˆ เจ•เจฟ เจชเจฒเฉ‡เจฌเฉเฉฑเจ• เจตเฉ‡เจฐเฉ€เจเจฌเจฒ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจนเจฎเฉ‡เจธเจผเจพ เจ‰เจธเฉ‡ เจชเฉฑเจงเจฐ 'เจคเฉ‡ เจธเจฅเจฟเจค เจชเจฒเฉ‡เจฌเฉเฉฑเจ•เจพเจ‚ เจจเฉ‚เฉฐ เจ•เจพเจฒ เจ•เจฐเจจ เจตเฉ‡เจฒเฉ‡ เจ•เฉ€เจคเฉ€ เจœเจพเจ‚เจฆเฉ€ เจนเฉˆเฅค เจ‡เจธเจฆเจพ เจฎเจคเจฒเจฌ เจนเฉˆ เจ•เจฟ เจ‡เจน เจตเฉ‡เจฐเฉ€เจเจฌเจฒ เจตเจพเจคเจพเจตเจฐเจฃ-เจธเฉเจคเฉฐเจคเจฐ เจตเฉ‡เจฐเฉ€เจเจฌเจฒเจพเจ‚ เจฆเฉ‡ เจกเจฟเจซเจพเจฒเจŸ เจฎเฉเฉฑเจฒเจพเจ‚ เจจเฉ‚เฉฐ เจฌเจฆเจฒเจฃ เจฒเจˆ เจฌเจนเฉเจค เจตเจงเฉ€เจ† เจนเจจเฅค เจ‡เจธ เจฆเฉ‡ เจ‰เจฒเจŸ, เจตเจธเจคเฉ‚ เจตเฉ‡เจฐเฉ€เจเจฌเจฒ เจธเจฟเจฐเจซเจผ เจ‡เฉฑเจ• เจ–เจพเจธ เจตเจพเจคเจพเจตเจฐเจจ เจฒเจˆ เจตเจฐเจคเฉ‡ เจœเจพเจฃเจ—เฉ‡, เจœเฉ‹ เจ•เจฟ เจตเจพเจคเจพเจตเจฐเจจ-เจตเจฟเจธเจผเฉ‡เจธเจผ เจตเฉ‡เจฐเฉ€เจเจฌเจฒเจพเจ‚ เจฒเจˆ เจ†เจฆเจฐเจธเจผ เจนเฉˆเฅค

เจ‡เจน เจจเฉ‹เจŸ เจ•เจฐเจจเจพ เจฎเจนเฉฑเจคเจตเจชเฉ‚เจฐเจจ เจนเฉˆ เจ•เจฟ เจตเฉ‡เจฐเฉ€เจเจฌเจฒ เจคเจฐเจœเฉ€เจน เจคเฉเจนเจพเจจเฉ‚เฉฐ เจชเจฒเฉ‡เจฌเฉเฉฑเจ• เจตเฉ‡เจฐเฉ€เจเจฌเจฒเจพเจ‚ เจตเจฟเฉฑเจš เจชเจนเจฟเจฒเจพเจ‚ เจ…เจคเฉ‡ เจซเจฟเจฐ เจ‡เฉฑเจ• เจตเจธเจคเฉ‚ เจธเฉ‚เจšเฉ€ เจตเจฟเฉฑเจš เจตเฉฑเจ–เจฐเฉ‡ เจคเฉŒเจฐ 'เจคเฉ‡ เจตเฉ‡เจฐเฉ€เจเจฌเจฒเจพเจ‚ เจจเฉ‚เฉฐ เจ“เจตเจฐเจฐเจพเจˆเจก เจ•เจฐเจจ เจฆเฉ€ เจ‡เจœเจพเจœเจผเจค เจจเจนเฉ€เจ‚ เจฆเฉ‡เจตเฉ‡เจ—เฉ€เฅค

เจ‡เจธเจฆเจพ เจฎเจคเจฒเจฌ เจ‡เจน เจนเฉˆ เจ•เจฟ เจ‡เจธ เจชเฉœเจพเจ… 'เจคเฉ‡ เจชเจนเจฟเจฒเจพเจ‚ เจนเฉ€ เจ‡เจน เจซเฉˆเจธเจฒเจพ เจ•เจฐเจจเจพ เจœเจผเจฐเฉ‚เจฐเฉ€ เจนเฉˆ เจ•เจฟ เจตเฉ‡เจฐเฉ€เจเจฌเจฒ เจตเจพเจคเจพเจตเจฐเจฃ-เจจเจฟเจฐเจญเจฐ เจนเฉˆ เจœเจพเจ‚ เจจเจนเฉ€เจ‚ เจ…เจคเฉ‡ เจ‡เจธเจจเฉ‚เฉฐ เจขเฉเจ•เจตเฉ€เจ‚ เจฅเจพเจ‚ 'เจคเฉ‡ เจฐเฉฑเจ–เฉ‹เฅค

เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ, เจ‡เฉฑเจ• เจชเฉเจฐเฉ‹เจœเฉˆเจ•เจŸ เจตเจฟเฉฑเจš, SSL เจจเฉ‚เฉฐ เจธเจฎเจฐเฉฑเจฅ เจ•เจฐเจจ เจฒเจˆ เจœเจผเจฟเฉฐเจฎเฉ‡เจตเจพเจฐ เจตเฉ‡เจฐเฉ€เจเจฌเจฒ เจฒเฉฐเจฌเฉ‡ เจธเจฎเฉ‡เจ‚ เจฒเจˆ เจตเจพเจคเจพเจตเจฐเจฃ-เจจเจฟเจฐเจญเจฐ เจธเฉ€, เจ•เจฟเจ‰เจ‚เจ•เจฟ เจ…เจธเฉ€เจ‚ เจ‡เฉฑเจ• เจธเจŸเฉˆเจ‚เจก 'เจคเฉ‡ เจธเจพเจกเฉ‡ เจจเจฟเจฏเฉฐเจคเจฐเจฃ เจคเฉ‹เจ‚ เจฌเจพเจนเจฐ เจฆเฉ‡ เจ•เจพเจฐเจจเจพเจ‚ เจ•เจฐเจ•เฉ‡ SSL เจจเฉ‚เฉฐ เจธเจฎเจฐเฉฑเจฅ เจจเจนเฉ€เจ‚ เจ•เจฐ เจธเจ•เฉ‡เฅค เจธเจพเจกเฉ‡ เจฆเฉเจ†เจฐเจพ เจ‡เจธ เจธเจฎเฉฑเจธเจฟเจ† เจจเฉ‚เฉฐ เจนเฉฑเจฒ เจ•เจฐเจจ เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ, เจ‡เจน เจตเจพเจคเจพเจตเจฐเจฃ เจธเฉเจคเฉฐเจคเจฐ เจฌเจฃ เจ—เจฟเจ† เจ…เจคเฉ‡ เจชเจฒเฉ‡เจฌเฉเฉฑเจ• เจตเฉ‡เจฐเฉ€เจเจฌเจฒ เจตเจฟเฉฑเจš เจšเจฒเฉ€ เจ—เจˆเฅค

เจธเจฎเฉ‚เจนเจพเจ‚ เจฒเจˆ เจธเฉฐเจชเฉฑเจคเฉ€ เจตเฉ‡เจฐเฉ€เจเจฌเจฒ

เจ†เจ‰ เจ‡เฉฑเจ• เจตเฉฑเจ–เจฐเฉ€ เจœเจพเจตเจพ เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจฆเฉ‡ เจจเจพเจฒ, เจชเจฐ เจตเฉฑเจ–-เจตเฉฑเจ– เจธเฉˆเจŸเจฟเฉฐเจ—เจพเจ‚ เจฆเฉ‡ เจจเจพเจฒ เจธเจฐเจตเจฐเจพเจ‚ เจฆเฉ‡ 1 เจธเจฎเฉ‚เจนเจพเจ‚ เจจเฉ‚เฉฐ เจœเฉ‹เฉœ เจ•เฉ‡ เจšเจฟเฉฑเจคเจฐ 2 เจตเจฟเฉฑเจš เจธเจพเจกเฉ‡ เจฎเจพเจกเจฒ เจฆเจพ เจตเจฟเจธเจคเจพเจฐ เจ•เจฐเฉ€เจเฅค

เจœเจตเจพเจฌ เจตเจฟเฉฑเจš เจตเฉ‡เจฐเฉ€เจเจฌเจฒเจพเจ‚ เจฒเจˆ เจธเจฟเจธเจŸเจฎ เจชเจนเฉเฉฐเจš

เจ†เจ“ เจ•เจฒเจชเจจเจพ เจ•เจฐเฉ€เจ เจ•เจฟ เจ‡เจธ เจ•เฉ‡เจธ เจตเจฟเฉฑเจš เจชเจฒเฉ‡เจฌเฉเฉฑเจ• เจ•เจฟเจนเฉ‹ เจœเจฟเจนเฉ€ เจฆเจฟเจ–เจพเจˆ เจฆเฉ‡เจตเฉ‡เจ—เฉ€:

- hosts: myapi
  roles:
    - api

- hosts: bbauth
  roles:
    - auth

- hosts: ghauth
  roles:
    - auth

เจชเจฒเฉ‡เจฌเฉเฉฑเจ• เจตเจฟเฉฑเจš เจธเจพเจกเฉ‡ เจ•เฉ‹เจฒ เจคเจฟเฉฐเจจ เจธเจฎเฉ‚เจน เจนเจจ, เจ‡เจธเจฒเจˆ เจคเฉเจฐเฉฐเจค เจ—เจฐเฉเฉฑเจช_เจตเจฐเจธ เจ‡เจจเจตเฉˆเจ‚เจŸเจฐเฉ€ เจตเฉ‡เจฐเฉ€เจเจฌเจฒ เจ…เจคเฉ‡ เจชเจฒเฉ‡เจฌเฉเฉฑเจ• เจตเฉ‡เจฐเฉ€เจเจฌเจฒ เจตเจฟเฉฑเจš เจ‡เฉฑเจ•เฉ‹ เจœเจฟเจนเฉ€เจ†เจ‚ เจธเจฎเฉ‚เจน เจซเจพเจˆเจฒเจพเจ‚ เจฌเจฃเจพเจ‰เจฃ เจฆเฉ€ เจธเจฟเจซเจพเจฐเจธเจผ เจ•เฉ€เจคเฉ€ เจœเจพเจ‚เจฆเฉ€ เจนเฉˆเฅค เจ‡เจธ เจ•เฉ‡เจธ เจตเจฟเฉฑเจš เจ‡เฉฑเจ• เจธเจฎเฉ‚เจน เจซเจพเจˆเจฒ เจชเจฒเฉ‡เจฌเฉเฉฑเจ• เจตเจฟเฉฑเจš เจ‰เจชเจฐเฉ‹เจ•เจค เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจฆเฉ‡ เจ‡เฉฑเจ• เจนเจฟเฉฑเจธเฉ‡ เจฆเจพ เจตเจฐเจฃเจจ เจนเฉˆเฅค เจœเจฆเฉ‹เจ‚ เจคเฉเจธเฉ€เจ‚ เจชเจฒเฉ‡เจฌเฉเฉฑเจ• เจตเฉ‡เจฐเฉ€เจเจฌเจฒเจพเจ‚ เจตเจฟเฉฑเจš เจ‡เฉฑเจ• เจธเจฎเฉ‚เจน เจซเจพเจˆเจฒ เจ–เฉ‹เจฒเฉเจนเจฆเฉ‡ เจนเฉ‹, เจคเจพเจ‚ เจคเฉเจธเฉ€เจ‚ เจคเฉเจฐเฉฐเจค เจธเจฎเฉ‚เจน เจตเจฟเฉฑเจš เจธเจฅเจพเจชเจฟเจค เจญเฉ‚เจฎเจฟเจ•เจพเจตเจพเจ‚ เจฆเฉ‡ เจกเจฟเจซเฉŒเจฒเจŸ เจตเจฟเจนเจพเจฐ เจคเฉ‹เจ‚ เจธเจพเจฐเฉ‡ เจ…เฉฐเจคเจฐ เจฆเฉ‡เจ–เจฆเฉ‡ เจนเฉ‹เฅค เจ‡เจจเจตเฉˆเจ‚เจŸเจฐเฉ€ เจตเฉ‡เจฐเฉ€เจเจฌเจฒ เจตเจฟเฉฑเจš: เจธเจŸเฉˆเจ‚เจก เจคเฉ‹เจ‚ เจธเจŸเฉˆเจ‚เจก เจคเฉฑเจ• เจ—เจฐเฉเฉฑเจช เจตเจฟเจนเจพเจฐ เจตเจฟเฉฑเจš เจ…เฉฐเจคเจฐเฅค

เจ•เฉ‹เจก เจธเจผเฉˆเจฒเฉ€

  • host_vars เจตเฉ‡เจฐเฉ€เจเจฌเจฒ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจจเจพ เจ•เจฐเจจ เจฆเฉ€ เจ•เฉ‹เจธเจผเจฟเจธเจผ เจ•เจฐเฉ‹, เจ•เจฟเจ‰เจ‚เจ•เจฟ เจ‰เจน เจธเจฟเจธเจŸเจฎ เจฆเจพ เจตเจฐเจฃเจจ เจจเจนเฉ€เจ‚ เจ•เจฐเจฆเฉ‡, เจชเจฐ เจธเจฟเจฐเจซ เจ‡เฉฑเจ• เจตเจฟเจธเจผเฉ‡เจธเจผ เจ•เฉ‡เจธ, เจœเฉ‹ เจญเจตเจฟเฉฑเจ– เจตเจฟเฉฑเจš เจชเฉเจฐเจธเจผเจจเจพเจ‚ เจตเฉฑเจฒ เจฒเฉˆ เจœเจพเจตเฉ‡เจ—เจพ: "เจ‡เจน เจฎเฉ‡เจœเจผเจฌเจพเจจ เจฆเฉ‚เจœเจฟเจ†เจ‚ เจคเฉ‹เจ‚ เจตเฉฑเจ–เจฐเจพ เจ•เจฟเจ‰เจ‚ เจนเฉˆ?", เจœเจฟเจธเจฆเจพ เจœเจตเจพเจฌ เจจเจนเฉ€เจ‚ เจนเฉˆ เจฒเฉฑเจญเจฃ เจฒเจˆ เจนเจฎเฉ‡เจธเจผเจพ เจ†เจธเจพเจจ.

เจธเฉฐเจšเจพเจฐ เจตเฉ‡เจฐเฉ€เจเจฌเจฒ

เจนเจพเจฒเจพเจ‚เจ•เจฟ, เจ‡เจน เจ‰เจนเฉ€ เจนเฉˆ เจœเฉ‹ เจธเฉฐเจชเฉฑเจคเฉ€ เจตเฉ‡เจฐเฉ€เจเจฌเจฒเจธ เจฌเจพเจฐเฉ‡ เจนเจจ, เจชเจฐ เจธเฉฐเจšเจพเจฐ เจตเฉ‡เจฐเฉ€เจเจฌเจฒเจพเจ‚ เจฌเจพเจฐเฉ‡ เจ•เฉ€?
เจ‰เจนเจจเจพเจ‚ เจฆเจพ เจ…เฉฐเจคเจฐ เจ‡เจน เจนเฉˆ เจ•เจฟ เจ‰เจนเจจเจพเจ‚ เจฆเจพ เจตเฉฑเจ–-เจตเฉฑเจ– เจธเจฎเฉ‚เจนเจพเจ‚ เจตเจฟเฉฑเจš เจ‡เฉฑเจ•เฉ‹ เจนเฉ€ เจ…เจฐเจฅ เจนเฉ‹เจฃเจพ เจšเจพเจนเฉ€เจฆเจพ เจนเฉˆเฅค

เจชเจนเจฟเจฒเจพเจ‚ เจคเจพเจ‚ เจ‡เจน เจธเฉ€ เจตเจฟเจšเจพเจฐ เจ‡เฉฑเจ• เจ…เจฆเจญเฉเจค เจ‰เจธเจพเจฐเฉ€ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเฉ‹ เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ:
hostvars[groups['bbauth'][0]]['auth_bind_port']เจชเจฐ เจ‰เจจเฉเจนเจพเจ‚ เจจเฉ‡ เจคเฉเจฐเฉฐเจค เจ‡เจธ เจจเฉ‚เฉฐ เจฐเฉฑเจฆ เจ•เจฐ เจฆเจฟเฉฑเจคเจพ
เจ•เจฟเจ‰เจ‚เจ•เจฟ เจ‡เจธเจฆเฉ‡ เจจเฉเจ•เจธเจพเจจ เจนเจจเฅค เจธเจญ เจคเฉ‹เจ‚ เจชเจนเจฟเจฒเจพเจ‚, เจญเจพเจฐเฉ€เจชเจจ. เจฆเฉ‚เจœเจพ, เจธเจฎเฉ‚เจน เจตเจฟเฉฑเจš เจ‡เฉฑเจ• เจ–เจพเจธ เจฎเฉ‡เจœเจผเจฌเจพเจจ 'เจคเฉ‡ เจจเจฟเจฐเจญเจฐเจคเจพเฅค เจคเฉ€เจธเจฐเจพ, เจคเฉˆเจจเจพเจคเฉ€ เจธเจผเฉเจฐเฉ‚ เจ•เจฐเจจ เจคเฉ‹เจ‚ เจชเจนเจฟเจฒเจพเจ‚, เจธเจพเจฐเฉ‡ เจฎเฉ‡เจœเจผเจฌเจพเจจเจพเจ‚ เจคเฉ‹เจ‚ เจคเฉฑเจฅเจพเจ‚ เจจเฉ‚เฉฐ เจ‡เจ•เฉฑเจ เจพ เจ•เจฐเจจเจพ เจœเจผเจฐเฉ‚เจฐเฉ€ เจนเฉˆ เจœเฉ‡เจ•เจฐ เจ…เจธเฉ€เจ‚ เจ‡เฉฑเจ• เจชเจฐเจฟเจญเจพเจธเจผเจฟเจค เจตเฉ‡เจฐเฉ€เจเจฌเจฒ เจฆเฉ€ เจ—เจฒเจคเฉ€ เจชเฉเจฐเจพเจชเจค เจจเจนเฉ€เจ‚ เจ•เจฐเจจเจพ เจšเจพเจนเฉเฉฐเจฆเฉ‡ เจนเจพเจ‚เฅค

เจจเจคเฉ€เจœเฉ‡ เจตเจœเฉ‹เจ‚, เจธเฉฐเจšเจพเจฐ เจตเฉ‡เจฐเฉ€เจเจฌเจฒ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจจ เจฆเจพ เจซเฉˆเจธเจฒเจพ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจธเฉ€เฅค

เจธเฉฐเจšเจพเจฐ เจตเฉ‡เจฐเฉ€เจเจฌเจฒ - เจ‡เจน เจตเฉ‡เจฐเฉ€เจเจฌเจฒ เจนเจจ เจœเฉ‹ เจชเจฒเฉ‡เจฌเฉเฉฑเจ• เจจเจพเจฒ เจธเจฌเฉฐเจงเจค เจนเจจ เจ…เจคเฉ‡ เจธเจฟเจธเจŸเจฎ เจ†เจฌเจœเฉˆเจ•เจŸ เจจเฉ‚เฉฐ เจœเฉ‹เฉœเจจ เจฒเจˆ เจฒเฉ‹เฉœเฉ€เจ‚เจฆเฉ‡ เจนเจจเฅค

เจธเฉฐเจšเจพเจฐ เจตเฉ‡เจฐเฉ€เจเจฌเจฒ เจ†เจฎ เจธเจฟเจธเจŸเจฎ เจตเฉ‡เจฐเฉ€เจเจฌเจฒ เจตเจฟเฉฑเจš เจ†เจฌเจพเจฆ เจนเฉเฉฐเจฆเฉ‡ เจนเจจ group_vars/all/vars เจ…เจคเฉ‡ เจนเจฐเฉ‡เจ• เจธเจฎเฉ‚เจน เจคเฉ‹เจ‚ เจธเจพเจฐเฉ‡ เจฒเจฟเจธเจจเจฐ เจตเฉ‡เจฐเฉ€เจเจฌเจฒ เจจเฉ‚เฉฐ เจนเจŸเจพ เจ•เฉ‡, เจ…เจคเฉ‡ เจ‰เจธ เจธเจฎเฉ‚เจน เจฆเจพ เจจเจพเจฎ เจœเฉ‹เฉœ เจ•เฉ‡ เจฌเจฃเจพเจ เจœเจพเจ‚เจฆเฉ‡ เจนเจจ เจœเจฟเฉฑเจฅเฉ‹เจ‚ เจธเฉเจฃเจจ เจตเจพเจฒเฉ‡ เจจเฉ‚เฉฐ เจตเฉ‡เจฐเฉ€เจเจฌเจฒ เจฆเฉ€ เจธเจผเฉเจฐเฉ‚เจ†เจค เจตเจฟเฉฑเจš เจนเจŸเจพเจ‡เจ† เจ—เจฟเจ† เจธเฉ€เฅค

เจ‡เจน เจจเจพเจตเจพเจ‚ เจฆเฉ€ เจ‡เจ•เจธเจพเจฐเจคเจพ เจ…เจคเฉ‡ เจ—เฉˆเจฐ-เจ“เจตเจฐเจฒเฉˆเจชเจฟเฉฐเจ— เจจเฉ‚เฉฐ เจฏเจ•เฉ€เจจเฉ€ เจฌเจฃเจพเจ‰เจ‚เจฆเจพ เจนเฉˆเฅค

เจ†เจ‰ เจ‰เจชเจฐเฉ‹เจ•เจค เจ‰เจฆเจพเจนเจฐเจจ เจคเฉ‹เจ‚ เจตเฉ‡เจฐเฉ€เจเจฌเจฒเจพเจ‚ เจจเฉ‚เฉฐ เจฌเฉฐเจจเฉเจนเจฃ เจฆเฉ€ เจ•เฉ‹เจธเจผเจฟเจธเจผ เจ•เจฐเฉ€เจ:

เจœเจตเจพเจฌ เจตเจฟเฉฑเจš เจตเฉ‡เจฐเฉ€เจเจฌเจฒเจพเจ‚ เจฒเจˆ เจธเจฟเจธเจŸเจฎ เจชเจนเฉเฉฐเจš

เจšเจฒเฉ‹ เจ•เจฒเจชเจจเจพ เจ•เจฐเฉ€เจ เจ•เจฟ เจธเจพเจกเฉ‡ เจ•เฉ‹เจฒ เจตเฉ‡เจฐเฉ€เจเจฌเจฒ เจนเจจ เจœเฉ‹ เจ‡เฉฑเจ• เจฆเฉ‚เจœเฉ‡ 'เจคเฉ‡ เจจเจฟเจฐเจญเจฐ เจ•เจฐเจฆเฉ‡ เจนเจจ:

# roles/api/defaults:
# ะŸะตั€ะตะผะตะฝะฝะฐั ะทะฐะฟั€ะพัะฐ
api_auth1_address: "http://example.com:80"
api_auth2_address: "http://example2.com:80"

# roles/auth/defaults:
# ะŸะตั€ะตะผะตะฝะฝะฐั ัะปัƒัˆะฐั‚ะตะปัŒ
auth_bind_port: "20000"

เจ†เจ‰ เจ‡เจธเจจเฉ‚เฉฐ เจ†เจฎ เจตเฉ‡เจฐเฉ€เจเจฌเจฒ เจตเจฟเฉฑเจš เจชเจพ เจฆเฉ‡เจˆเจ group_vars/all/vars เจธเจพเจฐเฉ‡ เจธเจฐเฉ‹เจคเฉ‡, เจ…เจคเฉ‡ เจธเจฟเจฐเจฒเฉ‡เจ– เจตเจฟเฉฑเจš เจ—เจฐเฉเฉฑเจช เจฆเจพ เจจเจพเจฎ เจธเจผเจพเจฎเจฒ เจ•เจฐเฉ‹:

# group_vars/all/vars
bbauth_auth_bind_port: "20000"
ghauth_auth_bind_port: "30000"

# group_vars/bbauth/vars
auth_bind_port: "{{ bbauth_auth_bind_port }}"

# group_vars/ghauth/vars
auth_bind_port: "{{ ghauth_auth_bind_port }}"

# group_vars/myapi/vars
api_auth1_address: "http://{{ bbauth_auth_service_name }}:{{ bbauth_auth_bind_port }}"
api_auth2_address: "http://{{ ghauth_auth_service_name }}:{{ ghauth_auth_bind_port }}"

เจนเฉเจฃ, เจ•เจจเฉˆเจ•เจŸเจฐ เจฆเฉ‡ เจฎเฉเฉฑเจฒ เจจเฉ‚เฉฐ เจฌเจฆเจฒ เจ•เฉ‡, เจ…เจธเฉ€เจ‚ เจฏเจ•เฉ€เจจเฉ€ เจฌเจฃเจพเจตเจพเจ‚เจ—เฉ‡ เจ•เจฟ เจฌเฉ‡เจจเจคเฉ€ เจ‰เจธเฉ‡ เจฅเจพเจ‚ 'เจคเฉ‡ เจœเจพเจตเฉ‡เจ—เฉ€ เจœเจฟเฉฑเจฅเฉ‡ เจชเฉ‹เจฐเจŸ เจธเจฅเจฟเจค เจนเฉˆเฅค

เจ•เฉ‹เจก เจธเจผเฉˆเจฒเฉ€

  • เจ•เจฟเจ‰เจ‚เจ•เจฟ เจญเฉ‚เจฎเจฟเจ•เจพเจตเจพเจ‚ เจ…เจคเฉ‡ เจธเจฎเฉ‚เจน เจตเฉฑเจ–เฉ‹-เจตเฉฑเจ–เจฐเฉ‡ เจธเจฟเจธเจŸเจฎ เจ†เจฌเจœเฉˆเจ•เจŸ เจนเจจ, เจ‰เจนเจจเจพเจ‚ เจฆเฉ‡ เจตเฉฑเจ–เฉ‹-เจตเฉฑเจ–เจฐเฉ‡ เจจเจพเจฎ เจนเฉ‹เจฃเฉ‡ เจšเจพเจนเฉ€เจฆเฉ‡ เจนเจจ, เจซเจฟเจฐ เจฒเจฟเฉฐเจ• เจตเฉ‡เจฐเฉ€เจเจฌเจฒ เจธเจนเฉ€ เจขเฉฐเจ— เจจเจพเจฒ เจฆเจฐเจธเจพเจเจ—เจพ เจ•เจฟ เจ‰เจน เจธเจฐเจตเจฐเจพเจ‚ เจฆเฉ‡ เจ‡เฉฑเจ• เจ–เจพเจธ เจธเจฎเฉ‚เจน เจจเจพเจฒ เจธเจฌเฉฐเจงเจค เจนเจจ, เจจเจพ เจ•เจฟ เจธเจฟเจธเจŸเจฎ เจตเจฟเฉฑเจš เจ•เจฟเจธเฉ‡ เจญเฉ‚เจฎเจฟเจ•เจพ เจจเจพเจฒเฅค

เจตเจพเจคเจพเจตเจฐเจฃ เจจเจฟเจฐเจญเจฐ เจซเจพเจˆเจฒเจพเจ‚

เจญเฉ‚เจฎเจฟเจ•เจพเจตเจพเจ‚ เจ‰เจนเจจเจพเจ‚ เจซเจพเจˆเจฒเจพเจ‚ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐ เจธเจ•เจฆเฉ€เจ†เจ‚ เจนเจจ เจœเฉ‹ เจตเจพเจคเจพเจตเจฐเจฃ เจคเฉ‹เจ‚ เจตเจพเจคเจพเจตเจฐเจฃ เจคเฉฑเจ• เจตเฉฑเจ–เจฐเฉ€เจ†เจ‚ เจนเฉเฉฐเจฆเฉ€เจ†เจ‚ เจนเจจเฅค

เจ…เจœเจฟเจนเฉ€เจ†เจ‚ เจซเจพเจˆเจฒเจพเจ‚ เจฆเฉ€ เจ‡เฉฑเจ• เจ‰เจฆเจพเจนเจฐเจฃ SSL เจธเจฐเจŸเฉ€เจซเจฟเจ•เฉ‡เจŸ เจนเฉˆเฅค เจ‰เจนเจจเจพเจ‚ เจจเฉ‚เฉฐ เจŸเฉˆเจ•เจธเจŸ เจฆเฉ‡ เจฐเฉ‚เจช เจตเจฟเฉฑเจš เจธเจŸเฉ‹เจฐ เจ•เจฐเฉ‹
เจ‡เฉฑเจ• เจตเฉ‡เจฐเฉ€เจเจฌเจฒ เจตเจฟเฉฑเจš เจฌเจนเฉเจค เจธเฉเจตเจฟเจงเจพเจœเจจเจ• เจจเจนเฉ€เจ‚ เจนเฉˆเฅค เจชเจฐ เจ‰เจนเจจเจพเจ‚ เจฒเจˆ เจฎเจพเจฐเจ— เจจเฉ‚เฉฐ เจ‡เฉฑเจ• เจตเฉ‡เจฐเฉ€เจเจฌเจฒ เจฆเฉ‡ เจ…เฉฐเจฆเจฐ เจธเจŸเฉ‹เจฐ เจ•เจฐเจจเจพ เจธเฉเจตเจฟเจงเจพเจœเจจเจ• เจนเฉˆเฅค

เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ, เจ…เจธเฉ€เจ‚ เจตเฉ‡เจฐเฉ€เจเจฌเจฒ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเฉ‡ เจนเจพเจ‚ api_ssl_key_file: "/path/to/file".

เจ•เจฟเจ‰เจ‚เจ•เจฟ เจ‡เจน เจธเจชเฉฑเจธเจผเจŸ เจนเฉˆ เจ•เจฟ เจ•เฉเฉฐเจœเฉ€ เจธเจฐเจŸเฉ€เจซเจฟเจ•เฉ‡เจŸ เจตเจพเจคเจพเจตเจฐเจฃ เจคเฉ‹เจ‚ เจตเจพเจคเจพเจตเจฐเจฃ เจตเจฟเฉฑเจš เจฌเจฆเจฒ เจœเจพเจตเฉ‡เจ—เจพ, เจ‡เจน เจ‡เฉฑเจ• เจตเจพเจคเจพเจตเจฐเจฃ-เจจเจฟเจฐเจญเจฐ เจตเฉ‡เจฐเฉ€เจเจฌเจฒ เจนเฉˆ, เจœเจฟเจธเจฆเจพ เจฎเจคเจฒเจฌ เจนเฉˆ เจ•เจฟ เจ‡เจน เจซเจพเจˆเจฒ เจตเจฟเฉฑเจš เจธเจฅเจฟเจค เจนเฉ‹เจฃเจพ เจšเจพเจนเฉ€เจฆเจพ เจนเฉˆเฅค
group_vars/myapi/vars เจตเฉ‡เจฐเฉ€เจเจฌเจฒ เจฆเฉ€ เจตเจธเจคเฉ‚ เจธเฉ‚เจšเฉ€, เจ…เจคเฉ‡ 'เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ' เจฎเฉเฉฑเจฒ เจฐเฉฑเจ–เจฆเจพ เจนเฉˆเฅค

เจ‡เจธ เจ•เฉ‡เจธ เจตเจฟเฉฑเจš เจธเจญ เจคเฉ‹เจ‚ เจธเฉเจตเจฟเจงเจพเจœเจจเจ• เจคเจฐเฉ€เจ•เจพ เจนเฉˆ เจชเจฒเฉ‡เจฌเฉเฉฑเจ• เจฐเจฟเจชเฉ‹เจœเจผเจŸเจฐเฉ€ เจตเจฟเฉฑเจš เจ•เฉเฉฐเจœเฉ€ เจซเจพเจˆเจฒ เจจเฉ‚เฉฐ เจฎเจพเจฐเจ— เจฆเฉ‡ เจจเจพเจฒ เจฐเฉฑเจ–เจฃเจพ
files/prod/certs/myapi.key, เจซเจฟเจฐ เจตเฉ‡เจฐเฉ€เจเจฌเจฒ เจฆเจพ เจฎเฉเฉฑเจฒ เจนเฉ‹เจตเฉ‡เจ—เจพ:
api_ssl_key_file: "prod/certs/myapi.key". เจธเจนเฉ‚เจฒเจค เจ‡เจธ เจคเฉฑเจฅ เจตเจฟเฉฑเจš เจนเฉˆ เจ•เจฟ เจธเจฟเจธเจŸเจฎ เจจเฉ‚เฉฐ เจ‡เฉฑเจ• เจ–เจพเจธ เจธเจŸเฉˆเจ‚เจก 'เจคเฉ‡ เจคเจพเจ‡เจจเจพเจค เจ•เจฐเจจ เจฒเจˆ เจœเจผเจฟเฉฐเจฎเฉ‡เจตเจพเจฐ เจฒเฉ‹เจ•เจพเจ‚ เจ•เฉ‹เจฒ เจ†เจชเจฃเฉ€เจ†เจ‚ เจซเจพเจˆเจฒเจพเจ‚ เจจเฉ‚เฉฐ เจธเจŸเฉ‹เจฐ เจ•เจฐเจจ เจฒเจˆ เจฐเจฟเจชเฉ‹เจœเจผเจŸเจฐเฉ€ เจตเจฟเฉฑเจš เจ†เจชเจฃเฉ€ เจธเจฎเจฐเจชเจฟเจค เจœเจ—เฉเจนเจพ เจตเฉ€ เจนเฉˆเฅค เจ‡เจธ เจฆเฉ‡ เจจเจพเจฒ เจนเฉ€, เจธเจฐเจตเจฐ 'เจคเฉ‡ เจธเจฐเจŸเฉ€เจซเจฟเจ•เฉ‡เจŸ เจฆเจพ เจชเฉ‚เจฐเจพ เจฎเจพเจฐเจ— เจจเจฟเจฐเจงเจพเจฐเจค เจ•เจฐเจจเจพ เจธเฉฐเจญเจต เจฐเจนเจฟเฉฐเจฆเจพ เจนเฉˆ, เจœเฉ‡เจ•เจฐ เจธเจฐเจŸเฉ€เจซเจฟเจ•เฉ‡เจŸ เจ•เจฟเจธเฉ‡ เจนเฉ‹เจฐ เจธเจฟเจธเจŸเจฎ เจฆเฉเจ†เจฐเจพ เจธเจชเจฒเจพเจˆ เจ•เฉ€เจคเฉ‡ เจœเจพเจ‚เจฆเฉ‡ เจนเจจเฅค

เจ‡เฉฑเจ• เจตเจพเจคเจพเจตเจฐเจฃ เจตเจฟเฉฑเจš เจ•เจˆ เจ–เฉœเฉเจนเฉ‡ เจนเจจ

เจ…เจ•เจธเจฐ เจ˜เฉฑเจŸเฉ‹-เจ˜เฉฑเจŸ เจ…เฉฐเจคเจฐ เจฆเฉ‡ เจจเจพเจฒ เจ‡เฉฑเจ•เฉ‹ เจตเจพเจคเจพเจตเจฐเจจ เจตเจฟเฉฑเจš เจ•เจˆ เจฒเจ—เจญเจ— เจ‡เฉฑเจ•เฉ‹ เจœเจฟเจนเฉ‡ เจธเจŸเฉˆเจ‚เจกเจพเจ‚ เจจเฉ‚เฉฐ เจคเจพเจ‡เจจเจพเจค เจ•เจฐเจจ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉเฉฐเจฆเฉ€ เจนเฉˆเฅค เจ‡เจธ เจธเจฅเจฟเจคเฉ€ เจตเจฟเฉฑเจš, เจ…เจธเฉ€เจ‚ เจตเจพเจคเจพเจตเจฐเจฃ-เจจเจฟเจฐเจญเจฐ เจตเฉ‡เจฐเฉ€เจเจฌเจฒเจพเจ‚ เจจเฉ‚เฉฐ เจ‰เจนเจจเจพเจ‚ เจตเจฟเฉฑเจš เจตเฉฐเจกเจฆเฉ‡ เจนเจพเจ‚ เจœเฉ‹ เจ‡เจธ เจตเจพเจคเจพเจตเจฐเจฃ เจตเจฟเฉฑเจš เจจเจนเฉ€เจ‚ เจฌเจฆเจฒเจฆเฉ‡ เจ…เจคเฉ‡ เจ‰เจนเจจเจพเจ‚ เจตเจฟเฉฑเจš เจœเฉ‹ เจฌเจฆเจฒเจฆเฉ‡ เจนเจจเฅค เจ…เจคเฉ‡ เจ…เจธเฉ€เจ‚ เจฌเจพเจ…เจฆ เจตเจพเจฒเฉ‡ เจจเฉ‚เฉฐ เจธเจฟเฉฑเจงเฉ‡ เจตเจธเจคเฉ‚เจ†เจ‚ เจฆเฉ€เจ†เจ‚ เจซเจพเจˆเจฒเจพเจ‚ เจตเจฟเฉฑเจš เจŸเฉเจฐเจพเจ‚เจธเจซเจฐ เจ•เจฐเจฆเฉ‡ เจนเจพเจ‚เฅค เจ‡เจธ เจนเฉ‡เจฐเจพเจซเฉ‡เจฐเฉ€ เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ, เจตเจพเจคเจพเจตเจฐเจฃ เจกเจพเจ‡เจฐเฉˆเจ•เจŸเจฐเฉ€ เจตเจฟเฉฑเจš เจ‡เฉฑเจ• เจนเฉ‹เจฐ เจตเจธเจคเฉ‚ เจธเฉ‚เจšเฉ€ เจฌเจฃเจพเจ‰เจฃเจพ เจธเฉฐเจญเจต เจนเฉ‹ เจœเจพเจ‚เจฆเจพ เจนเฉˆเฅค

เจ‡เจน group_vars เจตเจธเจคเฉ‚ เจธเฉ‚เจšเฉ€ เจฆเฉ€ เจฎเฉเฉœ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเฉ‡เจ—เจพ, เจ…เจคเฉ‡ เจ•เฉเจ เจตเฉ‡เจฐเฉ€เจเจฌเจฒเจพเจ‚ เจจเฉ‚เฉฐ เจธเจฟเฉฑเจงเฉ‡ เจ†เจชเจฃเฉ‡ เจฒเจˆ เจฎเฉเฉœ เจชเจฐเจฟเจญเจพเจธเจผเจฟเจค เจ•เจฐเจจ เจฆเฉ‡ เจฏเฉ‹เจ— เจนเฉ‹เจตเฉ‡เจ—เจพเฅค

เจกเจฟเจชเจฒเจพเจ‡เจฎเฉˆเจ‚เจŸ เจชเฉเจฐเฉ‹เจœเฉˆเจ•เจŸ เจฒเจˆ เจ…เฉฐเจคเจฎ เจกเจพเจ‡เจฐเฉˆเจ•เจŸเจฐเฉ€ เจฌเจฃเจคเจฐ:

mydeploy                        # ะšะฐั‚ะฐะปะพะณ ะดะตะฟะปะพั
โ”œโ”€โ”€ deploy.yml                  # ะŸะปะตะนะฑัƒะบ ะดะตะฟะปะพั
โ”œโ”€โ”€ files                       # ะšะฐั‚ะฐะปะพะณ ะดะปั ั„ะฐะนะปะพะฒ ะดะตะฟะปะพั
โ”‚   โ”œโ”€โ”€ prod                    # ะšะฐั‚ะพะปะพะณ ะดะปั ัั€ะตะดะพะทะฐะฒะธัะธะผั‹ั… ั„ะฐะนะปะพะฒ ัั‚ะตะฝะดะฐ prod
โ”‚   โ”‚   โ””โ”€โ”€ certs               # 
โ”‚   โ”‚       โ””โ”€โ”€ myapi.key       #
โ”‚   โ””โ”€โ”€ test1                   # ะšะฐั‚ะฐะปะพะณ ะดะปั ัั€ะตะดะพะทะฐะฒะธัะธะผั‹ั… ั„ะฐะนะปะพะฒ ัั‚ะตะฝะดะฐ test1
โ”œโ”€โ”€ group_vars                  # ะšะฐั‚ะฐะปะพะณ ะฟะตั€ะตะผะตะฝะฝั‹ั… ะฟะปะตะนะฑัƒะบะฐ
โ”‚   โ”œโ”€โ”€ all.yml                 # ะคะฐะนะป ะดะปั ะฟะตั€ะตะผะตะฝะฝั‹ั… ัะฒัะทะธ ะฒัะตะน ัะธัั‚ะตะผั‹
โ”‚   โ”œโ”€โ”€ myapi.yml               # ะคะฐะนะป ะฟะตั€ะตะผะตะฝะฝั‹ั… ัะฒะพะนัั‚ะฒ ะณั€ัƒะฟะฟั‹ myapi
โ”‚   โ”œโ”€โ”€ bbauth.yml              # 
โ”‚   โ””โ”€โ”€ ghauth.yml              #
โ””โ”€โ”€ inventories                 #
    โ”œโ”€โ”€ prod                    # ะšะฐั‚ะฐะปะพะณ ะพะบั€ัƒะถะตะฝะธั prod
    โ”‚   โ”œโ”€โ”€ group_vars          # ะšะฐั‚ะฐะปะพะณ ะดะปั ะฟะตั€ะตะผะตะฝะฝั‹ั… ะธะฝะฒะตะฝั‚ะพั€ะธ
    โ”‚   โ”‚   โ”œโ”€โ”€ myapi           #
    โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ vars.yml    # ะกั€ะตะดะพะทะฐะฒะธัะธะผั‹ะต ะฟะตั€ะตะผะตะฝะฝั‹ะต ะณั€ัƒะฟะฟั‹ myapi
    โ”‚   โ”‚   โ”‚   โ””โ”€โ”€ vault.yml   # ะกะตะบั€ะตั‚ั‹ (ะฒัะตะณะดะฐ ัั€ะตะดะพะทะฐะฒะธัะธะผั‹)
    โ”‚   โ”‚   โ”œโ”€โ”€ bbauth          # 
    โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ vars.yml    #
    โ”‚   โ”‚   โ”‚   โ””โ”€โ”€ vault.yml   #
    โ”‚   โ”‚   โ””โ”€โ”€ ghauth          #
    โ”‚   โ”‚       โ”œโ”€โ”€ vars.yml    #
    โ”‚   โ”‚       โ””โ”€โ”€ vault.yml   #
    โ”‚   โ””โ”€โ”€ prod.ini            # ะ˜ะฝะฒะตะฝั‚ะพั€ะธ ัั‚ะตะฝะดะฐ prod
    โ””โ”€โ”€ test                    # ะšะฐั‚ะฐะปะพะณ ะพะบั€ัƒะถะตะฝะธั test
        โ”œโ”€โ”€ group_vars          #
        โ”‚   โ”œโ”€โ”€ myapi           #
        โ”‚   โ”‚   โ”œโ”€โ”€ vars.yml    #
        โ”‚   โ”‚   โ””โ”€โ”€ vault.yml   #
        โ”‚   โ”œโ”€โ”€ bbauth          #
        โ”‚   โ”‚   โ”œโ”€โ”€ vars.yml    #
        โ”‚   โ”‚   โ””โ”€โ”€ vault.yml   #
        โ”‚   โ””โ”€โ”€ ghauth          #
        โ”‚       โ”œโ”€โ”€ vars.yml    #
        โ”‚       โ””โ”€โ”€ vault.yml   #
        โ”œโ”€โ”€ test1.ini           # ะ˜ะฝะฒะตะฝั‚ะพั€ะธ ัั‚ะตะฝะดะฐ test1 ะฒ ัั€ะตะดะต test
        โ””โ”€โ”€ test2.ini           # ะ˜ะฝะฒะตะฝั‚ะพั€ะธ ัั‚ะตะฝะดะฐ test2 ะฒ ัั€ะตะดะต test

เจธเฉฐเจ–เฉ‡เจช

เจตเฉ‡เจฐเฉ€เจเจฌเจฒเจพเจ‚ เจจเฉ‚เฉฐ เจฒเฉ‡เจ– เจฆเฉ‡ เจ…เจจเฉเจธเจพเจฐ เจธเฉฐเจ—เจ เจฟเจค เจ•เจฐเจจ เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ: เจนเจฐเฉ‡เจ• เจตเฉ‡เจฐเฉ€เจเจฌเจฒ เจซเจพเจˆเจฒ เจ‡เฉฑเจ• เจ–เจพเจธ เจ•เฉฐเจฎ เจฒเจˆ เจœเจผเจฟเฉฐเจฎเฉ‡เจตเจพเจฐ เจนเฉˆเฅค เจ…เจคเฉ‡ เจ•เจฟเจ‰เจ‚เจ•เจฟ เจซเจพเจˆเจฒ เจตเจฟเฉฑเจš เจ•เฉเจ เจ•เฉฐเจฎ เจนเจจ, เจ‡เจธ เจฒเจˆ เจนเจฐเฉ‡เจ• เจซเจพเจˆเจฒ เจฆเฉ€ เจธเจผเฉเฉฑเจงเจคเจพ เจฒเจˆ เจ•เจฟเจธเฉ‡ เจจเฉ‚เฉฐ เจœเจผเจฟเฉฐเจฎเฉ‡เจตเจพเจฐ เจธเฉŒเจ‚เจชเจฃเจพ เจธเฉฐเจญเจต เจนเฉ‹ เจ—เจฟเจ† เจนเฉˆเฅค เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ, เจธเจฟเจธเจŸเจฎ เจกเจฟเจชเจฒเจพเจ‡เจฎเฉˆเจ‚เจŸ เจฆเจพ เจกเจฟเจตเฉˆเจฒเจชเจฐ เจชเจฒเฉ‡เจฌเฉเฉฑเจ• เจตเฉ‡เจฐเฉ€เจเจฌเจฒเจพเจ‚ เจจเฉ‚เฉฐ เจธเจนเฉ€ เจญเจฐเจจ เจฒเจˆ เจœเจผเจฟเฉฐเจฎเฉ‡เจตเจพเจฐ เจฌเจฃ เจœเจพเจ‚เจฆเจพ เจนเฉˆ, เจœเจฆเฉ‹เจ‚ เจ•เจฟ เจชเฉเจฐเจธเจผเจพเจธเจ• เจœเจฟเจธเจฆเจพ เจธเจŸเฉˆเจ‚เจก เจตเจธเจคเฉ‚ เจธเฉ‚เจšเฉ€ เจตเจฟเฉฑเจš เจฆเจฐเจธเจพเจ‡เจ† เจ—เจฟเจ† เจนเฉˆ, เจตเฉ‡เจฐเฉ€เจเจฌเจฒเจพเจ‚ เจฆเฉ€ เจตเจธเจคเฉ‚ เจธเฉ‚เจšเฉ€ เจจเฉ‚เฉฐ เจญเจฐเจจ เจฒเจˆ เจธเจฟเฉฑเจงเฉ‡ เจคเฉŒเจฐ 'เจคเฉ‡ เจœเจผเจฟเฉฐเจฎเฉ‡เจตเจพเจฐ เจนเฉเฉฐเจฆเจพ เจนเฉˆเฅค

เจญเฉ‚เจฎเจฟเจ•เจพเจตเจพเจ‚ เจ†เจชเจฃเฉ‡ เจ–เฉเจฆ เจฆเฉ‡ เจ‡เฉฐเจŸเจฐเจซเฉ‡เจธ เจจเจพเจฒ เจ†เจชเจฃเฉ€ เจ–เฉเจฆ เจฆเฉ€ เจตเจฟเจ•เจพเจธ เจ‡เจ•เจพเจˆ เจฌเจฃ เจ—เจˆเจ†เจ‚, เจœเจฟเจธ เจจเจพเจฒ เจฐเฉ‹เจฒ เจกเจฟเจตเฉˆเจฒเจชเจฐ เจจเฉ‚เฉฐ เจธเจฟเจธเจŸเจฎ เจฒเจˆ เจญเฉ‚เจฎเจฟเจ•เจพ เจจเฉ‚เฉฐ เจ…เจจเฉเจ•เฉ‚เจฒเจฟเจค เจ•เจฐเจจ เจฆเฉ€ เจฌเจœเจพเจ เจธเจฎเจฐเฉฑเจฅเจพเจตเจพเจ‚ เจตเจฟเจ•เจธเจฟเจค เจ•เจฐเจจ เจฆเฉ€ เจ‡เจœเจพเจœเจผเจค เจฆเจฟเฉฑเจคเฉ€ เจ—เจˆเฅค เจ‡เจน เจธเจฎเฉฑเจธเจฟเจ† เจ–เจพเจธ เจคเฉŒเจฐ 'เจคเฉ‡ เจฎเฉเจนเจฟเฉฐเจฎ เจตเจฟเฉฑเจš เจธเจพเจฐเฉ€เจ†เจ‚ เจชเฉเจฐเจฃเจพเจฒเฉ€เจ†เจ‚ เจฒเจˆ เจธเจพเจ‚เจเฉ€เจ†เจ‚ เจญเฉ‚เจฎเจฟเจ•เจพเจตเจพเจ‚ เจจเจพเจฒ เจธเจฌเฉฐเจงเจค เจนเฉˆเฅค

เจธเจฟเจธเจŸเจฎ เจชเฉเจฐเจธเจผเจพเจธเจ•เจพเจ‚ เจจเฉ‚เฉฐ เจนเฉเจฃ เจคเฉˆเจจเจพเจคเฉ€ เจ•เฉ‹เจก เจจเฉ‚เฉฐ เจธเจฎเจเจฃ เจฆเฉ€ เจฒเฉ‹เฉœ เจจเจนเฉ€เจ‚ เจนเฉˆเฅค เจธเจซเจฒเจคเจพเจชเฉ‚เจฐเจตเจ• เจคเฉˆเจจเจพเจคเฉ€ เจฒเจˆ เจ‰เจนเจจเจพเจ‚ เจจเฉ‚เฉฐ เจœเฉ‹ เจฒเฉ‹เฉœเฉ€เจ‚เจฆเจพ เจนเฉˆ เจ‰เจน เจนเฉˆ เจตเจพเจคเจพเจตเจฐเจฃ-เจจเจฟเจฐเจญเจฐ เจตเฉ‡เจฐเฉ€เจเจฌเจฒ เจฆเฉ€เจ†เจ‚ เจซเจพเจˆเจฒเจพเจ‚ เจจเฉ‚เฉฐ เจญเจฐเจจเจพเฅค

เจธเจพเจนเจฟเจค

  1. เจฆเจธเจคเจพเจตเฉ‡เจœเจผ

เจฒเฉ‡เจ–เจ•

เจ•เจฒเจฏเฉเจœเจผเจจเฉ€ เจกเฉ‡เจจเจฟเจธ เจ…เจฒเฉˆเจ—เจœเจผเฉˆเจ‚เจกเจฐเฉ‹เจตเจฟเจš

เจธเจฐเฉ‹เจค: www.habr.com

เจ‡เฉฑเจ• เจŸเจฟเฉฑเจชเจฃเฉ€ เจœเฉ‹เฉœเฉ‹