āĻĒā§āĻ¤ā§āĻ˛ā§‡āĻ° āĻĒāĻ°āĻŋāĻšāĻ¯āĻŧ

āĻĒā§āĻ¤ā§āĻ˛ āĻāĻ•āĻŸāĻŋ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°ā§‡āĻļāĻ¨ āĻŽā§āĻ¯āĻžāĻ¨ā§‡āĻœāĻŽā§‡āĻ¨ā§āĻŸ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽāĨ¤ āĻāĻŸāĻŋ āĻšā§‹āĻ¸ā§āĻŸāĻ•ā§‡ āĻĒāĻ›āĻ¨ā§āĻĻāĻ¸āĻ‡ āĻ…āĻŦāĻ¸ā§āĻĨāĻžāĻ¯āĻŧ āĻ†āĻ¨āĻ¤ā§‡ āĻāĻŦāĻ‚ āĻāĻ‡ āĻ…āĻŦāĻ¸ā§āĻĨāĻž āĻŦāĻœāĻžāĻ¯āĻŧ āĻ°āĻžāĻ–āĻ¤ā§‡ āĻŦā§āĻ¯āĻŦāĻšā§ƒāĻ¤ āĻšāĻ¯āĻŧāĨ¤

āĻ†āĻŽāĻŋ āĻāĻ–āĻ¨ āĻĒāĻžāĻāĻš āĻŦāĻ›āĻ°ā§‡āĻ°āĻ“ āĻŦā§‡āĻļāĻŋ āĻ¸āĻŽāĻ¯āĻŧ āĻ§āĻ°ā§‡ āĻĒā§āĻ¤ā§āĻ˛ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ•āĻžāĻœ āĻ•āĻ°āĻ›āĻŋāĨ¤ āĻāĻ‡ āĻĒāĻžāĻ ā§āĻ¯āĻŸāĻŋ āĻŽā§‚āĻ˛āĻ¤ āĻ…āĻĢāĻŋāĻ¸āĻŋāĻ¯āĻŧāĻžāĻ˛ āĻĄāĻ•ā§āĻŽā§‡āĻ¨ā§āĻŸā§‡āĻļāĻ¨ āĻĨā§‡āĻ•ā§‡ āĻŽā§‚āĻ˛ āĻĒāĻ¯āĻŧā§‡āĻ¨ā§āĻŸāĻ—ā§āĻ˛āĻŋāĻ° āĻāĻ•āĻŸāĻŋ āĻ…āĻ¨ā§āĻŦāĻžāĻĻāĻŋāĻ¤ āĻāĻŦāĻ‚ āĻĒā§āĻ¨āĻ°ā§āĻŦāĻŋāĻ¨ā§āĻ¯āĻžāĻ¸ āĻ¸āĻ‚āĻ•āĻ˛āĻ¨, āĻ¯āĻž āĻ¨āĻ¤ā§āĻ¨āĻĻā§‡āĻ° āĻĻā§āĻ°ā§āĻ¤ āĻĒā§āĻ¤ā§āĻ˛ā§‡āĻ° āĻ¸āĻžāĻ°āĻŽāĻ°ā§āĻŽ āĻŦā§āĻāĻ¤ā§‡ āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯ āĻ•āĻ°āĻŦā§‡āĨ¤

āĻĒā§āĻ¤ā§āĻ˛ā§‡āĻ° āĻĒāĻ°āĻŋāĻšāĻ¯āĻŧ

āĻŽā§ŒāĻ˛āĻŋāĻ• āĻ¤āĻĨā§āĻ¯

āĻĒā§āĻ¤ā§āĻ˛ā§‡āĻ° āĻ…āĻĒāĻžāĻ°ā§‡āĻŸāĻŋāĻ‚ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻšāĻ˛ āĻ•ā§āĻ˛āĻžāĻ¯āĻŧā§‡āĻ¨ā§āĻŸ-āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ°, āĻ¯āĻĻāĻŋāĻ“ āĻāĻŸāĻŋ āĻ¸ā§€āĻŽāĻŋāĻ¤ āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻžāĻ°āĻŋāĻ¤āĻžāĻ° āĻ¸āĻžāĻĨā§‡ āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ°āĻšā§€āĻ¨ āĻ…āĻĒāĻžāĻ°ā§‡āĻļāĻ¨āĻ•ā§‡āĻ“ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻ•āĻ°ā§‡āĨ¤

āĻ…āĻĒāĻžāĻ°ā§‡āĻļāĻ¨ā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻŸāĻžāĻ¨ āĻŽāĻĄā§‡āĻ˛ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ: āĻĄāĻŋāĻĢāĻ˛ā§āĻŸāĻ°ā§‚āĻĒā§‡, āĻĒā§āĻ°āĻ¤āĻŋ āĻ†āĻ§ āĻ˜āĻ¨ā§āĻŸāĻžāĻ¯āĻŧ āĻāĻ•āĻŦāĻžāĻ°, āĻ•ā§āĻ˛āĻžāĻ¯āĻŧā§‡āĻ¨ā§āĻŸāĻ°āĻž āĻāĻ•āĻŸāĻŋ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°ā§‡āĻļāĻ¨ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ°ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ¯ā§‹āĻ—āĻžāĻ¯ā§‹āĻ— āĻ•āĻ°ā§‡ āĻāĻŦāĻ‚ āĻāĻŸāĻŋ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻ— āĻ•āĻ°ā§‡āĨ¤ āĻ†āĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ Ansible āĻāĻ° āĻ¸āĻžāĻĨā§‡ āĻ•āĻžāĻœ āĻ•āĻ°ā§‡ āĻĨāĻžāĻ•ā§‡āĻ¨ āĻ¤āĻŦā§‡ āĻ¤āĻžāĻ°āĻž āĻāĻ•āĻŸāĻŋ āĻ­āĻŋāĻ¨ā§āĻ¨ āĻĒā§āĻļ āĻŽāĻĄā§‡āĻ˛ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡: āĻĒā§āĻ°āĻļāĻžāĻ¸āĻ• āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°ā§‡āĻļāĻ¨ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻ— āĻ•āĻ°āĻžāĻ° āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻļā§āĻ°ā§ āĻ•āĻ°ā§‡āĻ¨, āĻ•ā§āĻ˛āĻžāĻ¯āĻŧā§‡āĻ¨ā§āĻŸāĻ°āĻž āĻ¨āĻŋāĻœā§‡āĻ°āĻžāĻ‡ āĻ•āĻŋāĻ›ā§ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻ— āĻ•āĻ°āĻŦā§‡ āĻ¨āĻžāĨ¤

āĻ¨ā§‡āĻŸāĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻ• āĻ¯ā§‹āĻ—āĻžāĻ¯ā§‹āĻ—ā§‡āĻ° āĻ¸āĻŽāĻ¯āĻŧ, āĻĻā§āĻŦāĻŋ-āĻŽā§āĻ–ā§€ TLS āĻāĻ¨āĻ•ā§āĻ°āĻŋāĻĒāĻļāĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ: āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ° āĻāĻŦāĻ‚ āĻ•ā§āĻ˛āĻžāĻ¯āĻŧā§‡āĻ¨ā§āĻŸā§‡āĻ° āĻ¨āĻŋāĻœāĻ¸ā§āĻŦ āĻŦā§āĻ¯āĻ•ā§āĻ¤āĻŋāĻ—āĻ¤ āĻ•ā§€ āĻāĻŦāĻ‚ āĻ¸āĻ‚āĻļā§āĻ˛āĻŋāĻˇā§āĻŸ āĻļāĻ‚āĻ¸āĻžāĻĒāĻ¤ā§āĻ° āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤ āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ° āĻ•ā§āĻ˛āĻžāĻ¯āĻŧā§‡āĻ¨ā§āĻŸāĻĻā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ¸āĻžāĻ°ā§āĻŸāĻŋāĻĢāĻŋāĻ•ā§‡āĻŸ āĻœāĻžāĻ°āĻŋ āĻ•āĻ°ā§‡, āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻ¨ā§€āĻ¤āĻŋāĻ—āĻ¤āĻ­āĻžāĻŦā§‡ āĻāĻŸāĻŋ āĻāĻ•āĻŸāĻŋ āĻŦāĻšāĻŋāĻ°āĻžāĻ—āĻ¤ CA āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻ¸āĻŽā§āĻ­āĻŦāĨ¤

āĻ‡āĻļāĻ¤ā§‡āĻšāĻžāĻ°ā§‡āĻ° āĻ­ā§‚āĻŽāĻŋāĻ•āĻž

āĻĒā§āĻ¤ā§āĻ˛ āĻĒāĻ°āĻŋāĻ­āĻžāĻˇāĻžāĻ¯āĻŧ āĻĒā§āĻ¤ā§āĻ˛ āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ°ā§‡ āĻ¸āĻ‚āĻ¯ā§‹āĻ— āĻ¨ā§‹āĻĄ (āĻ¨ā§‹āĻĄ)āĨ¤ āĻ¨ā§‹āĻĄā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°ā§‡āĻļāĻ¨ āĻ˛ā§‡āĻ–āĻž āĻ†āĻ›ā§‡ āĻ‡āĻļāĻ¤ā§‡āĻšāĻžāĻ°ā§‡ āĻāĻ•āĻŸāĻŋ āĻŦāĻŋāĻļā§‡āĻˇ āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽāĻŋāĻ‚ āĻ­āĻžāĻˇāĻžāĻ¯āĻŧ - āĻĒā§āĻ¤ā§āĻ˛ āĻĄāĻŋāĻāĻ¸āĻāĻ˛āĨ¤

āĻĒā§āĻ¤ā§āĻ˛ āĻĄāĻŋāĻāĻ¸āĻāĻ˛ āĻāĻ•āĻŸāĻŋ āĻ˜ā§‹āĻˇāĻŖāĻžāĻŽā§‚āĻ˛āĻ• āĻ­āĻžāĻˇāĻžāĨ¤ āĻāĻŸāĻŋ āĻĒā§ƒāĻĨāĻ• āĻ¸āĻ‚āĻ¸ā§āĻĨāĻžāĻ¨āĻ—ā§āĻ˛āĻŋāĻ° āĻ˜ā§‹āĻˇāĻŖāĻžāĻ° āĻ†āĻ•āĻžāĻ°ā§‡ āĻ¨ā§‹āĻĄā§‡āĻ° āĻĒāĻ›āĻ¨ā§āĻĻāĻ¸āĻ‡ āĻ…āĻŦāĻ¸ā§āĻĨāĻž āĻŦāĻ°ā§āĻŖāĻ¨āĻž āĻ•āĻ°ā§‡, āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§‚āĻĒ:

  • āĻĢāĻžāĻ‡āĻ˛āĻŸāĻŋ āĻŦāĻŋāĻĻā§āĻ¯āĻŽāĻžāĻ¨ āĻāĻŦāĻ‚ āĻāĻ¤ā§‡ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻŦāĻŋāĻˇāĻ¯āĻŧāĻŦāĻ¸ā§āĻ¤ā§ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤
  • āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻœ āĻ‡āĻ¨āĻ¸ā§āĻŸāĻ˛ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ.
  • āĻ¸ā§‡āĻŦāĻž āĻļā§āĻ°ā§ āĻšāĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤

āĻ¸āĻŽā§āĻĒāĻĻ āĻ†āĻ¨ā§āĻ¤āĻƒāĻ¸āĻ‚āĻ¯ā§āĻ•ā§āĻ¤ āĻšāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡:

  • āĻ¨āĻŋāĻ°ā§āĻ­āĻ°āĻ¤āĻž āĻ†āĻ›ā§‡, āĻ¤āĻžāĻ°āĻž āĻ¸āĻŽā§āĻĒāĻĻ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ āĻ¯ā§‡ āĻ•ā§āĻ°āĻŽ āĻĒā§āĻ°āĻ­āĻžāĻŦāĻŋāĻ¤.
    āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§‚āĻĒ, "āĻĒā§āĻ°āĻĨāĻŽā§‡ āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻœāĻŸāĻŋ āĻ‡āĻ¨āĻ¸ā§āĻŸāĻ˛ āĻ•āĻ°ā§āĻ¨, āĻ¤āĻžāĻ°āĻĒāĻ°ā§‡ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°ā§‡āĻļāĻ¨ āĻĢāĻžāĻ‡āĻ˛āĻŸāĻŋ āĻ¸āĻŽā§āĻĒāĻžāĻĻāĻ¨āĻž āĻ•āĻ°ā§āĻ¨, āĻ¤āĻžāĻ°āĻĒāĻ°ā§‡ āĻĒāĻ°āĻŋāĻˇā§‡āĻŦāĻžāĻŸāĻŋ āĻļā§āĻ°ā§ āĻ•āĻ°ā§āĻ¨āĨ¤"
  • āĻŦāĻŋāĻœā§āĻžāĻĒā§āĻ¤āĻŋ āĻ†āĻ›ā§‡ - āĻ¯āĻĻāĻŋ āĻāĻ•āĻŸāĻŋ āĻ¸āĻ‚āĻ¸ā§āĻĨāĻžāĻ¨ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻŋāĻ¤ āĻšāĻ¯āĻŧ āĻ¤āĻŦā§‡ āĻāĻŸāĻŋ āĻ¸āĻĻāĻ¸ā§āĻ¯āĻ¤āĻž āĻ¨ā§‡āĻ“āĻ¯āĻŧāĻž āĻ¸āĻ‚āĻ¸ā§āĻĨāĻžāĻ¨āĻ—ā§āĻ˛āĻŋāĻ¤ā§‡ āĻŦāĻŋāĻœā§āĻžāĻĒā§āĻ¤āĻŋ āĻĒāĻžāĻ āĻžāĻ¯āĻŧāĨ¤
    āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§‚āĻĒ, āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°ā§‡āĻļāĻ¨ āĻĢāĻžāĻ‡āĻ˛ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻšāĻ˛ā§‡, āĻ†āĻĒāĻ¨āĻŋ āĻ¸ā§āĻŦāĻ¯āĻŧāĻ‚āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻ­āĻžāĻŦā§‡ āĻĒāĻ°āĻŋāĻˇā§‡āĻŦāĻžāĻŸāĻŋ āĻĒā§āĻ¨āĻ°āĻžāĻ¯āĻŧ āĻšāĻžāĻ˛ā§ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨āĨ¤

āĻ…āĻ¤āĻŋāĻ°āĻŋāĻ•ā§āĻ¤āĻ­āĻžāĻŦā§‡, āĻĒāĻžāĻĒā§‡āĻŸ āĻĄāĻŋāĻāĻ¸āĻāĻ˛ā§‡āĻ° āĻĢāĻžāĻ‚āĻļāĻ¨ āĻāĻŦāĻ‚ āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛ā§‡āĻ° āĻĒāĻžāĻļāĻžāĻĒāĻžāĻļāĻŋ āĻļāĻ°ā§āĻ¤āĻ¸āĻžāĻĒā§‡āĻ•ā§āĻˇ āĻŦāĻŋāĻŦā§ƒāĻ¤āĻŋ āĻāĻŦāĻ‚ āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻšāĻ• āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤ āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āĻ¨ āĻŸā§‡āĻŽāĻĒā§āĻ˛ā§‡āĻŸāĻŋāĻ‚ āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻ“ āĻ¸āĻŽāĻ°ā§āĻĨāĻŋāĻ¤ - EPP āĻāĻŦāĻ‚ ERBāĨ¤

āĻĒāĻžāĻĒā§‡āĻŸ āĻ°ā§āĻŦāĻŋāĻ¤ā§‡ āĻ˛ā§‡āĻ–āĻž, āĻ¤āĻžāĻ‡ āĻ…āĻ¨ā§‡āĻ•āĻ—ā§āĻ˛ā§‹ āĻ—āĻ āĻ¨ āĻ“ āĻĒāĻĻ āĻ¸ā§‡āĻ–āĻžāĻ¨ āĻĨā§‡āĻ•ā§‡ āĻ¨ā§‡āĻ“āĻ¯āĻŧāĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤ āĻ°ā§āĻŦāĻŋ āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻĒāĻžāĻĒā§‡āĻŸ āĻĒā§āĻ°āĻ¸āĻžāĻ°āĻŋāĻ¤ āĻ•āĻ°āĻ¤ā§‡ āĻĻā§‡āĻ¯āĻŧ - āĻœāĻŸāĻŋāĻ˛ āĻ¯ā§āĻ•ā§āĻ¤āĻŋ, āĻ¨āĻ¤ā§āĻ¨ āĻ§āĻ°āĻ¨ā§‡āĻ° āĻ¸āĻ‚āĻ¸ā§āĻĨāĻžāĻ¨, āĻĢāĻžāĻ‚āĻļāĻ¨ āĻ¯ā§‹āĻ— āĻ•āĻ°ā§āĻ¨āĨ¤

āĻ¯āĻ–āĻ¨ āĻĒāĻžāĻĒā§‡āĻŸ āĻšāĻ˛āĻ›ā§‡, āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ°ā§‡ āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ¨ā§‹āĻĄā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻŽā§āĻ¯āĻžāĻ¨āĻŋāĻĢā§‡āĻ¸ā§āĻŸāĻ—ā§āĻ˛āĻŋ āĻāĻ•āĻŸāĻŋ āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋāĻ¤ā§‡ āĻ¸āĻ‚āĻ•āĻ˛āĻŋāĻ¤ āĻšāĻ¯āĻŧāĨ¤ āĻĄāĻžāĻ‡āĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋ āĻĢāĻžāĻ‚āĻļāĻ¨, āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛ āĻāĻŦāĻ‚ āĻ•āĻ¨ā§āĻĄāĻŋāĻļāĻ¨āĻžāĻ˛ āĻ¸ā§āĻŸā§‡āĻŸāĻŽā§‡āĻ¨ā§āĻŸā§‡āĻ° āĻĒā§āĻ°āĻ¸āĻžāĻ°āĻŖā§‡āĻ° āĻŽāĻžāĻ¨ āĻ—āĻŖāĻ¨āĻž āĻ•āĻ°āĻžāĻ° āĻĒāĻ°ā§‡ āĻ¸āĻŽā§āĻĒāĻĻ āĻāĻŦāĻ‚ āĻ¤āĻžāĻĻā§‡āĻ° āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻ¤āĻžāĻ˛āĻŋāĻ•āĻžāĨ¤

āĻ¸āĻŋāĻ¨āĻŸā§āĻ¯āĻžāĻ•ā§āĻ¸ āĻāĻŦāĻ‚ āĻ•ā§‹āĻĄāĻ¸ā§āĻŸāĻžāĻ‡āĻ˛

āĻāĻ–āĻžāĻ¨ā§‡ āĻ…āĻĢāĻŋāĻ¸āĻŋāĻ¯āĻŧāĻžāĻ˛ āĻĄāĻ•ā§āĻŽā§‡āĻ¨ā§āĻŸā§‡āĻļāĻ¨ā§‡āĻ° āĻ•āĻŋāĻ›ā§ āĻ…āĻ‚āĻļ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡ āĻ¯āĻž āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻ¸āĻŋāĻ¨āĻŸā§āĻ¯āĻžāĻ•ā§āĻ¸ āĻŦā§āĻāĻ¤ā§‡ āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯ āĻ•āĻ°āĻŦā§‡ āĻ¯āĻĻāĻŋ āĻĒā§āĻ°āĻĻāĻ¤ā§āĻ¤ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ—ā§āĻ˛āĻŋ āĻ¯āĻĨā§‡āĻˇā§āĻŸ āĻ¨āĻž āĻšāĻ¯āĻŧ:

āĻŽā§āĻ¯āĻžāĻ¨āĻŋāĻĢā§‡āĻ¸ā§āĻŸāĻŸāĻŋ āĻ•ā§‡āĻŽāĻ¨ āĻĻā§‡āĻ–āĻžāĻšā§āĻ›ā§‡ āĻ¤āĻžāĻ° āĻāĻ•āĻŸāĻŋ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻāĻ–āĻžāĻ¨ā§‡ āĻĻā§‡āĻ“āĻ¯āĻŧāĻž āĻšāĻ˛:

# КоĐŧĐŧĐĩĐŊŅ‚Đ°Ņ€Đ¸Đ¸ ĐŋиŅˆŅƒŅ‚ŅŅ, ĐēĐ°Đē и ĐŧĐŊĐžĐŗĐž ĐŗĐ´Đĩ, ĐŋĐžŅĐģĐĩ Ņ€ĐĩŅˆŅ‘Ņ‚Đēи.
#
# ОĐŋиŅĐ°ĐŊиĐĩ ĐēĐžĐŊŅ„иĐŗŅƒŅ€Đ°Ņ†Đ¸Đ¸ ĐŊОдŅ‹ ĐŊĐ°Ņ‡Đ¸ĐŊĐ°ĐĩŅ‚ŅŅ Ņ ĐēĐģŅŽŅ‡ĐĩвОĐŗĐž ŅĐģОва node,
# Са ĐēĐžŅ‚ĐžŅ€Ņ‹Đŧ ŅĐģĐĩĐ´ŅƒĐĩŅ‚ ŅĐĩĐģĐĩĐēŅ‚ĐžŅ€ ĐŊОдŅ‹ — Ņ…ĐžŅŅ‚ĐŊĐĩĐšĐŧ (Ņ Đ´ĐžĐŧĐĩĐŊĐžĐŧ иĐģи ĐąĐĩС)
# иĐģи Ņ€ĐĩĐŗŅƒĐģŅŅ€ĐŊĐžĐĩ вŅ‹Ņ€Đ°ĐļĐĩĐŊиĐĩ Đ´ĐģŅ Ņ…ĐžŅŅ‚ĐŊĐĩĐšĐŧОв, иĐģи ĐēĐģŅŽŅ‡ĐĩвОĐĩ ŅĐģОвО default.
#
# ПоŅĐģĐĩ ŅŅ‚ĐžĐŗĐž в Ņ„иĐŗŅƒŅ€ĐŊŅ‹Ņ… ŅĐēОйĐēĐ°Ņ… ĐžĐŋиŅŅ‹Đ˛Đ°ĐĩŅ‚ŅŅ ŅĐžĐąŅŅ‚вĐĩĐŊĐŊĐž ĐēĐžĐŊŅ„иĐŗŅƒŅ€Đ°Ņ†Đ¸Ņ ĐŊОдŅ‹.
#
# ОдĐŊĐ° и Ņ‚Đ° ĐļĐĩ ĐŊОда ĐŧĐžĐļĐĩŅ‚ ĐŋĐžĐŋĐ°ŅŅ‚ŅŒ ĐŋОд ĐŊĐĩŅĐēĐžĐģŅŒĐēĐž ŅĐĩĐģĐĩĐēŅ‚ĐžŅ€ĐžĐ˛. ПŅ€Đž ĐŋŅ€Đ¸ĐžŅ€Đ¸Ņ‚ĐĩŅ‚
# ŅĐĩĐģĐĩĐēŅ‚ĐžŅ€ĐžĐ˛ ĐŊĐ°ĐŋиŅĐ°ĐŊĐž в ŅŅ‚Đ°Ņ‚ŅŒĐĩ ĐŋŅ€Đž ŅĐ¸ĐŊŅ‚Đ°ĐēŅĐ¸Ņ ĐžĐŋиŅĐ°ĐŊиŅ ĐŊОд.
node 'hostname', 'f.q.d.n', /regexp/ {
  # КоĐŊŅ„иĐŗŅƒŅ€Đ°Ņ†Đ¸Ņ ĐŋĐž ŅŅƒŅ‚и ŅĐ˛ĐģŅĐĩŅ‚ŅŅ ĐŋĐĩŅ€ĐĩŅ‡Đ¸ŅĐģĐĩĐŊиĐĩĐŧ Ņ€ĐĩŅŅƒŅ€ŅĐžĐ˛ и иŅ… ĐŋĐ°Ņ€Đ°ĐŧĐĩŅ‚Ņ€ĐžĐ˛.
  #
  # ĐŖ ĐēĐ°ĐļĐ´ĐžĐŗĐž Ņ€ĐĩŅŅƒŅ€ŅĐ° ĐĩŅŅ‚ŅŒ Ņ‚иĐŋ и ĐŊаСваĐŊиĐĩ.
  #
  # ВĐŊиĐŧĐ°ĐŊиĐĩ: ĐŊĐĩ ĐŧĐžĐļĐĩŅ‚ ĐąŅ‹Ņ‚ŅŒ двŅƒŅ… Ņ€ĐĩŅŅƒŅ€ŅĐžĐ˛ ОдĐŊĐžĐŗĐž Ņ‚иĐŋĐ° Ņ ОдиĐŊĐ°ĐēОвŅ‹Đŧи ĐŊаСваĐŊиŅĐŧи!
  #
  # ОĐŋиŅĐ°ĐŊиĐĩ Ņ€ĐĩŅŅƒŅ€ŅĐ° ĐŊĐ°Ņ‡Đ¸ĐŊĐ°ĐĩŅ‚ŅŅ Ņ ĐĩĐŗĐž Ņ‚иĐŋĐ°. ĐĸиĐŋ ĐŋиŅˆĐĩŅ‚ŅŅ в ĐŊиĐļĐŊĐĩĐŧ Ņ€ĐĩĐŗиŅŅ‚Ņ€Đĩ.
  # ПŅ€Đž Ņ€Đ°ĐˇĐŊŅ‹Đĩ Ņ‚иĐŋŅ‹ Ņ€ĐĩŅŅƒŅ€ŅĐžĐ˛ ĐŊĐ°ĐŋиŅĐ°ĐŊĐž ĐŊиĐļĐĩ.
  #
  # ПоŅĐģĐĩ Ņ‚иĐŋĐ° в Ņ„иĐŗŅƒŅ€ĐŊŅ‹Ņ… ŅĐēОйĐēĐ°Ņ… ĐŋиŅˆĐĩŅ‚ŅŅ ĐŊаСваĐŊиĐĩ Ņ€ĐĩŅŅƒŅ€ŅĐ°, ĐŋĐžŅ‚ĐžĐŧ двОĐĩŅ‚ĐžŅ‡Đ¸Đĩ,
  # Đ´Đ°ĐģŅŒŅˆĐĩ идŅ‘Ņ‚ ĐžĐŋŅ†Đ¸ĐžĐŊĐ°ĐģŅŒĐŊĐžĐĩ ĐŋĐĩŅ€ĐĩŅ‡Đ¸ŅĐģĐĩĐŊиĐĩ ĐŋĐ°Ņ€Đ°ĐŧĐĩŅ‚Ņ€ĐžĐ˛ Ņ€ĐĩŅŅƒŅ€ŅĐ° и иŅ… СĐŊĐ°Ņ‡ĐĩĐŊиК.
  # ЗĐŊĐ°Ņ‡ĐĩĐŊиŅ ĐŋĐ°Ņ€Đ°ĐŧĐĩŅ‚Ņ€ĐžĐ˛ ŅƒĐēаСŅ‹Đ˛Đ°ŅŽŅ‚ŅŅ Ņ‡ĐĩŅ€ĐĩС Ņ‚.ĐŊ. hash rocket (=>).
  resource { 'title':
    param1 => value1,
    param2 => value2,
    param3 => value3,
  }
}

āĻ‡āĻ¨ā§āĻĄā§‡āĻ¨ā§āĻŸā§‡āĻļāĻ¨ āĻāĻŦāĻ‚ āĻ˛āĻžāĻ‡āĻ¨ āĻŦā§āĻ°ā§‡āĻ• āĻŽā§āĻ¯āĻžāĻ¨āĻŋāĻĢā§‡āĻ¸ā§āĻŸā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ā§€āĻ¯āĻŧ āĻ…āĻ‚āĻļ āĻ¨āĻ¯āĻŧ, āĻ¤āĻŦā§‡ āĻāĻ•āĻŸāĻŋ āĻ¸ā§āĻĒāĻžāĻ°āĻŋāĻļ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ āĻļā§ˆāĻ˛ā§€ āĻ—āĻžāĻ‡āĻĄ. āĻ¸āĻžāĻ°āĻ¸āĻ‚āĻ•ā§āĻˇā§‡āĻĒ:

  • āĻŸā§-āĻ¸ā§āĻĒā§‡āĻ¸ āĻ‡āĻ¨ā§āĻĄā§‡āĻ¨ā§āĻŸ, āĻŸā§āĻ¯āĻžāĻŦ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ āĻ¨āĻžāĨ¤
  • āĻ•ā§‹āĻāĻ•āĻĄāĻŧāĻž āĻ§āĻ¨ā§āĻ°ā§āĻŦāĻ¨ā§āĻ§āĻ¨ā§€ āĻāĻ•āĻŸāĻŋ āĻ¸ā§āĻĨāĻžāĻ¨ āĻĻā§āĻŦāĻžāĻ°āĻž āĻĒā§ƒāĻĨāĻ• āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ; āĻ•ā§‹āĻ˛āĻ¨ āĻāĻ•āĻŸāĻŋ āĻ¸ā§āĻĨāĻžāĻ¨ āĻĻā§āĻŦāĻžāĻ°āĻž āĻĒā§ƒāĻĨāĻ• āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ āĻ¨āĻžāĨ¤
  • āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻŸāĻžāĻ°ā§‡āĻ° āĻĒāĻ°ā§‡ āĻ•āĻŽāĻž, āĻļā§‡āĻˇāĻŸāĻŋ āĻ¸āĻšāĨ¤ āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻĒāĻ°āĻžāĻŽāĻŋāĻ¤āĻŋ āĻāĻ•āĻŸāĻŋ āĻĒā§ƒāĻĨāĻ• āĻ˛āĻžāĻ‡āĻ¨ā§‡ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤ āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻŸāĻžāĻ° āĻāĻŦāĻ‚ āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻŸāĻžāĻ° āĻ›āĻžāĻĄāĻŧāĻž āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡ āĻāĻ•āĻŸāĻŋ āĻŦā§āĻ¯āĻ¤āĻŋāĻ•ā§āĻ°āĻŽ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡: āĻ†āĻĒāĻ¨āĻŋ āĻāĻ•āĻŸāĻŋ āĻ˛āĻžāĻ‡āĻ¨ā§‡ āĻāĻŦāĻ‚ āĻāĻ•āĻŸāĻŋ āĻ•āĻŽāĻž āĻ›āĻžāĻĄāĻŧāĻžāĻ‡ āĻ˛āĻŋāĻ–āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨ (āĻ¯ā§‡āĻŽāĻ¨ resource { 'title': } и resource { 'title': param => value }).
  • āĻĒāĻ°āĻžāĻŽāĻŋāĻ¤āĻŋāĻ—ā§āĻ˛āĻŋāĻ° āĻ¤ā§€āĻ°āĻ—ā§āĻ˛āĻŋ āĻāĻ•āĻ‡ āĻ¸ā§āĻ¤āĻ°ā§‡ āĻšāĻ“āĻ¯āĻŧāĻž āĻ‰āĻšāĻŋāĻ¤āĨ¤
  • āĻ¸āĻŽā§āĻĒāĻĻ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ• āĻ¤ā§€āĻ° āĻ¤āĻžāĻĻā§‡āĻ° āĻ¸āĻžāĻŽāĻ¨ā§‡ āĻ˛ā§‡āĻ–āĻž āĻšāĻ¯āĻŧ.

āĻĒā§āĻ¯āĻžāĻĒā§‡āĻŸāĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ°ā§‡ āĻĢāĻžāĻ‡āĻ˛ā§‡āĻ° āĻ…āĻŦāĻ¸ā§āĻĨāĻžāĻ¨

āĻ†āĻ°āĻ“ āĻŦā§āĻ¯āĻžāĻ–ā§āĻ¯āĻžāĻ° āĻœāĻ¨ā§āĻ¯, āĻ†āĻŽāĻŋ "āĻ°ā§āĻŸ āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋ" āĻ§āĻžāĻ°āĻŖāĻžāĻŸāĻŋ āĻšāĻžāĻ˛ā§ āĻ•āĻ°āĻŦāĨ¤ āĻ°ā§āĻŸ āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋ āĻšāĻ˛ āĻ¸ā§‡āĻ‡ āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋ āĻ¯āĻžāĻ¤ā§‡ āĻāĻ•āĻŸāĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ¨ā§‹āĻĄā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻĒā§āĻ¤ā§āĻ˛ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°ā§‡āĻļāĻ¨ āĻĨāĻžāĻ•ā§‡āĨ¤

āĻ°ā§āĻŸ āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋāĻŸāĻŋ āĻĒāĻžāĻĒā§‡āĻŸā§‡āĻ° āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖ āĻāĻŦāĻ‚ āĻŦā§āĻ¯āĻŦāĻšā§ƒāĻ¤ āĻĒāĻ°āĻŋāĻŦā§‡āĻļā§‡āĻ° āĻ‰āĻĒāĻ° āĻ¨āĻŋāĻ°ā§āĻ­āĻ° āĻ•āĻ°ā§‡ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻŋāĻ¤ āĻšāĻ¯āĻŧāĨ¤ āĻĒāĻ°āĻŋāĻŦā§‡āĻļ āĻšāĻ˛ āĻ¸ā§āĻŦāĻ¤āĻ¨ā§āĻ¤ā§āĻ° āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°ā§‡āĻļāĻ¨ā§‡āĻ° āĻ¸ā§‡āĻŸ āĻ¯āĻž āĻ†āĻ˛āĻžāĻĻāĻž āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋāĻ¤ā§‡ āĻ¸āĻ‚āĻ°āĻ•ā§āĻˇāĻŋāĻ¤ āĻĨāĻžāĻ•ā§‡āĨ¤ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤ āĻ—āĻŋāĻŸ-āĻāĻ° āĻ¸āĻ‚āĻŽāĻŋāĻļā§āĻ°āĻŖā§‡ āĻŦā§āĻ¯āĻŦāĻšā§ƒāĻ¤ āĻšāĻ¯āĻŧ, āĻ¯ā§‡ āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡ āĻ—āĻŋāĻŸ āĻļāĻžāĻ–āĻž āĻĨā§‡āĻ•ā§‡ āĻĒāĻ°āĻŋāĻŦā§‡āĻļ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧāĨ¤ āĻ¤āĻĻāĻ¨ā§āĻ¸āĻžāĻ°ā§‡, āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻ¨ā§‹āĻĄ āĻāĻ• āĻŦāĻž āĻ…āĻ¨ā§āĻ¯ āĻĒāĻ°āĻŋāĻŦā§‡āĻļā§‡ āĻ…āĻŦāĻ¸ā§āĻĨāĻŋāĻ¤āĨ¤ āĻāĻŸāĻŋ āĻ¨ā§‹āĻĄ āĻŦāĻž ENC-āĻ¤ā§‡ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ° āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡, āĻ¯āĻž āĻ†āĻŽāĻŋ āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§€ āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§ā§‡ āĻŦāĻ˛āĻŦāĨ¤

  • āĻ¤ā§ƒāĻ¤ā§€āĻ¯āĻŧ āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖā§‡ ("āĻĒā§āĻ°āĻžāĻ¨ā§‹ āĻĒā§āĻ¤ā§āĻ˛") āĻŦā§‡āĻ¸ āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋ āĻ›āĻŋāĻ˛ /etc/puppet. āĻĒāĻ°āĻŋāĻŦā§‡āĻļā§‡āĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻšā§āĻ›āĻŋāĻ• - āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§‚āĻĒ, āĻ†āĻŽāĻ°āĻž āĻ¤āĻžāĻĻā§‡āĻ° āĻĒā§āĻ°āĻžāĻ¨ā§‹ āĻĒā§āĻ¤ā§āĻ˛ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻŋ āĻ¨āĻžāĨ¤ āĻĒāĻ°āĻŋāĻŦā§‡āĻļ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻšāĻ˛ā§‡, āĻ¤āĻžāĻ°āĻž āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤ āĻ¸āĻ‚āĻ°āĻ•ā§āĻˇāĻŖ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ /etc/puppet/environments, āĻ°ā§āĻŸ āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋāĻŸāĻŋ āĻĒāĻ°āĻŋāĻŦā§‡āĻļ āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋ āĻšāĻŦā§‡āĨ¤ āĻāĻ¨āĻ­āĻžāĻ¯āĻŧāĻ°āĻ¨āĻŽā§‡āĻ¨ā§āĻŸ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ¨āĻž āĻ•āĻ°āĻž āĻšāĻ˛ā§‡, āĻ°ā§āĻŸ āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋ āĻšāĻŦā§‡ āĻŦā§‡āĻ¸ āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋāĨ¤
  • āĻšāĻ¤ā§āĻ°ā§āĻĨ āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖ ("āĻ¨āĻ¤ā§āĻ¨ āĻĒā§āĻ¤ā§āĻ˛") āĻĨā§‡āĻ•ā§‡ āĻļā§āĻ°ā§ āĻ•āĻ°ā§‡, āĻĒāĻ°āĻŋāĻŦā§‡āĻļā§‡āĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻŦāĻžāĻ§ā§āĻ¯āĻ¤āĻžāĻŽā§‚āĻ˛āĻ• āĻšāĻ¯āĻŧā§‡ āĻ“āĻ ā§‡ āĻāĻŦāĻ‚ āĻŦā§‡āĻ¸ āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋāĻŸāĻŋ āĻāĻ–āĻžāĻ¨ā§‡ āĻ¸āĻ°āĻžāĻ¨ā§‹ āĻšāĻ¯āĻŧ /etc/puppetlabs/code. āĻ¤āĻĻāĻ¨ā§āĻ¸āĻžāĻ°ā§‡, āĻĒāĻ°āĻŋāĻŦā§‡āĻļā§‡ āĻ¸āĻ‚āĻ°āĻ•ā§āĻˇāĻŖ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ /etc/puppetlabs/code/environments, āĻ°ā§āĻŸ āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋ āĻšāĻ˛ āĻĒāĻ°āĻŋāĻŦā§‡āĻļ āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋāĨ¤

āĻ°ā§āĻŸ āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋāĻ¤ā§‡ āĻ…āĻŦāĻļā§āĻ¯āĻ‡ āĻāĻ•āĻŸāĻŋ āĻ¸āĻžāĻŦāĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋ āĻĨāĻžāĻ•āĻ¤ā§‡ āĻšāĻŦā§‡ manifests, āĻ¯āĻž āĻ¨ā§‹āĻĄ āĻŦāĻ°ā§āĻŖāĻ¨āĻž āĻ•āĻ°ā§‡ āĻāĻ• āĻŦāĻž āĻāĻ•āĻžāĻ§āĻŋāĻ• āĻŽā§āĻ¯āĻžāĻ¨āĻŋāĻĢā§‡āĻ¸ā§āĻŸ āĻ§āĻžāĻ°āĻŖ āĻ•āĻ°ā§‡āĨ¤ āĻ‰āĻĒāĻ°āĻ¨ā§āĻ¤ā§, āĻāĻ•āĻŸāĻŋ āĻ¸āĻžāĻŦāĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋ āĻĨāĻžāĻ•āĻ¤ā§‡ āĻšāĻŦā§‡ modules, āĻ¯āĻž āĻŽāĻĄāĻŋāĻ‰āĻ˛ āĻ§āĻžāĻ°āĻŖ āĻ•āĻ°ā§‡āĨ¤ āĻŽāĻĄāĻŋāĻ‰āĻ˛ āĻ•āĻŋ āĻ¤āĻž āĻāĻ•āĻŸā§ āĻĒāĻ°ā§‡ āĻŦāĻ˛āĻŦāĨ¤ āĻāĻ›āĻžāĻĄāĻŧāĻžāĻ“, āĻĒā§āĻ°āĻžāĻ¨ā§‹ āĻĒā§āĻ¤ā§āĻ˛ā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻ¸āĻžāĻŦāĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋāĻ“ āĻĨāĻžāĻ•āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ files, āĻāĻ¤ā§‡ āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āĻ¨ āĻĢāĻžāĻ‡āĻ˛ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡ āĻ¯āĻž āĻ†āĻŽāĻ°āĻž āĻ¨ā§‹āĻĄāĻ—ā§āĻ˛āĻŋāĻ¤ā§‡ āĻ…āĻ¨ā§āĻ˛āĻŋāĻĒāĻŋ āĻ•āĻ°āĻŋāĨ¤ āĻ¨āĻ¤ā§āĻ¨ āĻĒāĻžāĻĒā§‡āĻŸā§‡, āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻĢāĻžāĻ‡āĻ˛ āĻŽāĻĄāĻŋāĻ‰āĻ˛ā§‡ āĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧāĨ¤

āĻŽā§āĻ¯āĻžāĻ¨āĻŋāĻĢā§‡āĻ¸ā§āĻŸ āĻĢāĻžāĻ‡āĻ˛ā§‡āĻ° āĻāĻ•ā§āĻ¸āĻŸā§‡āĻ¨āĻļāĻ¨ āĻ†āĻ›ā§‡ .pp.

āĻ•āĻ¯āĻŧā§‡āĻ•āĻŸāĻŋ āĻ¯ā§āĻĻā§āĻ§ā§‡āĻ° āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ

āĻāĻŸāĻŋāĻ¤ā§‡ āĻ¨ā§‹āĻĄ āĻāĻŦāĻ‚ āĻ¸āĻ‚āĻ¸ā§āĻĨāĻžāĻ¨ā§‡āĻ° āĻŦāĻŋāĻŦāĻ°āĻŖ

āĻ¨ā§‹āĻĄ āĻ‰āĻĒāĻ° server1.testdomain āĻāĻ•āĻŸāĻŋ āĻĢāĻžāĻ‡āĻ˛ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡ /etc/issue āĻŦāĻŋāĻˇāĻ¯āĻŧāĻŦāĻ¸ā§āĻ¤ā§ āĻ¸āĻš Debian GNU/Linux n l. āĻĢāĻžāĻ‡āĻ˛āĻŸāĻŋ āĻ…āĻŦāĻļā§āĻ¯āĻ‡ āĻāĻ•āĻœāĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€ āĻāĻŦāĻ‚ āĻ—ā§‹āĻˇā§āĻ ā§€āĻ° āĻŽāĻžāĻ˛āĻŋāĻ•āĻžāĻ¨āĻžāĻ§ā§€āĻ¨ āĻšāĻ¤ā§‡ āĻšāĻŦā§‡ root, āĻ…ā§āĻ¯āĻžāĻ•ā§āĻ¸ā§‡āĻ¸ āĻ…āĻ§āĻŋāĻ•āĻžāĻ° āĻšāĻ¤ā§‡ āĻšāĻŦā§‡ 644.

āĻ†āĻŽāĻ°āĻž āĻāĻ•āĻŸāĻŋ āĻ‡āĻļāĻ¤ā§‡āĻšāĻžāĻ° āĻ˛āĻŋāĻ–āĻŋ:

node 'server1.testdomain' {   # ĐąĐģĐžĐē ĐēĐžĐŊŅ„иĐŗŅƒŅ€Đ°Ņ†Đ¸Đ¸, ĐžŅ‚ĐŊĐžŅŅŅ‰Đ¸ĐšŅŅ Đē ĐŊОдĐĩ server1.testdomain
    file { '/etc/issue':   # ĐžĐŋиŅŅ‹Đ˛Đ°ĐĩĐŧ Ņ„Đ°ĐšĐģ /etc/issue
        ensure  => present,   # ŅŅ‚ĐžŅ‚ Ņ„Đ°ĐšĐģ Đ´ĐžĐģĐļĐĩĐŊ ŅŅƒŅ‰ĐĩŅŅ‚вОваŅ‚ŅŒ
        content => 'Debian GNU/Linux n l',   # Ņƒ ĐŊĐĩĐŗĐž Đ´ĐžĐģĐļĐŊĐž ĐąŅ‹Ņ‚ŅŒ Ņ‚Đ°ĐēĐžĐĩ ŅĐžĐ´ĐĩŅ€ĐļиĐŧĐžĐĩ
        owner   => root,   # ĐŋĐžĐģŅŒĐˇĐžĐ˛Đ°Ņ‚ĐĩĐģŅŒ-вĐģĐ°Đ´ĐĩĐģĐĩŅ†
        group   => root,   # ĐŗŅ€ŅƒĐŋĐŋĐ°-вĐģĐ°Đ´ĐĩĐģĐĩŅ†
        mode    => '0644',   # ĐŋŅ€Đ°Đ˛Đ° ĐŊĐ° Ņ„Đ°ĐšĐģ. ОĐŊи СадаĐŊŅ‹ в видĐĩ ŅŅ‚Ņ€ĐžĐēи (в ĐēавŅ‹Ņ‡ĐēĐ°Ņ…), ĐŋĐžŅ‚ĐžĐŧŅƒ Ņ‡Ņ‚Đž иĐŊĐ°Ņ‡Đĩ Ņ‡Đ¸ŅĐģĐž Ņ 0 в ĐŊĐ°Ņ‡Đ°ĐģĐĩ ĐąŅƒĐ´ĐĩŅ‚ вОŅĐŋŅ€Đ¸ĐŊŅŅ‚Đž ĐēĐ°Đē СаĐŋиŅĐ°ĐŊĐŊĐžĐĩ в вОŅŅŒĐŧĐĩŅ€Đ¸Ņ‡ĐŊОК ŅĐ¸ŅŅ‚ĐĩĐŧĐĩ, и вŅŅ‘ ĐŋОКдŅ‘Ņ‚ ĐŊĐĩ Ņ‚Đ°Đē, ĐēĐ°Đē СадŅƒĐŧĐ°ĐŊĐž
    }
}

āĻāĻ•āĻŸāĻŋ āĻ¨ā§‹āĻĄā§‡ āĻ¸āĻŽā§āĻĒāĻĻā§‡āĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•

āĻ¨ā§‹āĻĄ āĻ‰āĻĒāĻ° server2.testdomain nginx āĻšāĻ˛āĻŽāĻžāĻ¨ āĻĨāĻžāĻ•āĻ¤ā§‡ āĻšāĻŦā§‡, āĻĒā§‚āĻ°ā§āĻŦā§‡ āĻĒā§āĻ°āĻ¸ā§āĻ¤ā§āĻ¤ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°ā§‡āĻļāĻ¨ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ•āĻžāĻœ āĻ•āĻ°ā§‡āĨ¤

āĻ†āĻ¸ā§āĻ¨ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻžāĻŸāĻŋ āĻĒāĻšāĻ¨ āĻ•āĻ°āĻž āĻ¯āĻžāĻ•:

  • āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻœ āĻ‡āĻ¨āĻ¸ā§āĻŸāĻ˛ āĻ•āĻ°āĻž āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ nginx.
  • āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°ā§‡āĻļāĻ¨ āĻĢāĻžāĻ‡āĻ˛āĻ—ā§āĻ˛āĻŋ āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ° āĻĨā§‡āĻ•ā§‡ āĻ…āĻ¨ā§āĻ˛āĻŋāĻĒāĻŋ āĻ•āĻ°āĻž āĻ†āĻŦāĻļā§āĻ¯āĻ•āĨ¤
  • āĻĒāĻ°āĻŋāĻˇā§‡āĻŦāĻž āĻšāĻžāĻ˛ā§ āĻ•āĻ°āĻž āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ nginx.
  • āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°ā§‡āĻļāĻ¨ āĻ†āĻĒāĻĄā§‡āĻŸ āĻ•āĻ°āĻž āĻšāĻ˛ā§‡, āĻĒāĻ°āĻŋāĻˇā§‡āĻŦāĻžāĻŸāĻŋ āĻĒā§āĻ¨āĻ°āĻžāĻ¯āĻŧ āĻšāĻžāĻ˛ā§ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡āĨ¤

āĻ†āĻŽāĻ°āĻž āĻāĻ•āĻŸāĻŋ āĻ‡āĻļāĻ¤ā§‡āĻšāĻžāĻ° āĻ˛āĻŋāĻ–āĻŋ:

node 'server2.testdomain' {   # ĐąĐģĐžĐē ĐēĐžĐŊŅ„иĐŗŅƒŅ€Đ°Ņ†Đ¸Đ¸, ĐžŅ‚ĐŊĐžŅŅŅ‰Đ¸ĐšŅŅ Đē ĐŊОдĐĩ server2.testdomain
    package { 'nginx':   # ĐžĐŋиŅŅ‹Đ˛Đ°ĐĩĐŧ ĐŋĐ°ĐēĐĩŅ‚ nginx
        ensure => installed,   # ĐžĐŊ Đ´ĐžĐģĐļĐĩĐŊ ĐąŅ‹Ņ‚ŅŒ ŅƒŅŅ‚Đ°ĐŊОвĐģĐĩĐŊ
    }
  # ПŅ€ŅĐŧĐ°Ņ ŅŅ‚Ņ€ĐĩĐģĐēĐ° (->) ĐŗОвОŅ€Đ¸Ņ‚ Đž Ņ‚ĐžĐŧ, Ņ‡Ņ‚Đž Ņ€ĐĩŅŅƒŅ€Ņ ĐŊиĐļĐĩ Đ´ĐžĐģĐļĐĩĐŊ
  # ŅĐžĐˇĐ´Đ°Đ˛Đ°Ņ‚ŅŒŅŅ ĐŋĐžŅĐģĐĩ Ņ€ĐĩŅŅƒŅ€ŅĐ°, ĐžĐŋиŅĐ°ĐŊĐŊĐžĐŗĐž вŅ‹ŅˆĐĩ.
  # ĐĸĐ°ĐēиĐĩ СавиŅĐ¸ĐŧĐžŅŅ‚и Ņ‚Ņ€Đ°ĐŊСиŅ‚ивĐŊŅ‹.
    -> file { '/etc/nginx':   # ĐžĐŋиŅŅ‹Đ˛Đ°ĐĩĐŧ Ņ„Đ°ĐšĐģ /etc/nginx
        ensure  => directory,   # ŅŅ‚Đž Đ´ĐžĐģĐļĐŊĐ° ĐąŅ‹Ņ‚ŅŒ диŅ€ĐĩĐēŅ‚ĐžŅ€Đ¸Ņ
        source  => 'puppet:///modules/example/nginx-conf',   # ĐĩŅ‘ ŅĐžĐ´ĐĩŅ€ĐļиĐŧĐžĐĩ ĐŊŅƒĐļĐŊĐž ĐąŅ€Đ°Ņ‚ŅŒ Ņ ĐŋĐ°ĐŋĐŋĐĩŅ‚-ŅĐĩŅ€Đ˛ĐĩŅ€Đ° ĐŋĐž ŅƒĐēаСаĐŊĐŊĐžĐŧŅƒ Đ°Đ´Ņ€ĐĩŅŅƒ
        recurse => true,   # ĐēĐžĐŋиŅ€ĐžĐ˛Đ°Ņ‚ŅŒ Ņ„Đ°ĐšĐģŅ‹ Ņ€ĐĩĐēŅƒŅ€ŅĐ¸Đ˛ĐŊĐž
        purge   => true,   # ĐŊŅƒĐļĐŊĐž ŅƒĐ´Đ°ĐģŅŅ‚ŅŒ ĐģиŅˆĐŊиĐĩ Ņ„Đ°ĐšĐģŅ‹ (Ņ‚Đĩ, ĐēĐžŅ‚ĐžŅ€Ņ‹Ņ… ĐŊĐĩŅ‚ в иŅŅ‚ĐžŅ‡ĐŊиĐēĐĩ)
        force   => true,   # ŅƒĐ´Đ°ĐģŅŅ‚ŅŒ ĐģиŅˆĐŊиĐĩ диŅ€ĐĩĐēŅ‚ĐžŅ€Đ¸Đ¸
    }
  # ВоĐģĐŊиŅŅ‚Đ°Ņ ŅŅ‚Ņ€ĐĩĐģĐēĐ° (~>) ĐŗОвОŅ€Đ¸Ņ‚ Đž Ņ‚ĐžĐŧ, Ņ‡Ņ‚Đž Ņ€ĐĩŅŅƒŅ€Ņ ĐŊиĐļĐĩ Đ´ĐžĐģĐļĐĩĐŊ
  # ĐŋОдĐŋиŅĐ°Ņ‚ŅŒŅŅ ĐŊĐ° иСĐŧĐĩĐŊĐĩĐŊиŅ Ņ€ĐĩŅŅƒŅ€ŅĐ°, ĐžĐŋиŅĐ°ĐŊĐŊĐžĐŗĐž вŅ‹ŅˆĐĩ.
  # ВоĐģĐŊиŅŅ‚Đ°Ņ ŅŅ‚Ņ€ĐĩĐģĐēĐ° вĐēĐģŅŽŅ‡Đ°ĐĩŅ‚ в ŅĐĩĐąŅ ĐŋŅ€ŅĐŧŅƒŅŽ (->).
    ~> service { 'nginx':   # ĐžĐŋиŅŅ‹Đ˛Đ°ĐĩĐŧ ŅĐĩŅ€Đ˛Đ¸Ņ nginx
        ensure => running,   # ĐžĐŊ Đ´ĐžĐģĐļĐĩĐŊ ĐąŅ‹Ņ‚ŅŒ СаĐŋŅƒŅ‰ĐĩĐŊ
        enable => true,   # ĐĩĐŗĐž ĐŊŅƒĐļĐŊĐž СаĐŋŅƒŅĐēĐ°Ņ‚ŅŒ авŅ‚ĐžĐŧĐ°Ņ‚иŅ‡ĐĩŅĐēи ĐŋŅ€Đ¸ ŅŅ‚Đ°Ņ€Ņ‚Đĩ ŅĐ¸ŅŅ‚ĐĩĐŧŅ‹
    }
  # КоĐŗĐ´Đ° Ņ€ĐĩŅŅƒŅ€Ņ Ņ‚иĐŋĐ° service ĐŋĐžĐģŅƒŅ‡Đ°ĐĩŅ‚ ŅƒĐ˛ĐĩĐ´ĐžĐŧĐģĐĩĐŊиĐĩ,
  # ŅĐžĐžŅ‚вĐĩŅ‚ŅŅ‚вŅƒŅŽŅ‰Đ¸Đš ŅĐĩŅ€Đ˛Đ¸Ņ ĐŋĐĩŅ€ĐĩСаĐŋŅƒŅĐēĐ°ĐĩŅ‚ŅŅ.
}

āĻāĻŸāĻŋ āĻ•āĻžāĻœ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯, āĻ†āĻĒāĻ¨āĻžāĻ° āĻĒā§āĻ¤ā§āĻ˛ āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ°ā§‡ āĻĒā§āĻ°āĻžāĻ¯āĻŧ āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻ–āĻŋāĻ¤ āĻĢāĻžāĻ‡āĻ˛ āĻ…āĻŦāĻ¸ā§āĻĨāĻžāĻ¨ā§‡āĻ° āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨:

/etc/puppetlabs/code/environments/production/ # (ŅŅ‚Đž Đ´ĐģŅ ĐŊОвОĐŗĐž ПаĐŋĐŋĐĩŅ‚Đ°, Đ´ĐģŅ ŅŅ‚Đ°Ņ€ĐžĐŗĐž ĐēĐžŅ€ĐŊĐĩвОК диŅ€ĐĩĐēŅ‚ĐžŅ€Đ¸ĐĩĐš ĐąŅƒĐ´ĐĩŅ‚ /etc/puppet)
├── manifests/
│   └── site.pp
└── modules/
    └── example/
        └── files/
            └── nginx-conf/
                ├── nginx.conf
                ├── mime.types
                └── conf.d/
                    └── some.conf

āĻ¸āĻŽā§āĻĒāĻĻā§‡āĻ° āĻ§āĻ°āĻ¨

āĻ¸āĻŽāĻ°ā§āĻĨāĻŋāĻ¤ āĻ¸āĻŽā§āĻĒāĻĻ āĻĒā§āĻ°āĻ•āĻžāĻ°ā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻ¸āĻŽā§āĻĒā§‚āĻ°ā§āĻŖ āĻ¤āĻžāĻ˛āĻŋāĻ•āĻž āĻāĻ–āĻžāĻ¨ā§‡ āĻĒāĻžāĻ“āĻ¯āĻŧāĻž āĻ¯āĻžāĻŦā§‡ āĻĄāĻ•ā§āĻŽā§‡āĻ¨ā§āĻŸā§‡āĻļāĻ¨ā§‡, āĻāĻ–āĻžāĻ¨ā§‡ āĻ†āĻŽāĻŋ āĻĒāĻžāĻāĻšāĻŸāĻŋ āĻŽā§ŒāĻ˛āĻŋāĻ• āĻĒā§āĻ°āĻ•āĻžāĻ° āĻŦāĻ°ā§āĻŖāĻ¨āĻž āĻ•āĻ°āĻŦ, āĻ¯āĻž āĻ†āĻŽāĻžāĻ° āĻ…āĻ¨ā§āĻļā§€āĻ˛āĻ¨ā§‡ āĻŦā§‡āĻļāĻŋāĻ°āĻ­āĻžāĻ— āĻ¸āĻŽāĻ¸ā§āĻ¯āĻž āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ¯āĻĨā§‡āĻˇā§āĻŸāĨ¤

āĻĢāĻžāĻ‡āĻ˛

āĻĢāĻžāĻ‡āĻ˛, āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋ, āĻ¸āĻŋāĻŽāĻ˛āĻŋāĻ™ā§āĻ•, āĻ¤āĻžāĻĻā§‡āĻ° āĻŦāĻŋāĻˇāĻ¯āĻŧāĻŦāĻ¸ā§āĻ¤ā§ āĻāĻŦāĻ‚ āĻ…ā§āĻ¯āĻžāĻ•ā§āĻ¸ā§‡āĻ¸ āĻ…āĻ§āĻŋāĻ•āĻžāĻ° āĻĒāĻ°āĻŋāĻšāĻžāĻ˛āĻ¨āĻž āĻ•āĻ°ā§‡āĨ¤

āĻŦāĻŋāĻ•āĻ˛ā§āĻĒ:

  • āĻ¸āĻŽā§āĻĒāĻĻā§‡āĻ° āĻ¨āĻžāĻŽ — āĻĢāĻžāĻ‡āĻ˛ā§‡āĻ° āĻĒāĻĨ (āĻāĻšā§āĻ›āĻŋāĻ•)
  • āĻĒāĻĨ — āĻĢāĻžāĻ‡āĻ˛ā§‡āĻ° āĻĒāĻĨ (āĻ¯āĻĻāĻŋ āĻāĻŸāĻŋ āĻ¨āĻžāĻŽā§‡ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ•āĻ°āĻž āĻ¨āĻž āĻĨāĻžāĻ•ā§‡)
  • āĻ¨āĻŋāĻļā§āĻšāĻŋāĻ¤ āĻ•āĻ°āĻž - āĻĢāĻžāĻ‡āĻ˛ā§‡āĻ° āĻ§āĻ°āĻ¨:
    • absent - āĻāĻ•āĻŸāĻŋ āĻĢāĻžāĻ‡āĻ˛ āĻŽā§āĻ›ā§‡ āĻĻāĻŋāĻ¨
    • present - āĻ¯ā§‡āĻ•ā§‹āĻ¨ āĻ§āĻ°āĻŖā§‡āĻ° āĻĢāĻžāĻ‡āĻ˛ āĻĨāĻžāĻ•āĻ¤ā§‡ āĻšāĻŦā§‡ (āĻ¯āĻĻāĻŋ āĻ•ā§‹āĻ¨ āĻĢāĻžāĻ‡āĻ˛ āĻ¨āĻž āĻĨāĻžāĻ•ā§‡ āĻ¤āĻŦā§‡ āĻāĻ•āĻŸāĻŋ āĻ¨āĻŋāĻ¯āĻŧāĻŽāĻŋāĻ¤ āĻĢāĻžāĻ‡āĻ˛ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž āĻšāĻŦā§‡)
    • file - āĻ¨āĻŋāĻ¯āĻŧāĻŽāĻŋāĻ¤ āĻĢāĻžāĻ‡āĻ˛
    • directory - āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋ
    • link - āĻ¸āĻŋāĻŽāĻ˛āĻŋāĻ‚āĻ•
  • āĻŦāĻŋāĻˇāĻ¯āĻŧāĻŦāĻ¸ā§āĻ¤ā§ — āĻĢāĻžāĻ‡āĻ˛ āĻŦāĻŋāĻˇāĻ¯āĻŧāĻŦāĻ¸ā§āĻ¤ā§ (āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻ¨āĻŋāĻ¯āĻŧāĻŽāĻŋāĻ¤ āĻĢāĻžāĻ‡āĻ˛ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ‰āĻĒāĻ¯ā§āĻ•ā§āĻ¤, āĻāĻ° āĻ¸āĻžāĻĨā§‡ āĻāĻ•āĻ¸āĻžāĻĨā§‡ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻ¯āĻžāĻŦā§‡ āĻ¨āĻž āĻ‰ā§ŽāĻ¸ āĻŦāĻž āĻ˛āĻ•ā§āĻˇā§āĻ¯)
  • āĻ‰ā§ŽāĻ¸ — āĻ¯ā§‡ āĻĒāĻĨ āĻĨā§‡āĻ•ā§‡ āĻ†āĻĒāĻ¨āĻŋ āĻĢāĻžāĻ‡āĻ˛ā§‡āĻ° āĻŦāĻŋāĻˇāĻ¯āĻŧāĻŦāĻ¸ā§āĻ¤ā§ āĻ…āĻ¨ā§āĻ˛āĻŋāĻĒāĻŋ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻžāĻ¨ āĻ¤āĻžāĻ° āĻāĻ•āĻŸāĻŋ āĻ˛āĻŋāĻ™ā§āĻ• (āĻāĻ° āĻ¸āĻžāĻĨā§‡ āĻāĻ•āĻ¸āĻžāĻĨā§‡ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻ¯āĻžāĻŦā§‡ āĻ¨āĻž āĻŦāĻŋāĻˇāĻ¯āĻŧāĻŦāĻ¸ā§āĻ¤ā§ āĻŦāĻž āĻ˛āĻ•ā§āĻˇā§āĻ¯) āĻāĻ•āĻŸāĻŋ āĻ¸ā§āĻ•āĻŋāĻŽ āĻ¸āĻš āĻāĻ•āĻŸāĻŋ URI āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ puppet: (āĻ¤āĻžāĻ°āĻĒāĻ° āĻĒā§āĻ¤ā§āĻ˛ āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ° āĻĨā§‡āĻ•ā§‡ āĻĢāĻžāĻ‡āĻ˛ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻšāĻŦā§‡), āĻāĻŦāĻ‚ āĻ¸ā§āĻ•āĻŋāĻŽ āĻ¸āĻš http: (āĻ†āĻŽāĻŋ āĻ†āĻļāĻž āĻ•āĻ°āĻŋ āĻāĻ‡ āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡ āĻ•ā§€ āĻ˜āĻŸāĻŦā§‡ āĻ¤āĻž āĻĒāĻ°āĻŋāĻˇā§āĻ•āĻžāĻ°), āĻāĻŦāĻ‚ āĻāĻŽāĻ¨āĻ•āĻŋ āĻšāĻŋāĻ¤ā§āĻ°ā§‡āĻ° āĻ¸āĻžāĻĨā§‡āĻ“ file: āĻ…āĻĨāĻŦāĻž āĻāĻ•āĻŸāĻŋ āĻ¸ā§āĻ•āĻŋāĻŽāĻž āĻ›āĻžāĻĄāĻŧāĻž āĻāĻ•āĻŸāĻŋ āĻĒāĻ°āĻŽ āĻĒāĻĨ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ (āĻ¤āĻžāĻ°āĻĒāĻ°ā§‡ āĻ¨ā§‹āĻĄā§‡ āĻ¸ā§āĻĨāĻžāĻ¨ā§€āĻ¯āĻŧ FS āĻĨā§‡āĻ•ā§‡ āĻĢāĻžāĻ‡āĻ˛ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻšāĻŦā§‡)
  • āĻ˛āĻ•ā§āĻˇā§āĻ¯ — āĻ¯ā§‡āĻ–āĻžāĻ¨ā§‡ āĻ¸āĻŋāĻŽāĻ˛āĻŋāĻ‚āĻ• āĻ¨āĻŋāĻ°ā§āĻĻā§‡āĻļ āĻ•āĻ°āĻž āĻ‰āĻšāĻŋāĻ¤ (āĻāĻ° āĻ¸āĻžāĻĨā§‡ āĻāĻ•āĻ¸āĻžāĻĨā§‡ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻ¯āĻžāĻŦā§‡ āĻ¨āĻž āĻŦāĻŋāĻˇāĻ¯āĻŧāĻŦāĻ¸ā§āĻ¤ā§ āĻŦāĻž āĻ‰ā§ŽāĻ¸)
  • āĻŽāĻžāĻ˛āĻŋāĻ• — āĻ¯ā§‡ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€āĻ° āĻĢāĻžāĻ‡āĻ˛ā§‡āĻ° āĻŽāĻžāĻ˛āĻŋāĻ• āĻšāĻ“āĻ¯āĻŧāĻž āĻ‰āĻšāĻŋāĻ¤
  • āĻ—ā§āĻ°ā§āĻĒ — āĻĢāĻžāĻ‡āĻ˛āĻŸāĻŋ āĻ¯ā§‡ āĻ—ā§āĻ°ā§āĻĒā§‡āĻ° āĻ…āĻ¨ā§āĻ¤āĻ°ā§āĻ­ā§āĻ•ā§āĻ¤
  • āĻŽā§‹āĻĄ — āĻĢāĻžāĻ‡āĻ˛ āĻ…āĻ¨ā§āĻŽāĻ¤āĻŋ (āĻāĻ•āĻŸāĻŋ āĻ¸ā§āĻŸā§āĻ°āĻŋāĻ‚ āĻšāĻŋāĻ¸āĻžāĻŦā§‡)
  • āĻĒā§āĻ¨āĻ°āĻžāĻŦā§ƒāĻ¤ā§āĻ¤āĻŋ - āĻĒā§āĻ¨āĻ°āĻžāĻŦā§ƒāĻ¤ā§āĻ¤ āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋ āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻ•āĻ°āĻŖ āĻ¸āĻ•ā§āĻˇāĻŽ āĻ•āĻ°ā§‡
  • āĻ°ā§‡āĻšāĻ• āĻĒāĻĻāĻžāĻ°ā§āĻĨ - āĻĒā§āĻ¤ā§āĻ˛ā§‡ āĻŦāĻ°ā§āĻŖāĻ¨āĻž āĻ•āĻ°āĻž āĻšāĻ¯āĻŧāĻ¨āĻŋ āĻāĻŽāĻ¨ āĻĢāĻžāĻ‡āĻ˛āĻ—ā§āĻ˛āĻŋ āĻŽā§āĻ›ā§‡ āĻĢā§‡āĻ˛āĻž āĻ¸āĻ•ā§āĻˇāĻŽ āĻ•āĻ°ā§‡
  • āĻŦāĻ˛ - āĻĒāĻžāĻĒā§‡āĻŸā§‡ āĻŦāĻ°ā§āĻŖāĻ¨āĻž āĻ•āĻ°āĻž āĻšāĻ¯āĻŧāĻ¨āĻŋ āĻāĻŽāĻ¨ āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋ āĻŽā§āĻ›ā§‡ āĻĢā§‡āĻ˛āĻž āĻ¸āĻ•ā§āĻˇāĻŽ āĻ•āĻ°ā§‡

āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻœ

āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻœāĻ—ā§āĻ˛āĻŋ āĻ‡āĻ¨āĻ¸ā§āĻŸāĻ˛ āĻ•āĻ°ā§‡ āĻāĻŦāĻ‚ āĻ¸āĻ°āĻŋāĻ¯āĻŧā§‡ āĻĻā§‡āĻ¯āĻŧāĨ¤ āĻŦāĻŋāĻœā§āĻžāĻĒā§āĻ¤āĻŋāĻ—ā§āĻ˛āĻŋ āĻĒāĻ°āĻŋāĻšāĻžāĻ˛āĻ¨āĻž āĻ•āĻ°āĻ¤ā§‡ āĻ¸āĻ•ā§āĻˇāĻŽ - āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻœāĻŸāĻŋ āĻĒā§āĻ¨āĻ°āĻžāĻ¯āĻŧ āĻ‡āĻ¨āĻ¸ā§āĻŸāĻ˛ āĻ•āĻ°ā§‡ āĻ¯āĻĻāĻŋ āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻŸāĻžāĻ°āĻŸāĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ•āĻ°āĻž āĻĨāĻžāĻ•ā§‡ reinstall_on_refresh.

āĻŦāĻŋāĻ•āĻ˛ā§āĻĒ:

  • āĻ¸āĻŽā§āĻĒāĻĻā§‡āĻ° āĻ¨āĻžāĻŽ - āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻœā§‡āĻ° āĻ¨āĻžāĻŽ (āĻāĻšā§āĻ›āĻŋāĻ•)
  • āĻ¨āĻžāĻŽ - āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻœā§‡āĻ° āĻ¨āĻžāĻŽ (āĻ¨āĻžāĻŽā§‡ āĻ‰āĻ˛ā§āĻ˛ā§‡āĻ– āĻ¨āĻž āĻĨāĻžāĻ•āĻ˛ā§‡)
  • āĻĒā§āĻ°āĻĻāĻžāĻ¨āĻ•āĻžāĻ°ā§€ - āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻœ āĻŽā§āĻ¯āĻžāĻ¨ā§‡āĻœāĻžāĻ°
  • āĻ¨āĻŋāĻļā§āĻšāĻŋāĻ¤ āĻ•āĻ°āĻž - āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻœā§‡āĻ° āĻĒāĻ›āĻ¨ā§āĻĻāĻ¸āĻ‡ āĻ…āĻŦāĻ¸ā§āĻĨāĻž:
    • present, installed - āĻ¯ā§‡ āĻ•ā§‹āĻ¨ā§‹ āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖ āĻ‡āĻ¨āĻ¸ā§āĻŸāĻ˛ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡
    • latest - āĻ¸āĻ°ā§āĻŦāĻļā§‡āĻˇ āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖ āĻ‡āĻ¨āĻ¸ā§āĻŸāĻ˛ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡
    • absent - āĻŽā§āĻ›ā§‡ āĻĢā§‡āĻ˛āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ (apt-get remove)
    • purged — āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°ā§‡āĻļāĻ¨ āĻĢāĻžāĻ‡āĻ˛ āĻ¸āĻš āĻŽā§āĻ›ā§‡ āĻĢā§‡āĻ˛āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ (apt-get purge)
    • held - āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻœ āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖ āĻ˛āĻ• āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ (apt-mark hold)
    • ĐģŅŽĐąĐ°Ņ Đ´Ņ€ŅƒĐŗĐ°Ņ ŅŅ‚Ņ€ĐžĐēĐ° - āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖ āĻ‡āĻ¨āĻ¸ā§āĻŸāĻ˛ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ
  • reinstall_on_refresh - āĻ¯āĻĻāĻŋ true, āĻ¤āĻžāĻ°āĻĒāĻ° āĻŦāĻŋāĻœā§āĻžāĻĒā§āĻ¤āĻŋ āĻĒā§āĻ°āĻžāĻĒā§āĻ¤āĻŋāĻ° āĻĒāĻ°ā§‡ āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻœāĻŸāĻŋ āĻĒā§āĻ¨āĻ°āĻžāĻ¯āĻŧ āĻ‡āĻ¨āĻ¸ā§āĻŸāĻ˛ āĻ•āĻ°āĻž āĻšāĻŦā§‡ā§ˇ āĻ‰ā§ŽāĻ¸-āĻ­āĻŋāĻ¤ā§āĻ¤āĻŋāĻ• āĻŦāĻŋāĻ¤āĻ°āĻŖā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻĻāĻ°āĻ•āĻžāĻ°ā§€, āĻ¯ā§‡āĻ–āĻžāĻ¨ā§‡ āĻŦāĻŋāĻ˛ā§āĻĄ āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻŸāĻžāĻ° āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻœ āĻĒā§āĻ¨āĻ°ā§āĻ¨āĻŋāĻ°ā§āĻŽāĻžāĻŖā§‡āĻ° āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ āĻšāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤ āĻĄāĻŋāĻĢāĻ˛ā§āĻŸ false.

āĻ¸ā§‡āĻŦāĻž

āĻĒāĻ°āĻŋāĻˇā§‡āĻŦāĻžāĻ—ā§āĻ˛āĻŋ āĻĒāĻ°āĻŋāĻšāĻžāĻ˛āĻ¨āĻž āĻ•āĻ°ā§‡āĨ¤ āĻŦāĻŋāĻœā§āĻžāĻĒā§āĻ¤āĻŋāĻ—ā§āĻ˛āĻŋ āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻ•āĻ°āĻ¤ā§‡ āĻ¸āĻ•ā§āĻˇāĻŽ - āĻĒāĻ°āĻŋāĻˇā§‡āĻŦāĻžāĻŸāĻŋ āĻĒā§āĻ¨āĻ°āĻžāĻ¯āĻŧ āĻšāĻžāĻ˛ā§ āĻ•āĻ°ā§‡ā§ˇ

āĻŦāĻŋāĻ•āĻ˛ā§āĻĒ:

  • āĻ¸āĻŽā§āĻĒāĻĻā§‡āĻ° āĻ¨āĻžāĻŽ - āĻĒāĻ°āĻŋāĻˇā§‡āĻŦāĻž āĻĒāĻ°āĻŋāĻšāĻžāĻ˛āĻ¨āĻž āĻ•āĻ°āĻž āĻšāĻŦā§‡ (āĻāĻšā§āĻ›āĻŋāĻ•)
  • āĻ¨āĻžāĻŽ — āĻ¯ā§‡ āĻĒāĻ°āĻŋāĻˇā§‡āĻŦāĻžāĻŸāĻŋ āĻĒāĻ°āĻŋāĻšāĻžāĻ˛āĻ¨āĻž āĻ•āĻ°āĻž āĻĻāĻ°āĻ•āĻžāĻ° (āĻ¯āĻĻāĻŋ āĻ¨āĻžāĻŽā§‡ āĻ‰āĻ˛ā§āĻ˛ā§‡āĻ– āĻ¨āĻž āĻĨāĻžāĻ•ā§‡)
  • āĻ¨āĻŋāĻļā§āĻšāĻŋāĻ¤ āĻ•āĻ°āĻž - āĻĒāĻ°āĻŋāĻˇā§‡āĻŦāĻžāĻ° āĻĒāĻ›āĻ¨ā§āĻĻāĻ¸āĻ‡ āĻ…āĻŦāĻ¸ā§āĻĨāĻž:
    • running - āĻšāĻžāĻ˛ā§ āĻšāĻ¯āĻŧā§‡āĻ›ā§‡
    • stopped - āĻŦāĻ¨ā§āĻ§
  • āĻ¸āĻ•ā§āĻˇāĻŽ āĻ•āĻ°āĻž - āĻĒāĻ°āĻŋāĻˇā§‡āĻŦāĻž āĻļā§āĻ°ā§ āĻ•āĻ°āĻžāĻ° āĻ•ā§āĻˇāĻŽāĻ¤āĻž āĻ¨āĻŋāĻ¯āĻŧāĻ¨ā§āĻ¤ā§āĻ°āĻŖ āĻ•āĻ°ā§‡:
    • true - āĻ…āĻŸā§‹āĻ°āĻžāĻ¨ āĻ¸āĻ•ā§āĻˇāĻŽ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ (systemctl enable)
    • mask - āĻ›āĻĻā§āĻŽāĻŦā§‡āĻļā§‡ (systemctl mask)
    • false - āĻ…āĻŸā§‹āĻ°āĻžāĻ¨ āĻ¨āĻŋāĻˇā§āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ (systemctl disable)
  • āĻ†āĻŦāĻžāĻ° āĻļā§āĻ°ā§ - āĻĒāĻ°āĻŋāĻˇā§‡āĻŦāĻž āĻĒā§āĻ¨āĻ°āĻžāĻ¯āĻŧ āĻšāĻžāĻ˛ā§ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ•āĻŽāĻžāĻ¨ā§āĻĄ
  • āĻ…āĻŦāĻ¸ā§āĻĨāĻž - āĻĒāĻ°āĻŋāĻˇā§‡āĻŦāĻžāĻ° āĻ¸ā§āĻĨāĻŋāĻ¤āĻŋ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ•āĻŽāĻžāĻ¨ā§āĻĄ
  • āĻĒā§āĻ¨āĻ°āĻžāĻ¯āĻŧ āĻ†āĻ°āĻŽā§āĻ­ — āĻĒāĻ°āĻŋāĻˇā§‡āĻŦāĻž initscript āĻĒā§āĻ¨āĻ°āĻžāĻ¯āĻŧ āĻšāĻžāĻ˛ā§ āĻ•āĻ°āĻž āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻ•āĻ°ā§‡ āĻ•āĻŋāĻ¨āĻž āĻ¤āĻž āĻ¨āĻŋāĻ°ā§āĻĻā§‡āĻļ āĻ•āĻ°ā§āĻ¨āĨ¤ āĻ¯āĻĻāĻŋ false āĻāĻŦāĻ‚ āĻĒāĻ°āĻžāĻŽāĻŋāĻ¤āĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ āĻ†āĻŦāĻžāĻ° āĻļā§āĻ°ā§ — āĻāĻ‡ āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻŸāĻžāĻ°ā§‡āĻ° āĻŽāĻžāĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻšāĻ¯āĻŧāĨ¤ āĻ¯āĻĻāĻŋ false āĻāĻŦāĻ‚ āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻŸāĻžāĻ° āĻ†āĻŦāĻžāĻ° āĻļā§āĻ°ā§ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ•āĻ°āĻž āĻ¨ā§‡āĻ‡ - āĻĒāĻ°āĻŋāĻˇā§‡āĻŦāĻžāĻŸāĻŋ āĻŦāĻ¨ā§āĻ§ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ āĻāĻŦāĻ‚ āĻĒā§āĻ¨āĻ°āĻžāĻ¯āĻŧ āĻšāĻžāĻ˛ā§ āĻ•āĻ°āĻž āĻļā§āĻ°ā§ āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ (āĻ•āĻŋāĻ¨ā§āĻ¤ā§ systemd āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ systemctl restart).
  • āĻ†āĻ›ā§‡ āĻ¸ā§āĻŸā§āĻ¯āĻžāĻŸāĻžāĻ¸ — āĻĒāĻ°āĻŋāĻˇā§‡āĻŦāĻž initscript āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻ•āĻ°ā§‡ āĻ•āĻŋāĻ¨āĻž āĻ¤āĻž āĻ¨āĻŋāĻ°ā§āĻĻā§‡āĻļ āĻ•āĻ°ā§āĻ¨ statusāĨ¤ āĻ¯āĻĻāĻŋ false, āĻ¤āĻžāĻ°āĻĒāĻ° āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻŸāĻžāĻ° āĻŽāĻžāĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ āĻ…āĻŦāĻ¸ā§āĻĨāĻž. āĻĄāĻŋāĻĢāĻ˛ā§āĻŸ true.

Exec

āĻŦāĻžāĻšā§āĻ¯āĻŋāĻ• āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āĻšāĻžāĻ˛āĻžāĻ¯āĻŧāĨ¤ āĻ†āĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻĒāĻ°āĻžāĻŽāĻŋāĻ¤āĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ¨āĻž āĻ•āĻ°ā§‡āĻ¨ āĻ¸ā§ƒāĻˇā§āĻŸāĻŋ, āĻļā§āĻ§ā§ āĻ¯āĻĻāĻŋ, āĻ¯āĻĻāĻŋ āĻ¨āĻž āĻŦāĻž āĻ¸āĻ¤ā§‡āĻœāĻ­āĻžāĻŦā§‡, āĻĒā§āĻ°āĻ¤āĻŋāĻŦāĻžāĻ° āĻĒāĻžāĻĒā§‡āĻŸ āĻšāĻžāĻ˛āĻžāĻ¨ā§‹ āĻšāĻ˛ā§‡ āĻ•āĻŽāĻžāĻ¨ā§āĻĄāĻŸāĻŋ āĻšāĻžāĻ˛āĻžāĻ¨ā§‹ āĻšāĻŦā§‡āĨ¤ āĻŦāĻŋāĻœā§āĻžāĻĒā§āĻ¤āĻŋāĻ—ā§āĻ˛āĻŋ āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻ•āĻ°āĻ¤ā§‡ āĻ¸āĻ•ā§āĻˇāĻŽ - āĻāĻ•āĻŸāĻŋ āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āĻšāĻžāĻ˛āĻžāĻ¯āĻŧāĨ¤

āĻŦāĻŋāĻ•āĻ˛ā§āĻĒ:

  • āĻ¸āĻŽā§āĻĒāĻĻā§‡āĻ° āĻ¨āĻžāĻŽ - āĻ†āĻĻā§‡āĻļ āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻ° āĻ•āĻ°āĻž āĻšāĻŦā§‡ (āĻāĻšā§āĻ›āĻŋāĻ•)
  • āĻšā§āĻ•ā§āĻŽ - āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻ° āĻ•āĻ°āĻžāĻ° āĻ†āĻĻā§‡āĻļ (āĻ¯āĻĻāĻŋ āĻāĻŸāĻŋ āĻ¨āĻžāĻŽā§‡ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ•āĻ°āĻž āĻ¨āĻž āĻĨāĻžāĻ•ā§‡)
  • āĻĒāĻĨ — āĻĒāĻžāĻĨ āĻ¯ā§‡āĻ–āĻžāĻ¨ā§‡ āĻāĻ•ā§āĻ¸āĻŋāĻ•āĻŋāĻ‰āĻŸā§‡āĻŦāĻ˛ āĻĢāĻžāĻ‡āĻ˛ā§‡āĻ° āĻ¸āĻ¨ā§āĻ§āĻžāĻ¨ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡
  • āĻļā§āĻ§ā§ āĻ¯āĻĻāĻŋ — āĻ¯āĻĻāĻŋ āĻāĻ‡ āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻŸāĻžāĻ°ā§‡ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ•āĻŽāĻžāĻ¨ā§āĻĄāĻŸāĻŋ āĻļā§‚āĻ¨ā§āĻ¯ āĻ°āĻŋāĻŸāĻžāĻ°ā§āĻ¨ āĻ•ā§‹āĻĄ āĻĻāĻŋāĻ¯āĻŧā§‡ āĻ¸āĻŽā§āĻĒāĻ¨ā§āĻ¨ āĻšāĻ¯āĻŧ, āĻ¤āĻžāĻšāĻ˛ā§‡ āĻĒā§āĻ°āĻ§āĻžāĻ¨ āĻ•āĻŽāĻžāĻ¨ā§āĻĄāĻŸāĻŋ āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻ° āĻ•āĻ°āĻž āĻšāĻŦā§‡
  • āĻ¯āĻĻāĻŋ āĻ¨āĻž — āĻ¯āĻĻāĻŋ āĻāĻ‡ āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻŸāĻžāĻ°ā§‡ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ•āĻŽāĻžāĻ¨ā§āĻĄāĻŸāĻŋ āĻāĻ•āĻŸāĻŋ āĻ¨āĻ¨-āĻœāĻŋāĻ°ā§‹ āĻ°āĻŋāĻŸāĻžāĻ°ā§āĻ¨ āĻ•ā§‹āĻĄ āĻĻāĻŋāĻ¯āĻŧā§‡ āĻ¸āĻŽā§āĻĒāĻ¨ā§āĻ¨ āĻšāĻ¯āĻŧ, āĻ¤āĻžāĻšāĻ˛ā§‡ āĻĒā§āĻ°āĻ§āĻžāĻ¨ āĻ•āĻŽāĻžāĻ¨ā§āĻĄāĻŸāĻŋ āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻ° āĻ•āĻ°āĻž āĻšāĻŦā§‡
  • āĻ¸ā§ƒāĻˇā§āĻŸāĻŋ — āĻāĻ‡ āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻŸāĻžāĻ°ā§‡ āĻ‰āĻ˛ā§āĻ˛ā§‡āĻ–āĻŋāĻ¤ āĻĢāĻžāĻ‡āĻ˛āĻŸāĻŋ āĻŦāĻŋāĻĻā§āĻ¯āĻŽāĻžāĻ¨ āĻ¨āĻž āĻĨāĻžāĻ•āĻ˛ā§‡, āĻĒā§āĻ°āĻ§āĻžāĻ¨ āĻ•āĻŽāĻžāĻ¨ā§āĻĄāĻŸāĻŋ āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻ° āĻ•āĻ°āĻž āĻšāĻŦā§‡
  • āĻ¸āĻ¤ā§‡āĻœāĻ­āĻžāĻŦā§‡ - āĻ¯āĻĻāĻŋ true, āĻ¤āĻžāĻ°āĻĒāĻ° āĻ•āĻŽāĻžāĻ¨ā§āĻĄāĻŸāĻŋ āĻ¤āĻ–āĻ¨āĻ‡ āĻšāĻžāĻ˛āĻžāĻ¨ā§‹ āĻšāĻŦā§‡ āĻ¯āĻ–āĻ¨ āĻāĻ‡ exec āĻ…āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻ¸āĻ‚āĻ¸ā§āĻĨāĻžāĻ¨ āĻĨā§‡āĻ•ā§‡ āĻŦāĻŋāĻœā§āĻžāĻĒā§āĻ¤āĻŋ āĻĒāĻžāĻ¯āĻŧ
  • cwd — āĻ¯ā§‡ āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋ āĻĨā§‡āĻ•ā§‡ āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āĻšāĻžāĻ˛āĻžāĻ¤ā§‡ āĻšāĻŦā§‡
  • āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€ — āĻ¯ā§‡ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€āĻ° āĻ•āĻžāĻ› āĻĨā§‡āĻ•ā§‡ āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āĻšāĻžāĻ˛āĻžāĻ¤ā§‡ āĻšāĻŦā§‡
  • āĻĒā§āĻ°āĻĻāĻžāĻ¨āĻ•āĻžāĻ°ā§€ - āĻ•āĻŋāĻ­āĻžāĻŦā§‡ āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āĻšāĻžāĻ˛āĻžāĻ¤ā§‡ āĻšāĻ¯āĻŧ:
    • posix — āĻāĻ•āĻŸāĻŋ āĻļāĻŋāĻļā§ āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻ¸āĻšāĻœāĻ­āĻžāĻŦā§‡ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ, āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ•āĻ°āĻ¤ā§‡ āĻ­ā§āĻ˛āĻŦā§‡āĻ¨ āĻ¨āĻž āĻĒāĻĨ
    • āĻ–ā§‹āĻ˛ - āĻ•āĻŽāĻžāĻ¨ā§āĻĄāĻŸāĻŋ āĻļā§‡āĻ˛ā§‡ āĻšāĻžāĻ˛ā§ āĻšāĻ¯āĻŧ /bin/sh, āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ•āĻ°āĻž āĻ¨āĻžāĻ“ āĻšāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ āĻĒāĻĨ, āĻ†āĻĒāĻ¨āĻŋ āĻ—ā§āĻ˛ā§‹āĻŦāĻŋāĻ‚, āĻĒāĻžāĻ‡āĻĒ āĻāĻŦāĻ‚ āĻ…āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻļā§‡āĻ˛ āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨āĨ¤ āĻ•ā§‹āĻ¨ āĻŦāĻŋāĻļā§‡āĻˇ āĻ…āĻ•ā§āĻˇāĻ° āĻĨāĻžāĻ•āĻ˛ā§‡ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤ āĻ¸ā§āĻŦāĻ¯āĻŧāĻ‚āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻ­āĻžāĻŦā§‡ āĻ¸āĻ¨āĻžāĻ•ā§āĻ¤ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ (|, ;, &&, || āĻ‡āĻ¤ā§āĻ¯āĻžāĻĻāĻŋ)āĨ¤

āĻœāĻ¨ā§āĻ¯ cron

āĻ•ā§āĻ°ā§‹āĻ¨āĻœāĻŦ āĻ¨āĻŋāĻ¯āĻŧāĻ¨ā§āĻ¤ā§āĻ°āĻŖ āĻ•āĻ°ā§‡āĨ¤

āĻŦāĻŋāĻ•āĻ˛ā§āĻĒ:

  • āĻ¸āĻŽā§āĻĒāĻĻā§‡āĻ° āĻ¨āĻžāĻŽ - āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻāĻ• āĻ§āĻ°āĻ¨ā§‡āĻ° āĻļāĻ¨āĻžāĻ•ā§āĻ¤āĻ•āĻžāĻ°ā§€
  • āĻ¨āĻŋāĻļā§āĻšāĻŋāĻ¤ āĻ•āĻ°āĻž - āĻ•ā§āĻ°āĻžāĻ‰āĻ¨āĻœāĻŦ āĻ¸ā§āĻŸā§‡āĻŸ:
    • present - āĻŦāĻŋāĻĻā§āĻ¯āĻŽāĻžāĻ¨ āĻ¨āĻž āĻĨāĻžāĻ•āĻ˛ā§‡ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§āĻ¨
    • absent - āĻŦāĻŋāĻĻā§āĻ¯āĻŽāĻžāĻ¨ āĻĨāĻžāĻ•āĻ˛ā§‡ āĻŽā§āĻ›ā§āĻ¨
  • āĻšā§āĻ•ā§āĻŽ - āĻ•āĻŋ āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āĻšāĻžāĻ˛āĻžāĻ¤ā§‡ āĻšāĻŦā§‡
  • āĻĒāĻ°āĻŋāĻŦā§‡āĻļ — āĻ•ā§‹āĻ¨ āĻĒāĻ°āĻŋāĻŦā§‡āĻļā§‡ āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āĻšāĻžāĻ˛āĻžāĻ¤ā§‡ āĻšāĻŦā§‡ (āĻĒāĻ°āĻŋāĻŦā§‡āĻļ āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛ā§‡āĻ° āĻ¤āĻžāĻ˛āĻŋāĻ•āĻž āĻāĻŦāĻ‚ āĻāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻ¤āĻžāĻĻā§‡āĻ° āĻŽāĻžāĻ¨ =)
  • āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€ — āĻ•ā§‹āĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€āĻ° āĻ•āĻžāĻ› āĻĨā§‡āĻ•ā§‡ āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āĻšāĻžāĻ˛āĻžāĻ¤ā§‡ āĻšāĻŦā§‡
  • āĻŽāĻŋāĻ¨āĻŋāĻŸ, āĻ˜āĻ¨ā§āĻŸāĻž, āĻ¸āĻĒā§āĻ¤āĻžāĻšā§‡āĻ° āĻĻāĻŋāĻ¨, āĻŽāĻžāĻ¸, āĻŽāĻžāĻ¸ āĻĻāĻŋāĻ¨ — āĻ•āĻ–āĻ¨ āĻ•ā§āĻ°ā§‹āĻ¨ āĻšāĻžāĻ˛āĻžāĻ¤ā§‡ āĻšāĻŦā§‡āĨ¤ āĻ¯āĻĻāĻŋ āĻāĻ‡ āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯āĻ—ā§āĻ˛āĻŋāĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻ•ā§‹āĻ¨āĻŸāĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ•āĻ°āĻž āĻ¨āĻž āĻĨāĻžāĻ•ā§‡, āĻ¤āĻžāĻšāĻ˛ā§‡ āĻ•ā§āĻ°āĻ¨āĻŸāĻŦā§‡ āĻāĻ° āĻŽāĻžāĻ¨ āĻšāĻŦā§‡ *.

āĻĒā§āĻ¤ā§āĻ˛ 6.0-āĻ āĻœāĻ¨ā§āĻ¯ cron āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻ¯āĻĻāĻŋ āĻŦāĻžāĻ•ā§āĻ¸ āĻĨā§‡āĻ•ā§‡ āĻ¸āĻ°āĻžāĻ¨ā§‹ āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ puppetserver āĻ, āĻ¤āĻžāĻ‡ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻ¸āĻžāĻ‡āĻŸā§‡ āĻ•ā§‹āĻ¨ āĻĄāĻ•ā§āĻŽā§‡āĻ¨ā§āĻŸā§‡āĻļāĻ¨ āĻ¨ā§‡āĻ‡āĨ¤ āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻ¸ā§‡ āĻŦāĻžāĻ•ā§āĻ¸ā§‡ āĻ†āĻ›ā§‡ āĻĒā§āĻ¤ā§āĻ˛-āĻāĻœā§‡āĻ¨ā§āĻŸ, āĻ¤āĻžāĻ‡ āĻ†āĻ˛āĻžāĻĻāĻžāĻ­āĻžāĻŦā§‡ āĻāĻŸāĻŋ āĻ‡āĻ¨āĻ¸ā§āĻŸāĻ˛ āĻ•āĻ°āĻžāĻ° āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ āĻ¨ā§‡āĻ‡āĨ¤ āĻ†āĻĒāĻ¨āĻŋ āĻāĻŸāĻŋāĻ° āĻœāĻ¨ā§āĻ¯ āĻĄāĻ•ā§āĻŽā§‡āĻ¨ā§āĻŸā§‡āĻļāĻ¨ āĻĻā§‡āĻ–āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨ āĻĒā§āĻ¤ā§āĻ˛ā§‡āĻ° āĻĒāĻžā§āĻšāĻŽ āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖā§‡āĻ° āĻĄāĻ•ā§āĻŽā§‡āĻ¨ā§āĻŸā§‡āĻļāĻ¨ā§‡, āĻŦāĻž āĻ—āĻŋāĻŸāĻšāĻžāĻŦā§‡.

āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ­āĻžāĻŦā§‡ āĻ¸āĻŽā§āĻĒāĻĻ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡

āĻ¸āĻŽā§āĻĒāĻĻ āĻ¸ā§āĻŦāĻ¤āĻ¨ā§āĻ¤ā§āĻ°āĻ¤āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ā§€āĻ¯āĻŧāĻ¤āĻž

āĻ†āĻŽāĻ°āĻž āĻ¸āĻŽā§āĻŽā§āĻ–ā§€āĻ¨ āĻ¸āĻŦāĻšā§‡āĻ¯āĻŧā§‡ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻ­ā§āĻ˛ āĻšāĻ¯āĻŧ āĻĄā§āĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻŸ āĻ˜ā§‹āĻˇāĻŖāĻž. āĻāĻ‡ āĻ¤ā§āĻ°ā§āĻŸāĻŋāĻŸāĻŋ āĻ˜āĻŸā§‡ āĻ¯āĻ–āĻ¨ āĻāĻ•āĻ‡ āĻ¨āĻžāĻŽā§‡āĻ° āĻāĻ•āĻ‡ āĻ§āĻ°āĻŖā§‡āĻ° āĻĻā§āĻŸāĻŋ āĻŦāĻž āĻ¤āĻ¤ā§‹āĻ§āĻŋāĻ• āĻ¸āĻ‚āĻ¸ā§āĻĨāĻžāĻ¨ āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋāĻ¤ā§‡ āĻ‰āĻĒāĻ¸ā§āĻĨāĻŋāĻ¤ āĻšāĻ¯āĻŧāĨ¤

āĻ…āĻ¤āĻāĻŦ, āĻ†āĻŽāĻŋ āĻ†āĻŦāĻžāĻ° āĻ˛āĻŋāĻ–āĻŦ: āĻāĻ•āĻ‡ āĻ¨ā§‹āĻĄā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻŽā§āĻ¯āĻžāĻ¨āĻŋāĻĢā§‡āĻ¸ā§āĻŸā§‡ āĻāĻ•āĻ‡ āĻļāĻŋāĻ°ā§‹āĻ¨āĻžāĻŽ āĻ¸āĻš āĻāĻ•āĻ‡ āĻ§āĻ°āĻŖā§‡āĻ° āĻ¸āĻ‚āĻ¸ā§āĻĨāĻžāĻ¨ āĻĨāĻžāĻ•āĻž āĻ‰āĻšāĻŋāĻ¤ āĻ¨āĻ¯āĻŧ!

āĻ•āĻ–āĻ¨āĻ“ āĻ•āĻ–āĻ¨āĻ“ āĻāĻ•āĻ‡ āĻ¨āĻžāĻŽā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻœ āĻ‡āĻ¨āĻ¸ā§āĻŸāĻ˛ āĻ•āĻ°āĻžāĻ° āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ āĻšāĻ¯āĻŧ, āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āĻ¨ āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻœ āĻĒāĻ°āĻŋāĻšāĻžāĻ˛āĻ•ā§‡āĻ° āĻ¸āĻžāĻĨā§‡āĨ¤ āĻāĻ‡ āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡, āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻĒāĻ°āĻžāĻŽāĻŋāĻ¤āĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡ nameāĻ¤ā§āĻ°ā§āĻŸāĻŋ āĻāĻĄāĻŧāĻžāĻ¤ā§‡:

package { 'ruby-mysql':
  ensure   => installed,
  name     => 'mysql',
  provider => 'gem',
}
package { 'python-mysql':
  ensure   => installed,
  name     => 'mysql',
  provider => 'pip',
}

āĻ¨āĻ•āĻ˛ āĻāĻĄāĻŧāĻžāĻ¤ā§‡ āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ…āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻ°āĻŋāĻ¸ā§‹āĻ°ā§āĻ¸ āĻĒā§āĻ°āĻ•āĻžāĻ°ā§‡āĻ° āĻ…āĻ¨ā§āĻ°ā§‚āĻĒ āĻŦāĻŋāĻ•āĻ˛ā§āĻĒ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡ - name Ņƒ āĻ¸ā§‡āĻŦāĻž, command Ņƒ Exec, āĻāĻŦāĻ‚ āĻ¤āĻžāĻ‡āĨ¤

āĻŽā§‡āĻŸāĻžāĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻŸāĻžāĻ°

āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻ°āĻŋāĻ¸ā§‹āĻ°ā§āĻ¸ āĻŸāĻžāĻ‡āĻĒā§‡āĻ° āĻ•āĻŋāĻ›ā§ āĻŦāĻŋāĻļā§‡āĻˇ āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻŸāĻžāĻ° āĻ†āĻ›ā§‡, āĻ¤āĻžāĻ° āĻĒā§āĻ°āĻ•ā§ƒāĻ¤āĻŋ āĻ¨āĻŋāĻ°ā§āĻŦāĻŋāĻļā§‡āĻˇā§‡āĨ¤

āĻŽā§‡āĻŸāĻž āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻŸāĻžāĻ°ā§‡āĻ° āĻ¸āĻŽā§āĻĒā§‚āĻ°ā§āĻŖ āĻ¤āĻžāĻ˛āĻŋāĻ•āĻž āĻĒā§āĻ¤ā§āĻ˛ āĻĄāĻ•ā§āĻŽā§‡āĻ¨ā§āĻŸā§‡āĻļāĻ¨ā§‡.

āĻ¸āĻ‚āĻ•ā§āĻˇāĻŋāĻĒā§āĻ¤ āĻ¤āĻžāĻ˛āĻŋāĻ•āĻž:

  • āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ — āĻāĻ‡ āĻĒāĻ°āĻžāĻŽāĻŋāĻ¤āĻŋ āĻ¨āĻŋāĻ°ā§āĻĻā§‡āĻļ āĻ•āĻ°ā§‡ āĻ¯ā§‡ āĻāĻ‡ āĻ¸āĻ‚āĻ¸ā§āĻĨāĻžāĻ¨āĻŸāĻŋ āĻ•ā§‹āĻ¨ āĻ¸āĻŽā§āĻĒāĻĻā§‡āĻ° āĻ‰āĻĒāĻ° āĻ¨āĻŋāĻ°ā§āĻ­āĻ° āĻ•āĻ°ā§‡āĨ¤
  • āĻ†āĻ—ā§‡ - āĻāĻ‡ āĻĒāĻ°āĻžāĻŽāĻŋāĻ¤āĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ•āĻ°ā§‡ āĻ¯ā§‡ āĻ•ā§‹āĻ¨ āĻ¸āĻŽā§āĻĒāĻĻ āĻāĻ‡ āĻ¸āĻŽā§āĻĒāĻĻā§‡āĻ° āĻ‰āĻĒāĻ° āĻ¨āĻŋāĻ°ā§āĻ­āĻ° āĻ•āĻ°ā§‡āĨ¤
  • āĻ¸āĻžāĻŦāĻ¸ā§āĻ•ā§āĻ°āĻžāĻ‡āĻŦ — āĻāĻ‡ āĻĒāĻ°āĻžāĻŽāĻŋāĻ¤āĻŋāĻŸāĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ•āĻ°ā§‡ āĻ¯ā§‡ āĻ•ā§‹āĻ¨ āĻ¸āĻ‚āĻ¸ā§āĻĨāĻžāĻ¨ āĻĨā§‡āĻ•ā§‡ āĻāĻ‡ āĻ¸āĻ‚āĻ¸ā§āĻĨāĻžāĻ¨āĻŸāĻŋ āĻŦāĻŋāĻœā§āĻžāĻĒā§āĻ¤āĻŋ āĻ—ā§āĻ°āĻšāĻŖ āĻ•āĻ°ā§‡āĨ¤
  • āĻ…āĻŦāĻšāĻŋāĻ¤ — āĻāĻ‡ āĻĒāĻ°āĻžāĻŽāĻŋāĻ¤āĻŋāĻŸāĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ•āĻ°ā§‡ āĻ¯ā§‡ āĻ•ā§‹āĻ¨ āĻ¸āĻ‚āĻ¸ā§āĻĨāĻžāĻ¨āĻ—ā§āĻ˛āĻŋ āĻāĻ‡ āĻ¸āĻ‚āĻ¸ā§āĻĨāĻžāĻ¨ āĻĨā§‡āĻ•ā§‡ āĻŦāĻŋāĻœā§āĻžāĻĒā§āĻ¤āĻŋ āĻ—ā§āĻ°āĻšāĻŖ āĻ•āĻ°ā§‡āĨ¤

āĻ¤āĻžāĻ˛āĻŋāĻ•āĻžāĻ­ā§āĻ•ā§āĻ¤ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻŽā§‡āĻŸāĻžāĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻŸāĻžāĻ° āĻšāĻ¯āĻŧ āĻāĻ•āĻŸāĻŋ āĻāĻ•āĻ• āĻ¸āĻ‚āĻ¸ā§āĻĨāĻžāĻ¨ āĻ˛āĻŋāĻ™ā§āĻ• āĻŦāĻž āĻŦāĻ°ā§āĻ—āĻžāĻ•āĻžāĻ° āĻŦāĻ¨ā§āĻ§āĻ¨ā§€āĻ¤ā§‡ āĻ˛āĻŋāĻ™ā§āĻ•āĻ—ā§āĻ˛āĻŋāĻ° āĻāĻ•āĻŸāĻŋ āĻ…ā§āĻ¯āĻžāĻ°ā§‡ āĻ—ā§āĻ°āĻšāĻŖ āĻ•āĻ°ā§‡āĨ¤

āĻ¸āĻŽā§āĻĒāĻĻ āĻ˛āĻŋāĻ™ā§āĻ•

āĻāĻ•āĻŸāĻŋ āĻ°āĻŋāĻ¸ā§‹āĻ°ā§āĻ¸ āĻ˛āĻŋāĻ™ā§āĻ• āĻšāĻ˛ āĻ°āĻŋāĻ¸ā§‹āĻ°ā§āĻ¸ā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻ‰āĻ˛ā§āĻ˛ā§‡āĻ–āĨ¤ āĻāĻ—ā§āĻ˛āĻŋ āĻĒā§āĻ°āĻ§āĻžāĻ¨āĻ¤ āĻ¨āĻŋāĻ°ā§āĻ­āĻ°āĻ¤āĻž āĻ¨āĻŋāĻ°ā§āĻĻā§‡āĻļ āĻ•āĻ°āĻ¤ā§‡ āĻŦā§āĻ¯āĻŦāĻšā§ƒāĻ¤ āĻšāĻ¯āĻŧāĨ¤ āĻāĻ•āĻŸāĻŋ āĻ…āĻ¸ā§āĻ¤āĻŋāĻ¤ā§āĻŦāĻšā§€āĻ¨ āĻ¸āĻŽā§āĻĒāĻĻ āĻ‰āĻ˛ā§āĻ˛ā§‡āĻ– āĻ•āĻ°āĻž āĻāĻ•āĻŸāĻŋ āĻ¸āĻ‚āĻ•āĻ˛āĻ¨ āĻ¤ā§āĻ°ā§āĻŸāĻŋāĻ° āĻ•āĻžāĻ°āĻŖ āĻšāĻŦā§‡.

āĻ˛āĻŋāĻ™ā§āĻ•āĻŸāĻŋāĻ° āĻ¸āĻŋāĻ¨āĻŸā§āĻ¯āĻžāĻ•ā§āĻ¸ āĻ¨āĻŋāĻŽā§āĻ¨āĻ°ā§‚āĻĒ: āĻāĻ•āĻŸāĻŋ āĻŦāĻĄāĻŧ āĻ…āĻ•ā§āĻˇāĻ° āĻ¸āĻš āĻ¸āĻŽā§āĻĒāĻĻā§‡āĻ° āĻ§āĻ°āĻ¨ (āĻ¯āĻĻāĻŋ āĻŸāĻžāĻ‡āĻĒā§‡āĻ° āĻ¨āĻžāĻŽā§‡āĻ° āĻĄāĻŦāĻ˛ āĻ•ā§‹āĻ˛āĻ¨ āĻĨāĻžāĻ•ā§‡, āĻ¤āĻžāĻšāĻ˛ā§‡ āĻ•ā§‹āĻ˛āĻ¨ā§‡āĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻ¨āĻžāĻŽā§‡āĻ° āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻ…āĻ‚āĻļ āĻŦāĻĄāĻŧ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ), āĻ¤āĻžāĻ°āĻĒāĻ° āĻŦāĻ°ā§āĻ—āĻžāĻ•āĻžāĻ° āĻŦāĻ¨ā§āĻ§āĻ¨ā§€āĻ¤ā§‡ āĻ¸āĻŽā§āĻĒāĻĻā§‡āĻ° āĻ¨āĻžāĻŽ (āĻ¨āĻžāĻŽā§‡āĻ° āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡) āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ āĻ¨āĻž!). āĻ•ā§‹āĻ¨ āĻ¸ā§āĻĒā§‡āĻ¸ āĻĨāĻžāĻ•āĻž āĻ‰āĻšāĻŋāĻ¤ āĻ¨āĻ¯āĻŧ; āĻŦāĻ°ā§āĻ—āĻžāĻ•āĻžāĻ° āĻŦāĻ¨ā§āĻ§āĻ¨ā§€āĻ—ā§āĻ˛āĻŋ āĻŸāĻžāĻ‡āĻĒā§‡āĻ° āĻ¨āĻžāĻŽā§‡āĻ° āĻĒāĻ°ā§‡āĻ‡ āĻ˛ā§‡āĻ–āĻž āĻšāĻ¯āĻŧāĨ¤

āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ:

file { '/file1': ensure => present }
file { '/file2':
  ensure => directory,
  before => File['/file1'],
}
file { '/file3': ensure => absent }
File['/file1'] -> File['/file3']

āĻ¨āĻŋāĻ°ā§āĻ­āĻ°āĻ¤āĻž āĻāĻŦāĻ‚ āĻŦāĻŋāĻœā§āĻžāĻĒā§āĻ¤āĻŋ

āĻāĻ–āĻžāĻ¨ā§‡ āĻĄāĻ•ā§āĻŽā§‡āĻ¨ā§āĻŸā§‡āĻļāĻ¨.

āĻ†āĻ—ā§‡āĻ‡ āĻŦāĻ˛āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡, āĻ¸āĻŽā§āĻĒāĻĻā§‡āĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻ¸āĻšāĻœ āĻ¨āĻŋāĻ°ā§āĻ­āĻ°āĻ¤āĻž āĻŸā§āĻ°āĻžāĻ¨āĻœāĻŋāĻŸāĻŋāĻ­āĨ¤ āĻ¯āĻžāĻ‡āĻšā§‹āĻ•, āĻ¨āĻŋāĻ°ā§āĻ­āĻ°āĻ¤āĻž āĻ¯ā§‹āĻ— āĻ•āĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻ¸āĻ¤āĻ°ā§āĻ•āĻ¤āĻž āĻ…āĻŦāĻ˛āĻŽā§āĻŦāĻ¨ āĻ•āĻ°ā§āĻ¨ - āĻ†āĻĒāĻ¨āĻŋ āĻšāĻ•ā§āĻ°ā§€āĻ¯āĻŧ āĻ¨āĻŋāĻ°ā§āĻ­āĻ°āĻ¤āĻž āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨, āĻ¯āĻž āĻāĻ•āĻŸāĻŋ āĻ¸āĻ‚āĻ•āĻ˛āĻ¨ āĻ¤ā§āĻ°ā§āĻŸāĻŋāĻ° āĻ•āĻžāĻ°āĻŖ āĻšāĻŦā§‡āĨ¤

āĻ¨āĻŋāĻ°ā§āĻ­āĻ°āĻ¤āĻž āĻĨā§‡āĻ•ā§‡ āĻ­āĻŋāĻ¨ā§āĻ¨, āĻŦāĻŋāĻœā§āĻžāĻĒā§āĻ¤āĻŋāĻ—ā§āĻ˛āĻŋ āĻŸā§āĻ°āĻžāĻ¨āĻœāĻŋāĻŸāĻŋāĻ­ āĻ¨āĻ¯āĻŧāĨ¤ āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻ–āĻŋāĻ¤ āĻ¨āĻŋāĻ¯āĻŧāĻŽ āĻŦāĻŋāĻœā§āĻžāĻĒā§āĻ¤āĻŋāĻ° āĻœāĻ¨ā§āĻ¯ āĻĒā§āĻ°āĻ¯ā§‹āĻœā§āĻ¯:

  • āĻ¯āĻĻāĻŋ āĻ¸āĻŽā§āĻĒāĻĻ āĻāĻ•āĻŸāĻŋ āĻŦāĻŋāĻœā§āĻžāĻĒā§āĻ¤āĻŋ āĻĒāĻžāĻ¯āĻŧ, āĻāĻŸāĻŋ āĻ†āĻĒāĻĄā§‡āĻŸ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ. āĻ†āĻĒāĻĄā§‡āĻŸ āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻ—ā§āĻ˛āĻŋ āĻ¸āĻŽā§āĻĒāĻĻā§‡āĻ° āĻĒā§āĻ°āĻ•āĻžāĻ°ā§‡āĻ° āĻ‰āĻĒāĻ° āĻ¨āĻŋāĻ°ā§āĻ­āĻ° āĻ•āĻ°ā§‡ - Exec āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āĻšāĻžāĻ˛āĻžāĻ¯āĻŧ, āĻ¸ā§‡āĻŦāĻž āĻĒāĻ°āĻŋāĻˇā§‡āĻŦāĻž āĻĒā§āĻ¨āĻ°āĻžāĻ¯āĻŧ āĻ†āĻ°āĻŽā§āĻ­ āĻ•āĻ°ā§‡, āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻœ āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻœ āĻĒā§āĻ¨āĻ°āĻžāĻ¯āĻŧ āĻ‡āĻ¨āĻ¸ā§āĻŸāĻ˛ āĻ•āĻ°ā§‡āĨ¤ āĻ¯āĻĻāĻŋ āĻ°āĻŋāĻ¸ā§‹āĻ°ā§āĻ¸āĻŸāĻŋāĻ° āĻāĻ•āĻŸāĻŋ āĻ†āĻĒāĻĄā§‡āĻŸ āĻ…ā§āĻ¯āĻžāĻ•āĻļāĻ¨ āĻ¸āĻ‚āĻœā§āĻžāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻ¨āĻž āĻĨāĻžāĻ•ā§‡, āĻ¤āĻžāĻšāĻ˛ā§‡ āĻ•āĻŋāĻ›ā§āĻ‡ āĻšāĻŦā§‡ āĻ¨āĻžāĨ¤
  • āĻĒāĻžāĻĒā§‡āĻŸā§‡āĻ° āĻāĻ• āĻĻā§ŒāĻĄāĻŧā§‡āĻ° āĻ¸āĻŽāĻ¯āĻŧ, āĻ¸āĻ‚āĻ¸ā§āĻĨāĻžāĻ¨āĻŸāĻŋ āĻāĻ•āĻŦāĻžāĻ°ā§‡āĻ° āĻŦā§‡āĻļāĻŋ āĻ†āĻĒāĻĄā§‡āĻŸ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ āĻ¨āĻžāĨ¤ āĻāĻŸāĻŋ āĻ¸āĻŽā§āĻ­āĻŦ āĻ•āĻžāĻ°āĻŖ āĻŦāĻŋāĻœā§āĻžāĻĒā§āĻ¤āĻŋāĻ—ā§āĻ˛āĻŋāĻ¤ā§‡ āĻ¨āĻŋāĻ°ā§āĻ­āĻ°āĻ¤āĻž āĻ…āĻ¨ā§āĻ¤āĻ°ā§āĻ­ā§āĻ•ā§āĻ¤ āĻĨāĻžāĻ•ā§‡ āĻāĻŦāĻ‚ āĻ¨āĻŋāĻ°ā§āĻ­āĻ°āĻ¤āĻž āĻ—ā§āĻ°āĻžāĻĢā§‡ āĻšāĻ•ā§āĻ° āĻĨāĻžāĻ•ā§‡ āĻ¨āĻžāĨ¤
  • āĻ¯āĻĻāĻŋ āĻĒā§āĻ¤ā§āĻ˛ āĻāĻ•āĻŸāĻŋ āĻ¸āĻŽā§āĻĒāĻĻā§‡āĻ° āĻ…āĻŦāĻ¸ā§āĻĨāĻž āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°ā§‡, āĻ¸āĻŽā§āĻĒāĻĻāĻŸāĻŋ āĻāĻŸāĻŋāĻ¤ā§‡ āĻ¸āĻĻāĻ¸ā§āĻ¯āĻ¤āĻž āĻ¨ā§‡āĻ“āĻ¯āĻŧāĻž āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ¸āĻ‚āĻ¸ā§āĻĨāĻžāĻ¨āĻ—ā§āĻ˛āĻŋāĻ¤ā§‡ āĻŦāĻŋāĻœā§āĻžāĻĒā§āĻ¤āĻŋ āĻĒāĻžāĻ āĻžāĻ¯āĻŧāĨ¤
  • āĻ¯āĻĻāĻŋ āĻāĻ•āĻŸāĻŋ āĻ¸āĻ‚āĻ¸ā§āĻĨāĻžāĻ¨ āĻ†āĻĒāĻĄā§‡āĻŸ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ āĻ¤āĻŦā§‡ āĻāĻŸāĻŋ āĻ¸āĻĻāĻ¸ā§āĻ¯āĻ¤āĻž āĻ¨ā§‡āĻ“āĻ¯āĻŧāĻž āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ¸āĻ‚āĻ¸ā§āĻĨāĻžāĻ¨āĻ—ā§āĻ˛āĻŋāĻ¤ā§‡ āĻŦāĻŋāĻœā§āĻžāĻĒā§āĻ¤āĻŋ āĻĒāĻžāĻ āĻžāĻ¯āĻŧā§ˇ

āĻ…āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻĒāĻ°āĻžāĻŽāĻŋāĻ¤āĻŋ āĻĒāĻ°āĻŋāĻšāĻžāĻ˛āĻ¨āĻž āĻ•āĻ°āĻž

āĻāĻ•āĻŸāĻŋ āĻ¨āĻŋāĻ¯āĻŧāĻŽ āĻšāĻŋāĻ¸āĻžāĻŦā§‡, āĻ¯āĻĻāĻŋ āĻ•āĻŋāĻ›ā§ āĻ°āĻŋāĻ¸ā§‹āĻ°ā§āĻ¸ āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻŸāĻžāĻ°ā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻĄāĻŋāĻĢāĻ˛ā§āĻŸ āĻŽāĻžāĻ¨ āĻ¨āĻž āĻĨāĻžāĻ•ā§‡ āĻāĻŦāĻ‚ āĻāĻ‡ āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻŸāĻžāĻ°āĻŸāĻŋ āĻŽā§āĻ¯āĻžāĻ¨āĻŋāĻĢā§‡āĻ¸ā§āĻŸā§‡ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ•āĻ°āĻž āĻ¨āĻž āĻĨāĻžāĻ•ā§‡, āĻ¤āĻžāĻšāĻ˛ā§‡ Puppet āĻ¨ā§‹āĻĄā§‡ āĻ¸āĻ‚āĻļā§āĻ˛āĻŋāĻˇā§āĻŸ āĻ°āĻŋāĻ¸ā§‹āĻ°ā§āĻ¸ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ‡ āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯āĻŸāĻŋ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°āĻŦā§‡ āĻ¨āĻžāĨ¤ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§‚āĻĒ, āĻ¯āĻĻāĻŋ āĻŸāĻžāĻ‡āĻĒ āĻāĻ•āĻŸāĻŋ āĻ¸āĻŽā§āĻĒāĻĻ āĻĢāĻžāĻ‡āĻ˛ āĻĒāĻ°āĻžāĻŽāĻŋāĻ¤āĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧāĻ¨āĻŋ owner, āĻ¤āĻžāĻšāĻ˛ā§‡ Puppet āĻ¸āĻ‚āĻļā§āĻ˛āĻŋāĻˇā§āĻŸ āĻĢāĻžāĻ‡āĻ˛ā§‡āĻ° āĻŽāĻžāĻ˛āĻŋāĻ• āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°āĻŦā§‡ āĻ¨āĻžāĨ¤

āĻ•ā§āĻ˛āĻžāĻ¸, āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛ āĻāĻŦāĻ‚ āĻ¸āĻ‚āĻœā§āĻžāĻžāĻ° āĻ­ā§‚āĻŽāĻŋāĻ•āĻž

āĻ§āĻ°ā§āĻ¨ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻŦā§‡āĻļ āĻ•āĻ¯āĻŧā§‡āĻ•āĻŸāĻŋ āĻ¨ā§‹āĻĄ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡ āĻ¯ā§‡āĻ—ā§āĻ˛āĻŋāĻ° āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°ā§‡āĻļāĻ¨ā§‡āĻ° āĻāĻ•āĻ‡ āĻ…āĻ‚āĻļ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡, āĻ¤āĻŦā§‡ āĻĒāĻžāĻ°ā§āĻĨāĻ•ā§āĻ¯āĻ“ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡ - āĻ…āĻ¨ā§āĻ¯āĻĨāĻžāĻ¯āĻŧ āĻ†āĻŽāĻ°āĻž āĻāĻŸāĻŋāĻ•ā§‡ āĻāĻ• āĻŦā§āĻ˛āĻ•ā§‡ āĻŦāĻ°ā§āĻŖāĻ¨āĻž āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°āĻŋ node {}. āĻ…āĻŦāĻļā§āĻ¯āĻ‡, āĻ†āĻĒāĻ¨āĻŋ āĻ•ā§‡āĻŦāĻ˛ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°ā§‡āĻļāĻ¨ā§‡āĻ° āĻ…āĻ­āĻŋāĻ¨ā§āĻ¨ āĻ…āĻ‚āĻļāĻ—ā§āĻ˛āĻŋ āĻ…āĻ¨ā§āĻ˛āĻŋāĻĒāĻŋ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨, āĻ¤āĻŦā§‡ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ­āĻžāĻŦā§‡ āĻāĻŸāĻŋ āĻāĻ•āĻŸāĻŋ āĻ–āĻžāĻ°āĻžāĻĒ āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨ - āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°ā§‡āĻļāĻ¨ āĻŦāĻžāĻĄāĻŧāĻ¤ā§‡ āĻĨāĻžāĻ•ā§‡ āĻāĻŦāĻ‚ āĻ†āĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°ā§‡āĻļāĻ¨ā§‡āĻ° āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻ…āĻ‚āĻļāĻŸāĻŋ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°ā§‡āĻ¨ āĻ¤āĻŦā§‡ āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻ…āĻ¨ā§‡āĻ• āĻœāĻžāĻ¯āĻŧāĻ—āĻžāĻ¯āĻŧ āĻāĻ•āĻ‡ āĻœāĻŋāĻ¨āĻŋāĻ¸ āĻ¸āĻŽā§āĻĒāĻžāĻĻāĻ¨āĻž āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡āĨ¤ āĻāĻ•āĻ‡ āĻ¸āĻŽāĻ¯āĻŧā§‡, āĻ­ā§āĻ˛ āĻ•āĻ°āĻž āĻ¸āĻšāĻœ, āĻāĻŦāĻ‚ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ­āĻžāĻŦā§‡, DRY (āĻ¨āĻŋāĻœā§‡āĻ•ā§‡ āĻĒā§āĻ¨āĻ°āĻžāĻŦā§ƒāĻ¤ā§āĻ¤āĻŋ āĻ•āĻ°āĻŦā§‡āĻ¨ āĻ¨āĻž) āĻ¨ā§€āĻ¤āĻŋāĻŸāĻŋ āĻāĻ•āĻŸāĻŋ āĻ•āĻžāĻ°āĻŖā§‡ āĻ‰āĻĻā§āĻ­āĻžāĻŦāĻŋāĻ¤ āĻšāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛āĨ¤

āĻāĻ‡ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻž āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ¯ā§‡āĻŽāĻ¨ āĻāĻ•āĻŸāĻŋ āĻ¨āĻ•āĻļāĻž āĻ†āĻ›ā§‡ āĻŦāĻ°ā§āĻ—.

āĻ•ā§āĻ˛āĻžāĻ¸

КĐģĐ°ŅŅ āĻĒāĻĒā§‡āĻŸ āĻ•ā§‹āĻĄā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻ¨āĻžāĻŽāĻ•ā§ƒāĻ¤ āĻŦā§āĻ˛āĻ•āĨ¤ āĻ•ā§‹āĻĄ āĻĒā§āĻ¨āĻ°āĻžāĻ¯āĻŧ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ•ā§āĻ˛āĻžāĻ¸ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨āĨ¤

āĻĒā§āĻ°āĻĨāĻŽā§‡ āĻ•ā§āĻ˛āĻžāĻ¸ āĻŦāĻ°ā§āĻŖāĻ¨āĻž āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡āĨ¤ āĻŦāĻ°ā§āĻŖāĻ¨āĻž āĻ¨āĻŋāĻœā§‡āĻ‡ āĻ•ā§‹āĻĨāĻžāĻ“ āĻ•ā§‹āĻ¨ āĻ¸āĻŽā§āĻĒāĻĻ āĻ¯ā§‹āĻ— āĻ•āĻ°ā§‡ āĻ¨āĻž. āĻ•ā§āĻ˛āĻžāĻ¸āĻŸāĻŋ āĻŽā§āĻ¯āĻžāĻ¨āĻŋāĻĢā§‡āĻ¸ā§āĻŸā§‡ āĻŦāĻ°ā§āĻŖāĻ¨āĻž āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡:

# ОĐŋиŅĐ°ĐŊиĐĩ ĐēĐģĐ°ŅŅĐ° ĐŊĐ°Ņ‡Đ¸ĐŊĐ°ĐĩŅ‚ŅŅ Ņ ĐēĐģŅŽŅ‡ĐĩвОĐŗĐž ŅĐģОва class и ĐĩĐŗĐž ĐŊаСваĐŊиŅ.
# ДаĐģŅŒŅˆĐĩ идŅ‘Ņ‚ Ņ‚ĐĩĐģĐž ĐēĐģĐ°ŅŅĐ° в Ņ„иĐŗŅƒŅ€ĐŊŅ‹Ņ… ŅĐēОйĐēĐ°Ņ….
class example_class {
    ...
}

āĻāĻ° āĻĒāĻ°ā§‡ āĻ•ā§āĻ˛āĻžāĻ¸āĻŸāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡:

# ĐŋĐĩŅ€Đ˛Ņ‹Đš ваŅ€Đ¸Đ°ĐŊŅ‚ иŅĐŋĐžĐģŅŒĐˇĐžĐ˛Đ°ĐŊиŅ — в ŅŅ‚иĐģĐĩ Ņ€ĐĩŅŅƒŅ€ŅĐ° Ņ Ņ‚иĐŋĐžĐŧ class
class { 'example_class': }
# вŅ‚ĐžŅ€ĐžĐš ваŅ€Đ¸Đ°ĐŊŅ‚ иŅĐŋĐžĐģŅŒĐˇĐžĐ˛Đ°ĐŊиŅ — Ņ ĐŋĐžĐŧĐžŅ‰ŅŒŅŽ Ņ„ŅƒĐŊĐēŅ†Đ¸Đ¸ include
include example_class
# ĐŋŅ€Đž ĐžŅ‚ĐģиŅ‡Đ¸Đĩ ŅŅ‚иŅ… двŅƒŅ… ваŅ€Đ¸Đ°ĐŊŅ‚Ов ĐąŅƒĐ´ĐĩŅ‚ Ņ€Đ°ŅŅĐēаСаĐŊĐž Đ´Đ°ĐģŅŒŅˆĐĩ

āĻĒā§‚āĻ°ā§āĻŦāĻŦāĻ°ā§āĻ¤ā§€ āĻŸāĻžāĻ¸ā§āĻ• āĻĨā§‡āĻ•ā§‡ āĻāĻ•āĻŸāĻŋ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ - āĻ†āĻ¸ā§āĻ¨ nginx āĻāĻ° āĻ‡āĻ¨āĻ¸ā§āĻŸāĻ˛ā§‡āĻļāĻ¨ āĻāĻŦāĻ‚ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°ā§‡āĻļāĻ¨āĻŸāĻŋāĻ•ā§‡ āĻāĻ•āĻŸāĻŋ āĻ•ā§āĻ˛āĻžāĻ¸ā§‡ āĻ¸āĻ°āĻŋāĻ¯āĻŧā§‡ āĻ¨ā§‡āĻ“āĻ¯āĻŧāĻž āĻ¯āĻžāĻ•:

class nginx_example {
    package { 'nginx':
        ensure => installed,
    }
    -> file { '/etc/nginx':
        ensure => directory,
        source => 'puppet:///modules/example/nginx-conf',
        recure => true,
        purge  => true,
        force  => true,
    }
    ~> service { 'nginx':
        ensure => running,
        enable => true,
    }
}

node 'server2.testdomain' {
    include nginx_example
}

āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨āĻļā§€āĻ˛

āĻĒā§‚āĻ°ā§āĻŦāĻŦāĻ°ā§āĻ¤ā§€ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖā§‡āĻ° āĻ•ā§āĻ˛āĻžāĻ¸āĻŸāĻŋ āĻŽā§‹āĻŸā§‡āĻ“ āĻ¨āĻŽāĻ¨ā§€āĻ¯āĻŧ āĻ¨āĻ¯āĻŧ āĻ•āĻžāĻ°āĻŖ āĻāĻŸāĻŋ āĻ¸āĻ°ā§āĻŦāĻĻāĻž āĻāĻ•āĻ‡ nginx āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°ā§‡āĻļāĻ¨ āĻ¨āĻŋāĻ¯āĻŧā§‡ āĻ†āĻ¸ā§‡āĨ¤ āĻ†āĻ¸ā§āĻ¨ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°ā§‡āĻļāĻ¨ āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛ā§‡āĻ° āĻĒāĻĨ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻŋ, āĻ¤āĻžāĻšāĻ˛ā§‡ āĻāĻ‡ āĻ•ā§āĻ˛āĻžāĻ¸āĻŸāĻŋ āĻ¯ā§‡āĻ•ā§‹āĻ¨ā§‹ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°ā§‡āĻļāĻ¨ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ nginx āĻ‡āĻ¨āĻ¸ā§āĻŸāĻ˛ āĻ•āĻ°āĻ¤ā§‡ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤

āĻāĻŸāĻž āĻšāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡.

āĻŽāĻ¨ā§‹āĻ¯ā§‹āĻ—: āĻĒā§āĻ¤ā§āĻ˛ā§‡āĻ° āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛āĻ—ā§āĻ˛āĻŋ āĻ…āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ā§€āĻ¯āĻŧ!

āĻ‰āĻĒāĻ°āĻ¨ā§āĻ¤ā§, āĻāĻ•āĻŸāĻŋ āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻāĻŸāĻŋ āĻ˜ā§‹āĻˇāĻŖāĻž āĻ•āĻ°āĻžāĻ° āĻĒāĻ°ā§‡ āĻ…ā§āĻ¯āĻžāĻ•ā§āĻ¸ā§‡āĻ¸ āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡, āĻ…āĻ¨ā§āĻ¯āĻĨāĻžāĻ¯āĻŧ āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛ā§‡āĻ° āĻŽāĻžāĻ¨ āĻšāĻŦā§‡ undef.

āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ•āĻžāĻœ āĻ•āĻ°āĻžāĻ° āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ:

# ŅĐžĐˇĐ´Đ°ĐŊиĐĩ ĐŋĐĩŅ€ĐĩĐŧĐĩĐŊĐŊŅ‹Ņ…
$variable = 'value'
$var2 = 1
$var3 = true
$var4 = undef
# иŅĐŋĐžĐģŅŒĐˇĐžĐ˛Đ°ĐŊиĐĩ ĐŋĐĩŅ€ĐĩĐŧĐĩĐŊĐŊŅ‹Ņ…
$var5 = $var6
file { '/tmp/text': content => $variable }
# иĐŊŅ‚ĐĩŅ€ĐŋĐžĐģŅŅ†Đ¸Ņ ĐŋĐĩŅ€ĐĩĐŧĐĩĐŊĐŊŅ‹Ņ… — Ņ€Đ°ŅĐēŅ€Ņ‹Ņ‚иĐĩ СĐŊĐ°Ņ‡ĐĩĐŊиŅ ĐŋĐĩŅ€ĐĩĐŧĐĩĐŊĐŊŅ‹Ņ… в ŅŅ‚Ņ€ĐžĐēĐ°Ņ…. РайОŅ‚Đ°ĐĩŅ‚ Ņ‚ĐžĐģŅŒĐēĐž в двОКĐŊŅ‹Ņ… ĐēавŅ‹Ņ‡ĐēĐ°Ņ…!
$var6 = "Variable with name variable has value ${variable}"

āĻĒā§āĻ¤ā§āĻ˛ āĻ†āĻ›ā§‡ āĻ¨āĻžāĻŽāĻ¸ā§āĻĨāĻžāĻ¨, āĻāĻŦāĻ‚ āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛, āĻ¸ā§‡āĻ‡ āĻ…āĻ¨ā§āĻ¯āĻžāĻ¯āĻŧā§€, āĻ†āĻ›ā§‡ āĻĻā§ƒāĻļā§āĻ¯āĻŽāĻžāĻ¨āĻ¤āĻžāĻ° āĻāĻ˛āĻžāĻ•āĻž: āĻāĻ•āĻ‡ āĻ¨āĻžāĻŽā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨āĻļā§€āĻ˛ āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āĻ¨ āĻ¨āĻžāĻŽāĻ¸ā§āĻĨāĻžāĻ¨ā§‡ āĻ¸āĻ‚āĻœā§āĻžāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤ āĻāĻ•āĻŸāĻŋ āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛ā§‡āĻ° āĻŽāĻžāĻ¨ āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨ āĻ•āĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ, āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛āĻŸāĻŋ āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ āĻ¨āĻžāĻŽāĻ¸ā§āĻĨāĻžāĻ¨ā§‡ āĻ…āĻ¨ā§āĻ¸āĻ¨ā§āĻ§āĻžāĻ¨ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ, āĻ¤āĻžāĻ°āĻĒāĻ°ā§‡ āĻ†āĻŦāĻĻā§āĻ§ āĻ¨āĻžāĻŽāĻ¸ā§āĻĨāĻžāĻ¨ā§‡ āĻāĻŦāĻ‚ āĻ†āĻ°āĻ“ āĻ…āĻ¨ā§‡āĻ• āĻ•āĻŋāĻ›ā§āĨ¤

āĻ¨ā§‡āĻŽāĻ¸ā§āĻĒā§‡āĻ¸ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ:

  • āĻ—ā§āĻ˛ā§‹āĻŦāĻžāĻ˛ - āĻ•ā§āĻ˛āĻžāĻ¸ āĻŦāĻž āĻ¨ā§‹āĻĄā§‡āĻ° āĻŦāĻŋāĻŦāĻ°āĻŖā§‡āĻ° āĻŦāĻžāĻ‡āĻ°ā§‡āĻ° āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛ āĻ¸ā§‡āĻ–āĻžāĻ¨ā§‡ āĻ¯āĻžāĻ¯āĻŧ;
  • āĻ¨ā§‹āĻĄā§‡āĻ° āĻŦāĻŋāĻŦāĻ°āĻŖā§‡ āĻ¨ā§‹āĻĄ āĻ¨āĻžāĻŽāĻ¸ā§āĻĨāĻžāĻ¨;
  • āĻ•ā§āĻ˛āĻžāĻ¸ā§‡āĻ° āĻŦāĻ°ā§āĻŖāĻ¨āĻžāĻ¯āĻŧ āĻ•ā§āĻ˛āĻžāĻ¸ā§‡āĻ° āĻ¨āĻžāĻŽāĻ¸ā§āĻĨāĻžāĻ¨āĨ¤

āĻāĻ•āĻŸāĻŋ āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛ āĻ…ā§āĻ¯āĻžāĻ•ā§āĻ¸ā§‡āĻ¸ āĻ•āĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻ…āĻ¸ā§āĻĒāĻˇā§āĻŸāĻ¤āĻž āĻāĻĄāĻŧāĻžāĻ¤ā§‡, āĻ†āĻĒāĻ¨āĻŋ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨āĻļā§€āĻ˛ āĻ¨āĻžāĻŽā§‡āĻ° āĻ¨āĻžāĻŽāĻ¸ā§āĻĨāĻžāĻ¨ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨:

# ĐŋĐĩŅ€ĐĩĐŧĐĩĐŊĐŊĐ°Ņ ĐąĐĩС ĐŋŅ€ĐžŅŅ‚Ņ€Đ°ĐŊŅŅ‚ва иĐŧŅ‘ĐŊ
$var
# ĐŋĐĩŅ€ĐĩĐŧĐĩĐŊĐŊĐ°Ņ в ĐŗĐģОйаĐģŅŒĐŊĐžĐŧ ĐŋŅ€ĐžŅŅ‚Ņ€Đ°ĐŊŅŅ‚вĐĩ иĐŧŅ‘ĐŊ
$::var
# ĐŋĐĩŅ€ĐĩĐŧĐĩĐŊĐŊĐ°Ņ в ĐŋŅ€ĐžŅŅ‚Ņ€Đ°ĐŊŅŅ‚вĐĩ иĐŧŅ‘ĐŊ ĐēĐģĐ°ŅŅĐ°
$classname::var
$::classname::var

āĻ†āĻ¸ā§āĻ¨ āĻ¸āĻŽā§āĻŽāĻ¤ āĻšāĻ‡ āĻ¯ā§‡ nginx āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°ā§‡āĻļāĻ¨ā§‡āĻ° āĻĒāĻĨāĻŸāĻŋ āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛ā§‡āĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡ $nginx_conf_source. āĻ¤āĻžāĻ°āĻĒāĻ° āĻ•ā§āĻ˛āĻžāĻ¸ āĻāĻ‡ āĻŽāĻ¤ āĻĻā§‡āĻ–āĻžāĻŦā§‡:

class nginx_example {
    package { 'nginx':
        ensure => installed,
    }
    -> file { '/etc/nginx':
        ensure => directory,
        source => $nginx_conf_source,   # СдĐĩŅŅŒ иŅĐŋĐžĐģŅŒĐˇŅƒĐĩĐŧ ĐŋĐĩŅ€ĐĩĐŧĐĩĐŊĐŊŅƒŅŽ вĐŧĐĩŅŅ‚Đž Ņ„иĐēŅĐ¸Ņ€ĐžĐ˛Đ°ĐŊĐŊОК ŅŅ‚Ņ€ĐžĐēи
        recure => true,
        purge  => true,
        force  => true,
    }
    ~> service { 'nginx':
        ensure => running,
        enable => true,
    }
}

node 'server2.testdomain' {
    $nginx_conf_source = 'puppet:///modules/example/nginx-conf'
    include nginx_example
}

āĻ¯āĻžāĻ‡āĻšā§‹āĻ•, āĻĒā§āĻ°āĻĻāĻ¤ā§āĻ¤ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻŸāĻŋ āĻ–āĻžāĻ°āĻžāĻĒ āĻ•āĻžāĻ°āĻŖ āĻ•āĻŋāĻ›ā§ "āĻ—ā§‹āĻĒāĻ¨ āĻœā§āĻžāĻžāĻ¨" āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡ āĻ¯āĻž āĻ•ā§āĻ˛āĻžāĻ¸ā§‡āĻ° āĻ­āĻŋāĻ¤āĻ°ā§‡ āĻ•ā§‹āĻĨāĻžāĻ“ āĻ…āĻŽā§āĻ• āĻāĻŦāĻ‚ āĻ…āĻŽā§āĻ• āĻ¨āĻžāĻŽā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤ āĻāĻ‡ āĻœā§āĻžāĻžāĻ¨ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻ•āĻ°āĻž āĻ…āĻ¨ā§‡āĻ• āĻŦā§‡āĻļāĻŋ āĻ¸āĻ āĻŋāĻ• - āĻ•ā§āĻ˛āĻžāĻ¸ā§‡āĻ° āĻĒāĻ°āĻžāĻŽāĻŋāĻ¤āĻŋ āĻĨāĻžāĻ•āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤

āĻ•ā§āĻ˛āĻžāĻ¸ āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻŸāĻžāĻ° āĻ•ā§āĻ˛āĻžāĻ¸ āĻ¨ā§‡āĻŽāĻ¸ā§āĻĒā§‡āĻ¸ā§‡ āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛, āĻāĻ—ā§āĻ˛āĻŋ āĻ•ā§āĻ˛āĻžāĻ¸ āĻšā§‡āĻĄāĻžāĻ°ā§‡ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ āĻāĻŦāĻ‚ āĻ•ā§āĻ˛āĻžāĻ¸ āĻŦāĻĄāĻŋāĻ¤ā§‡ āĻ¨āĻŋāĻ¯āĻŧāĻŽāĻŋāĻ¤ āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛ā§‡āĻ° āĻŽāĻ¤ā§‹ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤ āĻŽā§āĻ¯āĻžāĻ¨āĻŋāĻĢā§‡āĻ¸ā§āĻŸā§‡ āĻ•ā§āĻ˛āĻžāĻ¸ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻŸāĻžāĻ°ā§‡āĻ° āĻŽāĻžāĻ¨āĻ—ā§āĻ˛āĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧāĨ¤

āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻŸāĻžāĻ° āĻāĻ•āĻŸāĻŋ āĻĄāĻŋāĻĢāĻ˛ā§āĻŸ āĻŽāĻžāĻ¨ āĻ¸ā§‡āĻŸ āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡. āĻ¯āĻĻāĻŋ āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻŸāĻžāĻ°ā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻĄāĻŋāĻĢāĻ˛ā§āĻŸ āĻŽāĻžāĻ¨ āĻ¨āĻž āĻĨāĻžāĻ•ā§‡ āĻāĻŦāĻ‚ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻŽāĻžāĻ¨ āĻ¸ā§‡āĻŸ āĻ¨āĻž āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ, āĻāĻŸāĻŋ āĻāĻ•āĻŸāĻŋ āĻ¸āĻ‚āĻ•āĻ˛āĻ¨ āĻ¤ā§āĻ°ā§āĻŸāĻŋ āĻ¸ā§ƒāĻˇā§āĻŸāĻŋ āĻ•āĻ°āĻŦā§‡āĨ¤

āĻ†āĻ¸ā§āĻ¨ āĻ‰āĻĒāĻ°ā§‡āĻ° āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻĨā§‡āĻ•ā§‡ āĻ•ā§āĻ˛āĻžāĻ¸āĻŸāĻŋāĻ•ā§‡ āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻŸāĻžāĻ°āĻžāĻ‡āĻœ āĻ•āĻ°āĻŋ āĻāĻŦāĻ‚ āĻĻā§āĻŸāĻŋ āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻŸāĻžāĻ° āĻ¯ā§‹āĻ— āĻ•āĻ°āĻŋ: āĻĒā§āĻ°āĻĨāĻŽāĻŸāĻŋ, āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ā§€āĻ¯āĻŧ, āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°ā§‡āĻļāĻ¨ā§‡āĻ° āĻĒāĻĨ āĻāĻŦāĻ‚ āĻĻā§āĻŦāĻŋāĻ¤ā§€āĻ¯āĻŧāĻŸāĻŋ, āĻāĻšā§āĻ›āĻŋāĻ•, nginx āĻ¸āĻš āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻœā§‡āĻ° āĻ¨āĻžāĻŽ (āĻĄā§‡āĻŦāĻŋāĻ¯āĻŧāĻžāĻ¨ā§‡, āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§‚āĻĒ, āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻœ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡ nginx, nginx-light, nginx-full).

# ĐŋĐĩŅ€ĐĩĐŧĐĩĐŊĐŊŅ‹Đĩ ĐžĐŋиŅŅ‹Đ˛Đ°ŅŽŅ‚ŅŅ ŅŅ€Đ°ĐˇŅƒ ĐŋĐžŅĐģĐĩ иĐŧĐĩĐŊи ĐēĐģĐ°ŅŅĐ° в ĐēŅ€ŅƒĐŗĐģŅ‹Ņ… ŅĐēОйĐēĐ°Ņ…
class nginx_example (
  $conf_source,
  $package_name = 'nginx-light', # ĐŋĐ°Ņ€Đ°ĐŧĐĩŅ‚Ņ€ ŅĐž СĐŊĐ°Ņ‡ĐĩĐŊиĐĩĐŧ ĐŋĐž ŅƒĐŧĐžĐģŅ‡Đ°ĐŊиŅŽ
) {
  package { $package_name:
    ensure => installed,
  }
  -> file { '/etc/nginx':
    ensure  => directory,
    source  => $conf_source,
    recurse => true,
    purge   => true,
    force   => true,
  }
  ~> service { 'nginx':
    ensure => running,
    enable => true,
  }
}

node 'server2.testdomain' {
  # ĐĩŅĐģи ĐŧŅ‹ Ņ…ĐžŅ‚иĐŧ СадаŅ‚ŅŒ ĐŋĐ°Ņ€Đ°ĐŧĐĩŅ‚Ņ€Ņ‹ ĐēĐģĐ°ŅŅĐ°, Ņ„ŅƒĐŊĐēŅ†Đ¸Ņ include ĐŊĐĩ ĐŋОдОКдŅ‘Ņ‚* — ĐŊŅƒĐļĐŊĐž иŅĐŋĐžĐģŅŒĐˇĐžĐ˛Đ°Ņ‚ŅŒ resource-style declaration
  # *ĐŊĐ° ŅĐ°ĐŧĐžĐŧ Đ´ĐĩĐģĐĩ ĐŋОдОКдŅ‘Ņ‚, ĐŊĐž ĐŋŅ€Đž ŅŅ‚Đž Ņ€Đ°ŅŅĐēĐ°ĐļŅƒ в ŅĐģĐĩĐ´ŅƒŅŽŅ‰ĐĩĐš ŅĐĩŅ€Đ¸Đ¸. КĐģŅŽŅ‡ĐĩвОĐĩ ŅĐģОвО "Hiera".
  class { 'nginx_example':
    conf_source => 'puppet:///modules/example/nginx-conf',   # СадаŅ‘Đŧ ĐŋĐ°Ņ€Đ°ĐŧĐĩŅ‚Ņ€Ņ‹ ĐēĐģĐ°ŅŅĐ° Ņ‚ĐžŅ‡ĐŊĐž Ņ‚Đ°Đē ĐļĐĩ, ĐēĐ°Đē ĐŋĐ°Ņ€Đ°ĐŧĐĩŅ‚Ņ€Ņ‹ Đ´ĐģŅ Đ´Ņ€ŅƒĐŗиŅ… Ņ€ĐĩŅŅƒŅ€ŅĐžĐ˛
  }
}

āĻĒāĻžāĻĒā§‡āĻŸā§‡ āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛ āĻŸāĻžāĻ‡āĻĒ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧāĨ¤ āĻ–āĻžāĻ“āĻ¯āĻŧāĻž āĻ…āĻ¨ā§‡āĻ• āĻ¤āĻĨā§āĻ¯ āĻĒā§āĻ°āĻ•āĻžāĻ°. āĻĄā§‡āĻŸāĻž āĻĒā§āĻ°āĻ•āĻžāĻ°āĻ—ā§āĻ˛āĻŋ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤ āĻ•ā§āĻ˛āĻžāĻ¸ āĻāĻŦāĻ‚ āĻ¸āĻ‚āĻœā§āĻžāĻžāĻ—ā§āĻ˛āĻŋāĻ¤ā§‡ āĻĒāĻžāĻ¸ āĻ•āĻ°āĻž āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻŸāĻžāĻ° āĻŽāĻžāĻ¨āĻ—ā§āĻ˛āĻŋāĻ•ā§‡ āĻ¯āĻžāĻšāĻžāĻ‡ āĻ•āĻ°āĻ¤ā§‡ āĻŦā§āĻ¯āĻŦāĻšā§ƒāĻ¤ āĻšāĻ¯āĻŧāĨ¤ āĻ¯āĻĻāĻŋ āĻĒāĻžāĻ¸ āĻ•āĻ°āĻž āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻŸāĻžāĻ°āĻŸāĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ§āĻ°āĻŖā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻŽā§‡āĻ˛ā§‡ āĻ¨āĻž, āĻ¤āĻžāĻšāĻ˛ā§‡ āĻāĻ•āĻŸāĻŋ āĻ¸āĻ‚āĻ•āĻ˛āĻ¨ āĻ¤ā§āĻ°ā§āĻŸāĻŋ āĻ˜āĻŸāĻŦā§‡āĨ¤

āĻĒāĻ°āĻžāĻŽāĻŋāĻ¤āĻŋ āĻ¨āĻžāĻŽā§‡āĻ° āĻ†āĻ—ā§‡ āĻŸāĻžāĻ‡āĻĒāĻŸāĻŋ āĻ˛ā§‡āĻ–āĻž āĻšāĻ¯āĻŧ:

class example (
  String $param1,
  Integer $param2,
  Array $param3,
  Hash $param4,
  Hash[String, String] $param5,
) {
  ...
}

āĻ•ā§āĻ˛āĻžāĻ¸: āĻ•ā§āĻ˛āĻžāĻ¸ā§‡āĻ° āĻ¨āĻžāĻŽ āĻŦāĻ¨āĻžāĻŽ āĻ•ā§āĻ˛āĻžāĻ¸{'classname':} āĻ…āĻ¨ā§āĻ¤āĻ°ā§āĻ­ā§āĻ•ā§āĻ¤

āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻ•ā§āĻ˛āĻžāĻ¸ āĻŸāĻžāĻ‡āĻĒā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻ¸āĻŽā§āĻĒāĻĻ āĻļā§āĻ°ā§‡āĻŖā§€. āĻ…āĻ¨ā§āĻ¯ āĻ•ā§‹āĻ¨ā§‹ āĻ§āĻ°āĻ¨ā§‡āĻ° āĻ¸āĻŽā§āĻĒāĻĻā§‡āĻ° āĻŽāĻ¤ā§‹, āĻāĻ•āĻ‡ āĻ¨ā§‹āĻĄā§‡ āĻāĻ•āĻ‡ āĻļā§āĻ°ā§‡āĻŖā§€āĻ° āĻĻā§āĻŸāĻŋ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻĨāĻžāĻ•āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ āĻ¨āĻžāĨ¤

āĻ†āĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻāĻ•āĻ‡ āĻ¨ā§‹āĻĄā§‡ āĻĻā§āĻŦāĻžāĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻāĻ•āĻŸāĻŋ āĻ•ā§āĻ˛āĻžāĻ¸ āĻ¯ā§āĻ•ā§āĻ¤ āĻ•āĻ°āĻžāĻ° āĻšā§‡āĻˇā§āĻŸāĻž āĻ•āĻ°ā§‡āĻ¨ class { 'classname':} (āĻ•ā§‹āĻ¨ āĻĒāĻžāĻ°ā§āĻĨāĻ•ā§āĻ¯ āĻ¨ā§‡āĻ‡, āĻ­āĻŋāĻ¨ā§āĻ¨ āĻŦāĻž āĻ…āĻ­āĻŋāĻ¨ā§āĻ¨ āĻĒāĻ°āĻžāĻŽāĻŋāĻ¤āĻŋ āĻ¸āĻš), āĻāĻ•āĻŸāĻŋ āĻ¸āĻ‚āĻ•āĻ˛āĻ¨ āĻ¤ā§āĻ°ā§āĻŸāĻŋ āĻĨāĻžāĻ•āĻŦā§‡āĨ¤ āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻ†āĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻ°āĻŋāĻ¸ā§‹āĻ°ā§āĻ¸ āĻļā§ˆāĻ˛ā§€āĻ¤ā§‡ āĻāĻ•āĻŸāĻŋ āĻ•ā§āĻ˛āĻžāĻ¸ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡āĻ¨, āĻ†āĻĒāĻ¨āĻŋ āĻ…āĻŦāĻŋāĻ˛āĻŽā§āĻŦā§‡ āĻŽā§āĻ¯āĻžāĻ¨āĻŋāĻĢā§‡āĻ¸ā§āĻŸā§‡ āĻāĻ° āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻŸāĻžāĻ° āĻ¸ā§āĻĒāĻˇā§āĻŸāĻ­āĻžāĻŦā§‡ āĻ¸ā§‡āĻŸ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨āĨ¤

āĻ¤āĻŦā§‡ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻ˛ā§‡ include, āĻ¤āĻžāĻ°āĻĒāĻ° āĻ•ā§āĻ˛āĻžāĻ¸ āĻ¯āĻ¤āĻŦāĻžāĻ° āĻ‡āĻšā§āĻ›āĻž āĻ¯ā§‹āĻ— āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤ āĻŦā§āĻ¯āĻžāĻĒāĻžāĻ°āĻŸāĻŋ āĻšāĻ˛ā§‹ include āĻāĻ•āĻŸāĻŋ idempotent āĻĢāĻžāĻ‚āĻļāĻ¨ āĻ¯āĻž āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ•āĻ°ā§‡ āĻ¯ā§‡ āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋāĻ¤ā§‡ āĻāĻ•āĻŸāĻŋ āĻ•ā§āĻ˛āĻžāĻ¸ āĻ¯ā§‹āĻ— āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ āĻ•āĻŋāĻ¨āĻžāĨ¤ āĻ¯āĻĻāĻŋ āĻ•ā§āĻ˛āĻžāĻ¸āĻŸāĻŋ āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋāĻ¤ā§‡ āĻ¨āĻž āĻĨāĻžāĻ•ā§‡ āĻ¤āĻŦā§‡ āĻāĻŸāĻŋ āĻāĻŸāĻŋ āĻ¯ā§‹āĻ— āĻ•āĻ°ā§‡ āĻāĻŦāĻ‚ āĻ¯āĻĻāĻŋ āĻāĻŸāĻŋ āĻ‡āĻ¤āĻŋāĻŽāĻ§ā§āĻ¯ā§‡āĻ‡ āĻŦāĻŋāĻĻā§āĻ¯āĻŽāĻžāĻ¨ āĻĨāĻžāĻ•ā§‡ āĻ¤āĻŦā§‡ āĻāĻŸāĻŋ āĻ•āĻŋāĻ›ā§āĻ‡ āĻ•āĻ°ā§‡ āĻ¨āĻžāĨ¤ āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°ā§‡āĻ° āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡ include āĻ•ā§āĻ˛āĻžāĻ¸ āĻ˜ā§‹āĻˇāĻŖāĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻ†āĻĒāĻ¨āĻŋ āĻ•ā§āĻ˛āĻžāĻ¸ āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻŸāĻžāĻ° āĻ¸ā§‡āĻŸ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°āĻŦā§‡āĻ¨ āĻ¨āĻž - āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ā§€āĻ¯āĻŧ āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻŸāĻžāĻ° āĻ…āĻŦāĻļā§āĻ¯āĻ‡ āĻāĻ•āĻŸāĻŋ āĻŦāĻžāĻšā§āĻ¯āĻŋāĻ• āĻĄā§‡āĻŸāĻž āĻ‰āĻ¤ā§āĻ¸ - Hiera āĻŦāĻž ENC-āĻ¤ā§‡ āĻ¸ā§‡āĻŸ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡āĨ¤ āĻ†āĻŽāĻ°āĻž āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§€ āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§ā§‡ āĻ¤āĻžāĻĻā§‡āĻ° āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡ āĻ•āĻĨāĻž āĻŦāĻ˛āĻŦāĨ¤

āĻ¸āĻ‚āĻœā§āĻžāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻ•āĻ°ā§‡

āĻ†āĻ—ā§‡āĻ° āĻŦā§āĻ˛āĻ•ā§‡ āĻ¯ā§‡āĻŽāĻ¨ āĻŦāĻ˛āĻž āĻšāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛, āĻāĻ•āĻ‡ āĻ•ā§āĻ˛āĻžāĻ¸ āĻāĻ•āĻŸāĻŋ āĻ¨ā§‹āĻĄā§‡ āĻāĻ•āĻžāĻ§āĻŋāĻ•āĻŦāĻžāĻ° āĻ‰āĻĒāĻ¸ā§āĻĨāĻŋāĻ¤ āĻĨāĻžāĻ•āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ āĻ¨āĻžāĨ¤ āĻ¯āĻžāĻ‡āĻšā§‹āĻ•, āĻ•āĻŋāĻ›ā§ āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡ āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻāĻ•āĻ‡ āĻ¨ā§‹āĻĄā§‡ āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āĻ¨ āĻĒāĻ°āĻžāĻŽāĻŋāĻ¤āĻŋ āĻ¸āĻš āĻ•ā§‹āĻĄā§‡āĻ° āĻāĻ•āĻ‡ āĻŦā§āĻ˛āĻ• āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻ¤ā§‡ āĻ¸āĻ•ā§āĻˇāĻŽ āĻšāĻ¤ā§‡ āĻšāĻŦā§‡āĨ¤ āĻ…āĻ¨ā§āĻ¯ āĻ•āĻĨāĻžāĻ¯āĻŧ, āĻ¨āĻŋāĻœāĻ¸ā§āĻŦ āĻāĻ•āĻŸāĻŋ āĻ¸āĻŽā§āĻĒāĻĻ āĻ§āĻ°āĻ¨ā§‡āĻ° āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ āĻ†āĻ›ā§‡āĨ¤

āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§‚āĻĒ, āĻĒāĻŋāĻāĻ‡āĻšāĻĒāĻŋ āĻŽāĻĄāĻŋāĻ‰āĻ˛ āĻ‡āĻ¨āĻ¸ā§āĻŸāĻ˛ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯, āĻ†āĻŽāĻ°āĻž āĻ…ā§āĻ¯āĻžāĻ­āĻŋāĻŸā§‹āĻ¤ā§‡ āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻ–āĻŋāĻ¤āĻ—ā§āĻ˛āĻŋ āĻ•āĻ°āĻŋ:

  1. āĻāĻ‡ āĻŽāĻĄāĻŋāĻ‰āĻ˛ āĻĻāĻŋāĻ¯āĻŧā§‡ āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻœāĻŸāĻŋ āĻ‡āĻ¨āĻ¸ā§āĻŸāĻ˛ āĻ•āĻ°ā§āĻ¨āĨ¤
  2. āĻāĻ‡ āĻŽāĻĄāĻŋāĻ‰āĻ˛āĻŸāĻŋāĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻŸāĻŋ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°ā§‡āĻļāĻ¨ āĻĢāĻžāĻ‡āĻ˛ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž āĻ¯āĻžāĻ•āĨ¤
  3. āĻ†āĻŽāĻ°āĻž php-fpm-āĻāĻ° āĻœāĻ¨ā§āĻ¯ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°ā§‡āĻļāĻ¨ā§‡ āĻāĻ•āĻŸāĻŋ āĻ¸āĻŋāĻŽāĻ˛āĻŋāĻ™ā§āĻ• āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻŋāĨ¤
  4. āĻ†āĻŽāĻ°āĻž php cli-āĻāĻ° āĻœāĻ¨ā§āĻ¯ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°ā§‡āĻļāĻ¨ā§‡ āĻāĻ•āĻŸāĻŋ āĻ¸āĻŋāĻŽāĻ˛āĻŋāĻ™ā§āĻ• āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻŋāĨ¤

āĻāĻ‡ āĻ§āĻ°āĻ¨ā§‡āĻ° āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡, āĻ¯ā§‡āĻŽāĻ¨ āĻāĻ•āĻŸāĻŋ āĻ¨āĻ•āĻļāĻž āĻ¸āĻ‚āĻœā§āĻžāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻ•āĻ°āĻž (āĻ¸āĻ‚āĻœā§āĻžāĻžāĻ¯āĻŧāĻŋāĻ¤, āĻ¸āĻ‚āĻœā§āĻžāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻĒā§āĻ°āĻ•āĻžāĻ°, āĻ¸āĻ‚āĻœā§āĻžāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻ¸āĻŽā§āĻĒāĻĻ āĻĒā§āĻ°āĻ•āĻžāĻ°)āĨ¤ āĻāĻ•āĻŸāĻŋ āĻ¸āĻ‚āĻœā§āĻžāĻž āĻāĻ•āĻŸāĻŋ āĻļā§āĻ°ā§‡āĻŖā§€āĻ° āĻ…āĻ¨ā§āĻ°ā§‚āĻĒ, āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻĨāĻ•ā§āĻ¯ āĻ†āĻ›ā§‡: āĻĒā§āĻ°āĻĨāĻŽāĻ¤, āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻ¸āĻ‚āĻœā§āĻžāĻž āĻāĻ•āĻŸāĻŋ āĻ¸āĻŽā§āĻĒāĻĻ āĻĒā§āĻ°āĻ•āĻžāĻ°, āĻāĻ•āĻŸāĻŋ āĻ¸āĻŽā§āĻĒāĻĻ āĻ¨āĻ¯āĻŧ; āĻĻā§āĻŦāĻŋāĻ¤ā§€āĻ¯āĻŧāĻ¤, āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻ¸āĻ‚āĻœā§āĻžāĻž āĻāĻ•āĻŸāĻŋ āĻ…āĻ¨ā§āĻ¤āĻ°ā§āĻ¨āĻŋāĻšāĻŋāĻ¤ āĻĒāĻ°āĻžāĻŽāĻŋāĻ¤āĻŋ āĻ†āĻ›ā§‡ $title, āĻ¯āĻ–āĻ¨ āĻāĻŸāĻŋ āĻ˜ā§‹āĻˇāĻŖāĻž āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ āĻ¤āĻ–āĻ¨ āĻ¸āĻŽā§āĻĒāĻĻā§‡āĻ° āĻ¨āĻžāĻŽ āĻ¯ā§‡āĻ–āĻžāĻ¨ā§‡ āĻ¯āĻžāĻ¯āĻŧāĨ¤ āĻ āĻŋāĻ• āĻ¯ā§‡āĻŽāĻ¨ āĻ•ā§āĻ˛āĻžāĻ¸ā§‡āĻ° āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡, āĻāĻ•āĻŸāĻŋ āĻ¸āĻ‚āĻœā§āĻžāĻž āĻĒā§āĻ°āĻĨāĻŽā§‡ āĻŦāĻ°ā§āĻŖāĻ¨āĻž āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡, āĻ¤āĻžāĻ°āĻĒāĻ°ā§‡ āĻāĻŸāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤

PHP āĻāĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻŸāĻŋ āĻŽāĻĄāĻŋāĻ‰āĻ˛ āĻ¸āĻš āĻāĻ•āĻŸāĻŋ āĻ¸āĻ°āĻ˛ā§€āĻ•ā§ƒāĻ¤ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ:

define php74::module (
  $php_module_name = $title,
  $php_package_name = "php7.4-${title}",
  $version = 'installed',
  $priority = '20',
  $data = "extension=${title}.son",
  $php_module_path = '/etc/php/7.4/mods-available',
) {
  package { $php_package_name:
    ensure          => $version,
    install_options => ['-o', 'DPkg::NoTriggers=true'],  # Ņ‚Ņ€Đ¸ĐŗĐŗĐĩŅ€Ņ‹ Đ´ĐĩйиаĐŊОвŅĐēиŅ… php-ĐŋĐ°ĐēĐĩŅ‚Ов ŅĐ°Đŧи ŅĐžĐˇĐ´Đ°ŅŽŅ‚ ŅĐ¸ĐŧĐģиĐŊĐēи и ĐŋĐĩŅ€ĐĩСаĐŋŅƒŅĐēĐ°ŅŽŅ‚ ŅĐĩŅ€Đ˛Đ¸Ņ php-fpm - ĐŊĐ°Đŧ ŅŅ‚Đž ĐŊĐĩ ĐŊŅƒĐļĐŊĐž, Ņ‚Đ°Đē ĐēĐ°Đē и ŅĐ¸ĐŧĐģиĐŊĐēĐ°Đŧи, и ŅĐĩŅ€Đ˛Đ¸ŅĐžĐŧ ĐŧŅ‹ ŅƒĐŋŅ€Đ°Đ˛ĐģŅĐĩĐŧ Ņ ĐŋĐžĐŧĐžŅ‰ŅŒŅŽ Puppet
  }
  -> file { "${php_module_path}/${php_module_name}.ini":
    ensure  => $ensure,
    content => $data,
  }
  file { "/etc/php/7.4/cli/conf.d/${priority}-${php_module_name}.ini":
    ensure  => link,
    target  => "${php_module_path}/${php_module_name}.ini",
  }
  file { "/etc/php/7.4/fpm/conf.d/${priority}-${php_module_name}.ini":
    ensure  => link,
    target  => "${php_module_path}/${php_module_name}.ini",
  }
}

node server3.testdomain {
  php74::module { 'sqlite3': }
  php74::module { 'amqp': php_package_name => 'php-amqp' }
  php74::module { 'msgpack': priority => '10' }
}

āĻĄā§āĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻŸ āĻ˜ā§‹āĻˇāĻŖāĻž āĻ¤ā§āĻ°ā§āĻŸāĻŋ āĻ§āĻ°āĻžāĻ° āĻ¸āĻŦāĻšā§‡āĻ¯āĻŧā§‡ āĻ¸āĻšāĻœ āĻ‰āĻĒāĻžāĻ¯āĻŧ āĻšāĻ˛ Define. āĻāĻŸāĻŋ āĻ˜āĻŸāĻŦā§‡ āĻ¯āĻĻāĻŋ āĻāĻ•āĻŸāĻŋ āĻ¸āĻ‚āĻœā§āĻžāĻžāĻ¯āĻŧ āĻāĻ•āĻŸāĻŋ āĻ§ā§āĻ°ā§āĻŦāĻ• āĻ¨āĻžāĻŽ āĻ¸āĻš āĻāĻ•āĻŸāĻŋ āĻ¸āĻ‚āĻ¸ā§āĻĨāĻžāĻ¨ āĻĨāĻžāĻ•ā§‡ āĻāĻŦāĻ‚ āĻ•āĻŋāĻ›ā§ āĻ¨ā§‹āĻĄā§‡ āĻāĻ‡ āĻ¸āĻ‚āĻœā§āĻžāĻžāĻŸāĻŋāĻ° āĻĻā§āĻŸāĻŋ āĻŦāĻž āĻ¤āĻžāĻ° āĻŦā§‡āĻļāĻŋ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻĨāĻžāĻ•ā§‡āĨ¤

āĻāĻŸāĻŋ āĻĨā§‡āĻ•ā§‡ āĻ¨āĻŋāĻœā§‡āĻ•ā§‡ āĻ°āĻ•ā§āĻˇāĻž āĻ•āĻ°āĻž āĻ¸āĻšāĻœ: āĻ¸āĻ‚āĻœā§āĻžāĻžāĻ° āĻ­āĻŋāĻ¤āĻ°ā§‡ āĻĨāĻžāĻ•āĻž āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ¸āĻ‚āĻ¸ā§āĻĨāĻžāĻ¨āĻ—ā§āĻ˛āĻŋāĻ° āĻ‰āĻĒāĻ° āĻ¨āĻŋāĻ°ā§āĻ­āĻ° āĻ•āĻ°ā§‡ āĻāĻ•āĻŸāĻŋ āĻ¨āĻžāĻŽ āĻĨāĻžāĻ•āĻ¤ā§‡ āĻšāĻŦā§‡ $title. āĻāĻ•āĻŸāĻŋ āĻŦāĻŋāĻ•āĻ˛ā§āĻĒ āĻš'āĻ˛ āĻ¸āĻŽā§āĻĒāĻĻā§‡āĻ° āĻ…āĻĻāĻŽā§āĻ¯ āĻ¸āĻ‚āĻ¯ā§‹āĻœāĻ¨; āĻ¸āĻšāĻœ āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡, āĻ¸āĻ‚āĻœā§āĻžāĻžāĻ° āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖā§‡ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻ¸āĻ‚āĻ¸ā§āĻĨāĻžāĻ¨āĻ—ā§āĻ˛āĻŋāĻ•ā§‡ āĻāĻ•āĻŸāĻŋ āĻĒā§ƒāĻĨāĻ• āĻļā§āĻ°ā§‡āĻŖāĻŋāĻ¤ā§‡ āĻ¸ā§āĻĨāĻžāĻ¨āĻžāĻ¨ā§āĻ¤āĻ° āĻ•āĻ°āĻž āĻāĻŦāĻ‚ āĻāĻ‡ āĻļā§āĻ°ā§‡āĻŖāĻŋāĻŸāĻŋāĻ•ā§‡ āĻ¸āĻ‚āĻœā§āĻžāĻžāĻ¯āĻŧ āĻ…āĻ¨ā§āĻ¤āĻ°ā§āĻ­ā§āĻ•ā§āĻ¤ āĻ•āĻ°āĻž āĻ¯āĻĨā§‡āĻˇā§āĻŸ - āĻĢāĻžāĻ‚āĻļāĻ¨ include āĻ…āĻ•ā§āĻˇāĻŽāĻ¤āĻž

āĻ¸āĻŽā§āĻĒāĻĻ āĻ¯ā§‹āĻ— āĻ•āĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻŦā§āĻĻā§āĻ§āĻŋāĻŽāĻ¤ā§āĻ¤āĻž āĻ…āĻ°ā§āĻœāĻ¨ā§‡āĻ° āĻ…āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻ‰āĻĒāĻžāĻ¯āĻŧ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡, āĻ¯ā§‡āĻŽāĻ¨ āĻĢāĻžāĻ‚āĻļāĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ defined и ensure_resources, āĻ¤āĻŦā§‡ āĻ†āĻŽāĻŋ āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻĒāĻ°ā§‡āĻ° āĻĒāĻ°ā§āĻŦā§‡ āĻāĻŸāĻŋ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡ āĻŦāĻ˛āĻŦāĨ¤

āĻ•ā§āĻ˛āĻžāĻ¸ āĻāĻŦāĻ‚ āĻ¸āĻ‚āĻœā§āĻžāĻžāĻ—ā§āĻ˛āĻŋāĻ° āĻœāĻ¨ā§āĻ¯ āĻ¨āĻŋāĻ°ā§āĻ­āĻ°āĻ¤āĻž āĻāĻŦāĻ‚ āĻŦāĻŋāĻœā§āĻžāĻĒā§āĻ¤āĻŋ

āĻ•ā§āĻ˛āĻžāĻ¸ āĻāĻŦāĻ‚ āĻ¸āĻ‚āĻœā§āĻžāĻžāĻ—ā§āĻ˛āĻŋ āĻ¨āĻŋāĻ°ā§āĻ­āĻ°āĻ¤āĻž āĻāĻŦāĻ‚ āĻŦāĻŋāĻœā§āĻžāĻĒā§āĻ¤āĻŋāĻ—ā§āĻ˛āĻŋ āĻĒāĻ°āĻŋāĻšāĻžāĻ˛āĻ¨āĻž āĻ•āĻ°āĻ¤ā§‡ āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻ–āĻŋāĻ¤ āĻ¨āĻŋāĻ¯āĻŧāĻŽāĻ—ā§āĻ˛āĻŋ āĻ¯ā§āĻ•ā§āĻ¤ āĻ•āĻ°ā§‡:

  • āĻāĻ•āĻŸāĻŋ āĻļā§āĻ°ā§‡āĻŖā§€/āĻ¸āĻ‚āĻœā§āĻžāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻ‰āĻĒāĻ° āĻ¨āĻŋāĻ°ā§āĻ­āĻ°āĻ¤āĻž āĻ•ā§āĻ˛āĻžāĻ¸/āĻ¸āĻ‚āĻœā§āĻžāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ¸āĻŽā§āĻĒāĻĻā§‡āĻ° āĻ‰āĻĒāĻ° āĻ¨āĻŋāĻ°ā§āĻ­āĻ°āĻ¤āĻž āĻ¯ā§‹āĻ— āĻ•āĻ°ā§‡;
  • āĻāĻ•āĻŸāĻŋ āĻļā§āĻ°ā§‡āĻŖāĻŋ/āĻ¸āĻ‚āĻœā§āĻžāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻ¨āĻŋāĻ°ā§āĻ­āĻ°āĻ¤āĻž āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻļā§āĻ°ā§‡āĻŖāĻŋ/āĻ¸āĻ‚āĻœā§āĻžāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻ¸āĻ‚āĻ¸ā§āĻĨāĻžāĻ¨ā§‡ āĻ¨āĻŋāĻ°ā§āĻ­āĻ°āĻ¤āĻž āĻ¯ā§āĻ•ā§āĻ¤ āĻ•āĻ°ā§‡;
  • āĻ•ā§āĻ˛āĻžāĻ¸/āĻĄāĻŋāĻĢāĻžāĻ‡āĻ¨ āĻ¨ā§‹āĻŸāĻŋāĻĢāĻŋāĻ•ā§‡āĻļāĻ¨ āĻ•ā§āĻ˛āĻžāĻ¸/āĻĄāĻŋāĻĢāĻžāĻ‡āĻ¨ā§‡āĻ° āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ°āĻŋāĻ¸ā§‹āĻ°ā§āĻ¸āĻ•ā§‡ āĻ…āĻŦāĻšāĻŋāĻ¤ āĻ•āĻ°ā§‡;
  • āĻ•ā§āĻ˛āĻžāĻ¸/āĻĄāĻŋāĻĢāĻžāĻ‡āĻ¨ āĻ¸āĻžāĻŦāĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒāĻļāĻ¨ āĻ•ā§āĻ˛āĻžāĻ¸/āĻĄāĻŋāĻĢāĻžāĻ‡āĻ¨ā§‡āĻ° āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ°āĻŋāĻ¸ā§‹āĻ°ā§āĻ¸ā§‡ āĻ¸āĻžāĻŦāĻ¸ā§āĻ•ā§āĻ°āĻžāĻ‡āĻŦ āĻ•āĻ°ā§‡āĨ¤

āĻļāĻ°ā§āĻ¤āĻ¸āĻžāĻĒā§‡āĻ•ā§āĻˇ āĻŦāĻŋāĻŦā§ƒāĻ¤āĻŋ āĻāĻŦāĻ‚ āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻšāĻ•

āĻāĻ–āĻžāĻ¨ā§‡ āĻĄāĻ•ā§āĻŽā§‡āĻ¨ā§āĻŸā§‡āĻļāĻ¨.

if

āĻāĻ–āĻžāĻ¨ā§‡ āĻ¸āĻŦāĻ•āĻŋāĻ›ā§ āĻ¸āĻšāĻœ:

if ВĐĢРАЖЕНИЕ1 {
  ...
} elsif ВĐĢРАЖЕНИЕ2 {
  ...
} else {
  ...
}

āĻ¯āĻĻāĻŋ āĻ¨āĻž

āĻ¯āĻĻāĻŋ āĻ¨āĻž āĻšāĻ¯āĻŧ āĻāĻ•āĻŸāĻŋ if āĻŦāĻŋāĻĒāĻ°ā§€āĻ¤ā§‡: āĻāĻ•ā§āĻ¸āĻĒā§āĻ°ā§‡āĻļāĻ¨āĻŸāĻŋ āĻŽāĻŋāĻĨā§āĻ¯āĻž āĻšāĻ˛ā§‡ āĻ•ā§‹āĻĄā§‡āĻ° āĻŦā§āĻ˛āĻ•āĻŸāĻŋ āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻ° āĻ•āĻ°āĻž āĻšāĻŦā§‡āĨ¤

unless ВĐĢРАЖЕНИЕ {
  ...
}

āĻ•ā§‡āĻ¸

āĻāĻ–āĻžāĻ¨ā§‡āĻ“ āĻœāĻŸāĻŋāĻ˛ āĻ•āĻŋāĻ›ā§ āĻ¨ā§‡āĻ‡āĨ¤ āĻ†āĻĒāĻ¨āĻŋ āĻŽāĻžāĻ¨ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻ¨āĻŋāĻ¯āĻŧāĻŽāĻŋāĻ¤ āĻŽāĻžāĻ¨ (āĻ¸ā§āĻŸā§āĻ°āĻŋāĻ‚, āĻ¸āĻ‚āĻ–ā§āĻ¯āĻž, āĻ‡āĻ¤ā§āĻ¯āĻžāĻĻāĻŋ), āĻ¨āĻŋāĻ¯āĻŧāĻŽāĻŋāĻ¤ āĻāĻ•ā§āĻ¸āĻĒā§āĻ°ā§‡āĻļāĻ¨ āĻāĻŦāĻ‚ āĻĄā§‡āĻŸāĻž āĻĒā§āĻ°āĻ•āĻžāĻ°āĻ—ā§āĻ˛āĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨āĨ¤

case ВĐĢРАЖЕНИЕ {
  ЗНАЧЕНИЕ1: { ... }
  ЗНАЧЕНИЕ2, ЗНАЧЕНИЕ3: { ... }
  default: { ... }
}

āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻšāĻ•

āĻāĻ•āĻŸāĻŋ āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻšāĻ• āĻāĻ•āĻŸāĻŋ āĻ­āĻžāĻˇāĻž āĻ…āĻ¨ā§āĻ°ā§‚āĻĒ āĻ¨āĻŋāĻ°ā§āĻŽāĻžāĻŖ case, āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻ•ā§‹āĻĄā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻŦā§āĻ˛āĻ• āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻ° āĻ•āĻ°āĻžāĻ° āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤ā§‡, āĻāĻŸāĻŋ āĻāĻ•āĻŸāĻŋ āĻŽāĻžāĻ¨ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻ•āĻ°ā§‡āĨ¤

$var = $othervar ? { 'val1' => 1, 'val2' => 2, default => 3 }

МодŅƒĐģи

āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°ā§‡āĻļāĻ¨ āĻ›ā§‹āĻŸ āĻšāĻ˛ā§‡, āĻāĻŸāĻŋ āĻ¸āĻšāĻœā§‡āĻ‡ āĻāĻ•āĻŸāĻŋ āĻŽā§āĻ¯āĻžāĻ¨āĻŋāĻĢā§‡āĻ¸ā§āĻŸā§‡ āĻ°āĻžāĻ–āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤ āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻ†āĻŽāĻ°āĻž āĻ¯āĻ¤ āĻŦā§‡āĻļāĻŋ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°ā§‡āĻļāĻ¨ āĻŦāĻ°ā§āĻŖāĻ¨āĻž āĻ•āĻ°āĻŋ, āĻŽā§āĻ¯āĻžāĻ¨āĻŋāĻĢā§‡āĻ¸ā§āĻŸā§‡ āĻ¤āĻ¤ āĻŦā§‡āĻļāĻŋ āĻļā§āĻ°ā§‡āĻŖā§€ āĻāĻŦāĻ‚ āĻ¨ā§‹āĻĄ āĻĨāĻžāĻ•ā§‡, āĻāĻŸāĻŋ āĻŦā§ƒāĻĻā§āĻ§āĻŋ āĻĒāĻžāĻ¯āĻŧ āĻāĻŦāĻ‚ āĻāĻŸāĻŋāĻ° āĻ¸āĻžāĻĨā§‡ āĻ•āĻžāĻœ āĻ•āĻ°āĻž āĻ…āĻ¸ā§āĻŦāĻŋāĻ§āĻžāĻœāĻ¨āĻ• āĻšāĻ¯āĻŧā§‡ āĻ“āĻ ā§‡āĨ¤

āĻāĻ›āĻžāĻĄāĻŧāĻžāĻ“, āĻ•ā§‹āĻĄ āĻĒā§āĻ¨āĻƒāĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°ā§‡āĻ° āĻ¸āĻŽāĻ¸ā§āĻ¯āĻž āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡ - āĻ¯āĻ–āĻ¨ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ•ā§‹āĻĄ āĻāĻ•āĻŸāĻŋ āĻŽā§āĻ¯āĻžāĻ¨āĻŋāĻĢā§‡āĻ¸ā§āĻŸā§‡ āĻĨāĻžāĻ•ā§‡, āĻ¤āĻ–āĻ¨ āĻāĻ‡ āĻ•ā§‹āĻĄāĻŸāĻŋ āĻ…āĻ¨ā§āĻ¯āĻĻā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ­āĻžāĻ— āĻ•āĻ°āĻž āĻ•āĻ āĻŋāĻ¨āĨ¤ āĻāĻ‡ āĻĻā§āĻŸāĻŋ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻž āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨ā§‡āĻ° āĻœāĻ¨ā§āĻ¯, āĻĒā§āĻ¤ā§āĻ˛ā§‡āĻ° āĻŽāĻĄāĻŋāĻ‰āĻ˛ āĻ¨āĻžāĻŽā§‡ āĻāĻ•āĻŸāĻŋ āĻ¸āĻ¤ā§āĻ¤āĻž āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤

МодŅƒĐģи - āĻāĻ—ā§āĻ˛āĻŋ āĻ•ā§āĻ˛āĻžāĻ¸, āĻ¸āĻ‚āĻœā§āĻžāĻž āĻāĻŦāĻ‚ āĻ…āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻĒā§āĻ¤ā§āĻ˛ āĻ¸āĻ¤ā§āĻ¤āĻžāĻ° āĻ¸ā§‡āĻŸāĻ—ā§āĻ˛āĻŋ āĻāĻ•āĻŸāĻŋ āĻĒā§ƒāĻĨāĻ• āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋāĻ¤ā§‡ āĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤ āĻ…āĻ¨ā§āĻ¯ āĻ•āĻĨāĻžāĻ¯āĻŧ, āĻāĻ•āĻŸāĻŋ āĻŽāĻĄāĻŋāĻ‰āĻ˛ āĻšāĻ˛ āĻĒā§āĻ¤ā§āĻ˛ āĻ¯ā§āĻ•ā§āĻ¤āĻŋāĻ° āĻāĻ•āĻŸāĻŋ āĻ¸ā§āĻŦāĻžāĻ§ā§€āĻ¨ āĻ…āĻ‚āĻļāĨ¤ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§‚āĻĒ, nginx-āĻāĻ° āĻ¸āĻžāĻĨā§‡ āĻ•āĻžāĻœ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻŸāĻŋ āĻŽāĻĄāĻŋāĻ‰āĻ˛ āĻĨāĻžāĻ•āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ āĻāĻŦāĻ‚ āĻāĻ¤ā§‡ nginx-āĻāĻ° āĻ¸āĻžāĻĨā§‡ āĻ•āĻžāĻœ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ•ā§€ āĻāĻŦāĻ‚ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻ•ā§€ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ āĻ¤āĻž āĻĨāĻžāĻ•āĻŦā§‡, āĻ…āĻĨāĻŦāĻž PHP-āĻāĻ° āĻ¸āĻžāĻĨā§‡ āĻ•āĻžāĻœ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻŸāĻŋ āĻŽāĻĄāĻŋāĻ‰āĻ˛ āĻĨāĻžāĻ•āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ āĻ‡āĻ¤ā§āĻ¯āĻžāĻĻāĻŋāĨ¤

āĻŽāĻĄāĻŋāĻ‰āĻ˛āĻ—ā§āĻ˛āĻŋ āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ, āĻāĻŦāĻ‚ āĻāĻ•ā§‡ āĻ…āĻĒāĻ°ā§‡āĻ° āĻ‰āĻĒāĻ° āĻŽāĻĄāĻŋāĻ‰āĻ˛āĻ—ā§āĻ˛āĻŋāĻ° āĻ¨āĻŋāĻ°ā§āĻ­āĻ°āĻ¤āĻžāĻ“ āĻ¸āĻŽāĻ°ā§āĻĨāĻŋāĻ¤āĨ¤ āĻŽāĻĄāĻŋāĻ‰āĻ˛āĻ—ā§āĻ˛āĻŋāĻ° āĻāĻ•āĻŸāĻŋ āĻ–ā§‹āĻ˛āĻž āĻ­āĻžāĻ¨ā§āĻĄāĻžāĻ° āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡ - āĻĒāĻžāĻĒā§‡āĻŸ āĻĢāĻ°āĻœ.

āĻĒā§āĻ¤ā§āĻ˛ āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ°ā§‡, āĻŽāĻĄāĻŋāĻ‰āĻ˛āĻ—ā§āĻ˛āĻŋ āĻ°ā§āĻŸ āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋāĻ° āĻŽāĻĄāĻŋāĻ‰āĻ˛ āĻ¸āĻžāĻŦāĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋāĻ¤ā§‡ āĻ…āĻŦāĻ¸ā§āĻĨāĻŋāĻ¤āĨ¤ āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻŽāĻĄāĻŋāĻ‰āĻ˛ā§‡āĻ° āĻ­āĻŋāĻ¤āĻ°ā§‡ āĻāĻ•āĻŸāĻŋ āĻ¸ā§āĻŸā§āĻ¯āĻžāĻ¨ā§āĻĄāĻžāĻ°ā§āĻĄ āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋ āĻ¸ā§āĻ•āĻŋāĻŽ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡ - āĻŽā§āĻ¯āĻžāĻ¨āĻŋāĻĢā§‡āĻ¸ā§āĻŸ, āĻĢāĻžāĻ‡āĻ˛, āĻŸā§‡āĻŽāĻĒā§āĻ˛ā§‡āĻŸ, lib āĻāĻŦāĻ‚ āĻ†āĻ°āĻ“ āĻ…āĻ¨ā§‡āĻ• āĻ•āĻŋāĻ›ā§āĨ¤

āĻāĻ•āĻŸāĻŋ āĻŽāĻĄāĻŋāĻ‰āĻ˛ā§‡ āĻĢāĻžāĻ‡āĻ˛ā§‡āĻ° āĻ—āĻ āĻ¨

āĻŽāĻĄāĻŋāĻ‰āĻ˛ā§‡āĻ° āĻŽā§‚āĻ˛ā§‡ āĻŦāĻ°ā§āĻŖāĻ¨āĻžāĻŽā§‚āĻ˛āĻ• āĻ¨āĻžāĻŽ āĻ¸āĻš āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻ–āĻŋāĻ¤ āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋ āĻĨāĻžāĻ•āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡:

  • manifests - āĻāĻ¤ā§‡ āĻ‡āĻļāĻ¤ā§‡āĻšāĻžāĻ° āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡
  • files - āĻāĻ¤ā§‡ āĻĢāĻžāĻ‡āĻ˛ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡
  • templates - āĻāĻŸāĻŋāĻ¤ā§‡ āĻŸā§‡āĻŽāĻĒā§āĻ˛ā§‡āĻŸ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡
  • lib - āĻāĻ¤ā§‡ āĻ°ā§āĻŦāĻŋ āĻ•ā§‹āĻĄ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡

āĻāĻŸāĻŋ āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋ āĻāĻŦāĻ‚ āĻĢāĻžāĻ‡āĻ˛āĻ—ā§āĻ˛āĻŋāĻ° āĻāĻ•āĻŸāĻŋ āĻ¸āĻŽā§āĻĒā§‚āĻ°ā§āĻŖ āĻ¤āĻžāĻ˛āĻŋāĻ•āĻž āĻ¨āĻ¯āĻŧ, āĻ¤āĻŦā§‡ āĻ†āĻĒāĻžāĻ¤āĻ¤ āĻāĻ‡ āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§āĻŸāĻŋāĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻŸāĻŋ āĻ¯āĻĨā§‡āĻˇā§āĻŸāĨ¤

āĻ¸āĻŽā§āĻĒāĻĻā§‡āĻ° āĻ¨āĻžāĻŽ āĻāĻŦāĻ‚ āĻŽāĻĄāĻŋāĻ‰āĻ˛ā§‡ āĻĢāĻžāĻ‡āĻ˛ā§‡āĻ° āĻ¨āĻžāĻŽ

āĻāĻ–āĻžāĻ¨ā§‡ āĻĄāĻ•ā§āĻŽā§‡āĻ¨ā§āĻŸā§‡āĻļāĻ¨.

āĻāĻ•āĻŸāĻŋ āĻŽāĻĄāĻŋāĻ‰āĻ˛ā§‡ āĻ¸āĻŽā§āĻĒāĻĻ (āĻļā§āĻ°ā§‡āĻŖā§€, āĻ¸āĻ‚āĻœā§āĻžāĻž) āĻ†āĻĒāĻ¨āĻŋ āĻ¯āĻž āĻ–ā§āĻļāĻŋ āĻ¨āĻžāĻŽāĻ•āĻ°āĻŖ āĻ•āĻ°āĻž āĻ¯āĻžāĻŦā§‡ āĻ¨āĻž. āĻ‰āĻĒāĻ°āĻ¨ā§āĻ¤ā§, āĻāĻ•āĻŸāĻŋ āĻ¸āĻŽā§āĻĒāĻĻā§‡āĻ° āĻ¨āĻžāĻŽ āĻāĻŦāĻ‚ āĻĢāĻžāĻ‡āĻ˛ā§‡āĻ° āĻ¨āĻžāĻŽā§‡āĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻāĻ•āĻŸāĻŋ āĻ¸āĻ°āĻžāĻ¸āĻ°āĻŋ āĻšāĻŋāĻ āĻŋāĻĒāĻ¤ā§āĻ° āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡ āĻ¯ā§‡āĻ–āĻžāĻ¨ā§‡ āĻĒā§āĻ¤ā§āĻ˛ āĻ¸ā§‡āĻ‡ āĻ¸āĻŽā§āĻĒāĻĻā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻŦāĻŋāĻŦāĻ°āĻŖ āĻ–ā§āĻāĻœāĻŦā§‡āĨ¤ āĻ†āĻĒāĻ¨āĻŋ āĻ¨āĻžāĻŽāĻ•āĻ°āĻŖā§‡āĻ° āĻ¨āĻŋāĻ¯āĻŧāĻŽ āĻ­āĻ™ā§āĻ— āĻ•āĻ°āĻ˛ā§‡, āĻĒā§āĻ¤ā§āĻ˛ āĻ•ā§‡āĻŦāĻ˛ āĻ¸āĻŽā§āĻĒāĻĻā§‡āĻ° āĻŦāĻŋāĻŦāĻ°āĻŖ āĻ–ā§āĻāĻœā§‡ āĻĒāĻžāĻŦā§‡ āĻ¨āĻž āĻāĻŦāĻ‚ āĻ†āĻĒāĻ¨āĻŋ āĻāĻ•āĻŸāĻŋ āĻ¸āĻ‚āĻ•āĻ˛āĻ¨ āĻ¤ā§āĻ°ā§āĻŸāĻŋ āĻĒāĻžāĻŦā§‡āĻ¨āĨ¤

āĻ¨āĻŋāĻ¯āĻŧāĻŽāĻ—ā§āĻ˛āĻŋ āĻ¸āĻšāĻœ:

  • āĻāĻ•āĻŸāĻŋ āĻŽāĻĄāĻŋāĻ‰āĻ˛ā§‡āĻ° āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ¸āĻ‚āĻ¸ā§āĻĨāĻžāĻ¨ āĻ…āĻŦāĻļā§āĻ¯āĻ‡ āĻŽāĻĄāĻŋāĻ‰āĻ˛ āĻ¨āĻžāĻŽāĻ¸ā§āĻĨāĻžāĻ¨ā§‡ āĻĨāĻžāĻ•āĻ¤ā§‡ āĻšāĻŦā§‡āĨ¤ āĻ¯āĻĻāĻŋ āĻŽāĻĄāĻŋāĻ‰āĻ˛ āĻŦāĻ˛āĻž āĻšāĻ¯āĻŧ foo, āĻ¤āĻžāĻ°āĻĒāĻ° āĻāĻŸāĻŋāĻ° āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ¸āĻ‚āĻ¸ā§āĻĨāĻžāĻ¨ āĻ¨āĻžāĻŽāĻ•āĻ°āĻŖ āĻ•āĻ°āĻž āĻ‰āĻšāĻŋāĻ¤ foo::<anything>, āĻ…āĻĨāĻŦāĻž āĻļā§āĻ§ā§āĻ‡ foo.
  • āĻŽāĻĄāĻŋāĻ‰āĻ˛ā§‡āĻ° āĻ¨āĻžāĻŽā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ°āĻŋāĻ¸ā§‹āĻ°ā§āĻ¸ āĻĢāĻžāĻ‡āĻ˛ā§‡ āĻĨāĻžāĻ•āĻ¤ā§‡ āĻšāĻŦā§‡ init.pp.
  • āĻ…āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻ¸āĻ‚āĻ¸ā§āĻĨāĻžāĻ¨āĻ—ā§āĻ˛āĻŋāĻ° āĻœāĻ¨ā§āĻ¯, āĻĢāĻžāĻ‡āĻ˛ā§‡āĻ° āĻ¨āĻžāĻŽāĻ•āĻ°āĻŖā§‡āĻ° āĻ¸ā§āĻ•āĻŋāĻŽāĻŸāĻŋ āĻ¨āĻŋāĻŽā§āĻ¨āĻ°ā§‚āĻĒ:
    • āĻŽāĻĄāĻŋāĻ‰āĻ˛ āĻ¨āĻžāĻŽā§‡āĻ° āĻ‰āĻĒāĻ¸āĻ°ā§āĻ—āĻŸāĻŋ āĻŦāĻžāĻ¤āĻŋāĻ˛ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡
    • āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻĄāĻžāĻŦāĻ˛ āĻ•ā§‹āĻ˛āĻ¨, āĻ¯āĻĻāĻŋ āĻĨāĻžāĻ•ā§‡, āĻ¸ā§āĻ˛ā§āĻ¯āĻžāĻļ āĻĻāĻŋāĻ¯āĻŧā§‡ āĻĒā§āĻ°āĻ¤āĻŋāĻ¸ā§āĻĨāĻžāĻĒāĻŋāĻ¤ āĻšāĻ¯āĻŧ
    • āĻāĻ•ā§āĻ¸āĻŸā§‡āĻ¨āĻļāĻ¨ āĻ¯ā§‹āĻ— āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ .pp

āĻ†āĻŽāĻŋ āĻāĻ•āĻŸāĻŋ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻĻāĻŋāĻ¯āĻŧā§‡ āĻĻā§‡āĻ–āĻžāĻŦāĨ¤ āĻ§āĻ°āĻž āĻ¯āĻžāĻ• āĻ†āĻŽāĻŋ āĻāĻ•āĻŸāĻŋ āĻŽāĻĄāĻŋāĻ‰āĻ˛ āĻ˛āĻŋāĻ–āĻ›āĻŋ nginx. āĻāĻŸāĻŋāĻ¤ā§‡ āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻ–āĻŋāĻ¤ āĻ¸āĻ‚āĻ¸ā§āĻĨāĻžāĻ¨ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡:

  • āĻŦāĻ°ā§āĻ— nginx āĻŽā§āĻ¯āĻžāĻ¨āĻŋāĻĢā§‡āĻ¸ā§āĻŸā§‡ āĻŦāĻ°ā§āĻŖāĻŋāĻ¤ init.pp;
  • āĻŦāĻ°ā§āĻ— nginx::service āĻŽā§āĻ¯āĻžāĻ¨āĻŋāĻĢā§‡āĻ¸ā§āĻŸā§‡ āĻŦāĻ°ā§āĻŖāĻŋāĻ¤ service.pp;
  • āĻ¸āĻ‚āĻœā§āĻžāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻ•āĻ°āĻž nginx::server āĻŽā§āĻ¯āĻžāĻ¨āĻŋāĻĢā§‡āĻ¸ā§āĻŸā§‡ āĻŦāĻ°ā§āĻŖāĻŋāĻ¤ server.pp;
  • āĻ¸āĻ‚āĻœā§āĻžāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻ•āĻ°āĻž nginx::server::location āĻŽā§āĻ¯āĻžāĻ¨āĻŋāĻĢā§‡āĻ¸ā§āĻŸā§‡ āĻŦāĻ°ā§āĻŖāĻŋāĻ¤ server/location.pp.

āĻŸā§‡āĻŽāĻĒā§āĻ˛ā§‡āĻŸ

āĻ…āĻŦāĻļā§āĻ¯āĻ‡ āĻ†āĻĒāĻ¨āĻŋ āĻ¨āĻŋāĻœā§‡āĻ‡ āĻœāĻžāĻ¨ā§‡āĻ¨ āĻ¯ā§‡ āĻŸā§‡āĻŽāĻĒā§āĻ˛ā§‡āĻŸāĻ—ā§āĻ˛āĻŋ āĻ•ā§€; āĻ†āĻŽāĻŋ āĻ¸ā§‡āĻ—ā§āĻ˛āĻŋ āĻāĻ–āĻžāĻ¨ā§‡ āĻŦāĻŋāĻļāĻĻāĻ­āĻžāĻŦā§‡ āĻŦāĻ°ā§āĻŖāĻ¨āĻž āĻ•āĻ°āĻŦ āĻ¨āĻžāĨ¤ āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻ†āĻŽāĻŋ āĻļā§āĻ§ā§ āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡ āĻāĻŸāĻž āĻ›ā§‡āĻĄāĻŧā§‡ āĻĻā§‡āĻŦ āĻ‰āĻ‡āĻ•āĻŋāĻĒāĻŋāĻĄāĻŋāĻ¯āĻŧāĻžāĻ° āĻ˛āĻŋāĻ™ā§āĻ•.

āĻŸā§‡āĻŽāĻĒā§āĻ˛ā§‡āĻŸāĻ—ā§āĻ˛āĻŋ āĻ•ā§€āĻ­āĻžāĻŦā§‡ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻŦā§‡āĻ¨: āĻāĻ•āĻŸāĻŋ āĻĢāĻžāĻ‚āĻļāĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻāĻ•āĻŸāĻŋ āĻŸā§‡āĻŽāĻĒā§āĻ˛ā§‡āĻŸā§‡āĻ° āĻ…āĻ°ā§āĻĨ āĻĒā§āĻ°āĻ¸āĻžāĻ°āĻŋāĻ¤ āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ template, āĻ¯āĻž āĻŸā§‡āĻŽāĻĒā§āĻ˛ā§‡āĻŸā§‡āĻ° āĻĒāĻžāĻĨ āĻĒāĻžāĻ¸ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧāĨ¤ āĻ§āĻ°āĻ¨ā§‡āĻ° āĻ¸āĻŽā§āĻĒāĻĻ āĻœāĻ¨ā§āĻ¯ āĻĢāĻžāĻ‡āĻ˛ āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻŸāĻžāĻ°ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻāĻ•āĻ¸āĻžāĻĨā§‡ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ content. āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§‚āĻĒ, āĻāĻ‡ āĻŽāĻ¤:

file { '/tmp/example': content => template('modulename/templatename.erb')

āĻĒāĻĨ āĻĻā§‡āĻ–ā§āĻ¨ <modulename>/<filename> āĻĢāĻžāĻ‡āĻ˛ āĻŦā§‹āĻāĻžāĻ¯āĻŧ <rootdir>/modules/<modulename>/templates/<filename>.

āĻ‰āĻĒāĻ°āĻ¨ā§āĻ¤ā§, āĻāĻ•āĻŸāĻŋ āĻĢāĻžāĻ‚āĻļāĻ¨ āĻ†āĻ›ā§‡ inline_template — āĻāĻŸāĻŋ āĻ‡āĻ¨āĻĒā§āĻŸ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻŸā§‡āĻŽāĻĒā§āĻ˛ā§‡āĻŸ āĻĒāĻžāĻ ā§āĻ¯ āĻ—ā§āĻ°āĻšāĻŖ āĻ•āĻ°ā§‡, āĻĢāĻžāĻ‡āĻ˛ā§‡āĻ° āĻ¨āĻžāĻŽ āĻ¨āĻ¯āĻŧāĨ¤

āĻŸā§‡āĻŽāĻĒā§āĻ˛ā§‡āĻŸā§‡āĻ° āĻŽāĻ§ā§āĻ¯ā§‡, āĻ†āĻĒāĻ¨āĻŋ āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ āĻ¸ā§āĻ¯ā§‹āĻ—ā§‡ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻĒā§āĻ¤ā§āĻ˛ āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨āĨ¤

āĻĒā§āĻ¤ā§āĻ˛ ERB āĻāĻŦāĻ‚ EPP āĻĢāĻ°ā§āĻŽā§āĻ¯āĻžāĻŸā§‡ āĻŸā§‡āĻŽāĻĒā§āĻ˛ā§‡āĻŸ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻ•āĻ°ā§‡:

āĻ¸āĻ‚āĻ•ā§āĻˇā§‡āĻĒā§‡ ERB āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡

āĻ¨āĻŋāĻ¯āĻŧāĻ¨ā§āĻ¤ā§āĻ°āĻŖ āĻ•āĻžāĻ āĻžāĻŽā§‹:

  • <%= ВĐĢРАЖЕНИЕ %> — āĻ…āĻ­āĻŋāĻŦā§āĻ¯āĻ•ā§āĻ¤āĻŋāĻ° āĻŽāĻžāĻ¨ āĻ¸āĻ¨ā§āĻ¨āĻŋāĻŦā§‡āĻļ āĻ•āĻ°āĻžāĻ¨
  • <% ВĐĢРАЖЕНИЕ %> - āĻāĻ•āĻŸāĻŋ āĻ…āĻ­āĻŋāĻŦā§āĻ¯āĻ•ā§āĻ¤āĻŋāĻ° āĻŽāĻžāĻ¨ āĻ—āĻŖāĻ¨āĻž āĻ•āĻ°ā§āĻ¨ (āĻāĻŸāĻŋ āĻ¸āĻ¨ā§āĻ¨āĻŋāĻŦā§‡āĻļ āĻ¨āĻž āĻ•āĻ°ā§‡)āĨ¤ āĻļāĻ°ā§āĻ¤āĻ¸āĻžāĻĒā§‡āĻ•ā§āĻˇ āĻŦāĻŋāĻŦā§ƒāĻ¤āĻŋ (āĻ¯āĻĻāĻŋ) āĻāĻŦāĻ‚ āĻ˛ā§āĻĒ (āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ) āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤ āĻāĻ–āĻžāĻ¨ā§‡ āĻ¯āĻžāĻ¯āĻŧāĨ¤
  • <%# КОММЕНĐĸАРИЙ %>

āĻ‡āĻ†āĻ°āĻŦāĻŋ-āĻ¤ā§‡ āĻāĻ•ā§āĻ¸āĻĒā§āĻ°ā§‡āĻļāĻ¨āĻ—ā§āĻ˛āĻŋ āĻ°ā§āĻŦāĻŋāĻ¤ā§‡ āĻ˛ā§‡āĻ–āĻž āĻšāĻ¯āĻŧ (āĻ‡āĻ†āĻ°āĻŦāĻŋ āĻ†āĻ¸āĻ˛ā§‡ āĻāĻŽāĻŦā§‡āĻĄā§‡āĻĄ āĻ°ā§āĻŦāĻŋ)āĨ¤

āĻŽā§āĻ¯āĻžāĻ¨āĻŋāĻĢā§‡āĻ¸ā§āĻŸ āĻĨā§‡āĻ•ā§‡ āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛ āĻ…ā§āĻ¯āĻžāĻ•ā§āĻ¸ā§‡āĻ¸ āĻ•āĻ°āĻ¤ā§‡, āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻ¯ā§‹āĻ— āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡ @ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨āĻļā§€āĻ˛ āĻ¨āĻžāĻŽā§‡āĻ° āĻ•āĻžāĻ›ā§‡āĨ¤ āĻāĻ•āĻŸāĻŋ āĻ¨āĻŋāĻ¯āĻŧāĻ¨ā§āĻ¤ā§āĻ°āĻŖ āĻ¨āĻŋāĻ°ā§āĻŽāĻžāĻŖā§‡āĻ° āĻĒāĻ°ā§‡ āĻĒā§āĻ°āĻĻāĻ°ā§āĻļāĻŋāĻ¤ āĻāĻ•āĻŸāĻŋ āĻ˛āĻžāĻ‡āĻ¨ āĻŦāĻŋāĻ°āĻ¤āĻŋ āĻ…āĻĒāĻ¸āĻžāĻ°āĻŖ āĻ•āĻ°āĻ¤ā§‡, āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻāĻ•āĻŸāĻŋ āĻ•ā§āĻ˛ā§‹āĻœāĻŋāĻ‚ āĻŸā§āĻ¯āĻžāĻ— āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡ -%>.

āĻŸā§‡āĻŽāĻĒā§āĻ˛ā§‡āĻŸ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°ā§‡āĻ° āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ

āĻ§āĻ°āĻž āĻ¯āĻžāĻ• āĻ†āĻŽāĻŋ ZooKeeper āĻ¨āĻŋāĻ¯āĻŧāĻ¨ā§āĻ¤ā§āĻ°āĻŖ āĻ•āĻ°āĻ¤ā§‡ āĻāĻ•āĻŸāĻŋ āĻŽāĻĄāĻŋāĻ‰āĻ˛ āĻ˛āĻŋāĻ–āĻ›āĻŋāĨ¤ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°ā§‡āĻļāĻ¨ āĻ¤ā§ˆāĻ°āĻŋāĻ° āĻœāĻ¨ā§āĻ¯ āĻĻāĻžāĻ¯āĻŧā§€ āĻ•ā§āĻ˛āĻžāĻ¸āĻŸāĻŋ āĻāĻ‡āĻ°āĻ•āĻŽ āĻ•āĻŋāĻ›ā§ āĻĻā§‡āĻ–āĻžāĻ¯āĻŧ:

class zookeeper::configure (
  Array[String] $nodes,
  Integer $port_client,
  Integer $port_quorum,
  Integer $port_leader,
  Hash[String, Any] $properties,
  String $datadir,
) {
  file { '/etc/zookeeper/conf/zoo.cfg':
    ensure  => present,
    content => template('zookeeper/zoo.cfg.erb'),
  }
}

āĻāĻŦāĻ‚ āĻ¸āĻ‚āĻļā§āĻ˛āĻŋāĻˇā§āĻŸ āĻŸā§‡āĻŽāĻĒā§āĻ˛ā§‡āĻŸ zoo.cfg.erb - āĻ¤āĻžāĻ‡:

<% if @nodes.length > 0 -%>
<% @nodes.each do |node, id| -%>
server.<%= id %>=<%= node %>:<%= @port_leader %>:<%= @port_quorum %>;<%= @port_client %>
<% end -%>
<% end -%>

dataDir=<%= @datadir %>

<% @properties.each do |k, v| -%>
<%= k %>=<%= v %>
<% end -%>

āĻ¤āĻĨā§āĻ¯ āĻāĻŦāĻ‚ āĻ…āĻ¨ā§āĻ¤āĻ°ā§āĻ¨āĻŋāĻ°ā§āĻŽāĻŋāĻ¤ āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛

āĻĒā§āĻ°āĻžāĻ¯āĻŧāĻļāĻ‡ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°ā§‡āĻļāĻ¨ā§‡āĻ° āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ…āĻ‚āĻļāĻŸāĻŋ āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ā§‡ āĻ¨ā§‹āĻĄā§‡ āĻ•ā§€ āĻ˜āĻŸāĻ›ā§‡ āĻ¤āĻžāĻ° āĻ‰āĻĒāĻ° āĻ¨āĻŋāĻ°ā§āĻ­āĻ° āĻ•āĻ°ā§‡āĨ¤ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§‚āĻĒ, āĻĄā§‡āĻŦāĻŋāĻ¯āĻŧāĻžāĻ¨ āĻ°āĻŋāĻ˛āĻŋāĻœ āĻ•āĻŋāĻ¸ā§‡āĻ° āĻ‰āĻĒāĻ° āĻ¨āĻŋāĻ°ā§āĻ­āĻ° āĻ•āĻ°ā§‡, āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻœā§‡āĻ° āĻāĻ• āĻŦāĻž āĻ…āĻ¨ā§āĻ¯ āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖ āĻ‡āĻ¨āĻ¸ā§āĻŸāĻ˛ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡āĨ¤ āĻ†āĻĒāĻ¨āĻŋ āĻŽā§āĻ¯āĻžāĻ¨ā§āĻ¯āĻŧāĻžāĻ˛āĻŋ āĻāĻ‡ āĻ¸āĻŦ āĻ¨āĻŋāĻ°ā§€āĻ•ā§āĻˇāĻŖ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨, āĻ¨ā§‹āĻĄ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻšāĻ˛ā§‡ āĻĒā§āĻ¨āĻƒāĻ˛āĻŋāĻ–āĻ¨ āĻĒā§āĻ°āĻ•āĻžāĻļāĨ¤ āĻ¤āĻŦā§‡ āĻāĻŸāĻŋ āĻāĻ•āĻŸāĻŋ āĻ—ā§āĻ°ā§āĻ¤āĻ° āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻ¨āĻ¯āĻŧ; āĻ…āĻŸā§‹āĻŽā§‡āĻļāĻ¨ āĻ…āĻ¨ā§‡āĻ• āĻ­āĻžāĻ˛āĨ¤

āĻ¨ā§‹āĻĄ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡ āĻ¤āĻĨā§āĻ¯ āĻĒā§āĻ°āĻžāĻĒā§āĻ¤ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯, āĻĒāĻžāĻĒā§‡āĻŸā§‡āĻ° āĻĢā§āĻ¯āĻžāĻ•ā§āĻŸāĻ¸ āĻ¨āĻžāĻŽā§‡ āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤ āĻ¤āĻĨā§āĻ¯ - āĻāĻŸāĻŋ āĻ¨ā§‹āĻĄ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡ āĻ¤āĻĨā§āĻ¯, āĻ—ā§āĻ˛ā§‹āĻŦāĻžāĻ˛ āĻ¨ā§‡āĻŽāĻ¸ā§āĻĒā§‡āĻ¸ā§‡ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛ā§‡āĻ° āĻ†āĻ•āĻžāĻ°ā§‡ āĻŽā§āĻ¯āĻžāĻ¨āĻŋāĻĢā§‡āĻ¸ā§āĻŸā§‡ āĻ‰āĻĒāĻ˛āĻŦā§āĻ§āĨ¤ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§‚āĻĒ, āĻšā§‹āĻ¸ā§āĻŸā§‡āĻ° āĻ¨āĻžāĻŽ, āĻ…āĻĒāĻžāĻ°ā§‡āĻŸāĻŋāĻ‚ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖ, āĻĒā§āĻ°āĻ¸ā§‡āĻ¸āĻ° āĻ†āĻ°ā§āĻ•āĻŋāĻŸā§‡āĻ•āĻšāĻžāĻ°, āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€āĻĻā§‡āĻ° āĻ¤āĻžāĻ˛āĻŋāĻ•āĻž, āĻ¨ā§‡āĻŸāĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻ• āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻĢā§‡āĻ¸ āĻāĻŦāĻ‚ āĻ¤āĻžāĻĻā§‡āĻ° āĻ āĻŋāĻ•āĻžāĻ¨āĻžāĻ—ā§āĻ˛āĻŋāĻ° āĻ¤āĻžāĻ˛āĻŋāĻ•āĻž āĻāĻŦāĻ‚ āĻ†āĻ°āĻ“ āĻ…āĻ¨ā§‡āĻ• āĻ•āĻŋāĻ›ā§āĨ¤ āĻ¤āĻĨā§āĻ¯āĻ—ā§āĻ˛āĻŋ āĻŽā§āĻ¯āĻžāĻ¨āĻŋāĻĢā§‡āĻ¸ā§āĻŸ āĻāĻŦāĻ‚ āĻŸā§‡āĻŽāĻĒā§āĻ˛ā§‡āĻŸāĻ—ā§āĻ˛āĻŋāĻ¤ā§‡ āĻ¨āĻŋāĻ¯āĻŧāĻŽāĻŋāĻ¤ āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻ‰āĻĒāĻ˛āĻŦā§āĻ§āĨ¤

āĻ¤āĻĨā§āĻ¯ āĻ¨āĻŋāĻ¯āĻŧā§‡ āĻ•āĻžāĻœ āĻ•āĻ°āĻžāĻ° āĻāĻ•āĻŸāĻŋ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ:

notify { "Running OS ${facts['os']['name']} version ${facts['os']['release']['full']}": }
# Ņ€ĐĩŅŅƒŅ€Ņ Ņ‚иĐŋĐ° notify ĐŋŅ€ĐžŅŅ‚Đž вŅ‹Đ˛ĐžĐ´Đ¸Ņ‚ ŅĐžĐžĐąŅ‰ĐĩĐŊиĐĩ в ĐģĐžĐŗ

āĻ†āĻ¨ā§āĻˇā§āĻ āĻžāĻ¨āĻŋāĻ•āĻ­āĻžāĻŦā§‡ āĻŦāĻ˛āĻ¤ā§‡ āĻ—ā§‡āĻ˛ā§‡, āĻāĻ•āĻŸāĻŋ āĻ¸āĻ¤ā§āĻ¯ā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻ¨āĻžāĻŽ (āĻ¸ā§āĻŸā§āĻ°āĻŋāĻ‚) āĻāĻŦāĻ‚ āĻāĻ•āĻŸāĻŋ āĻŽāĻžāĻ¨ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡ (āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āĻ¨ āĻĒā§āĻ°āĻ•āĻžāĻ° āĻ‰āĻĒāĻ˛āĻŦā§āĻ§: āĻ¸ā§āĻŸā§āĻ°āĻŋāĻ‚, āĻ…ā§āĻ¯āĻžāĻ°ā§‡, āĻ…āĻ­āĻŋāĻ§āĻžāĻ¨)āĨ¤ āĻ–āĻžāĻ“āĻ¯āĻŧāĻž āĻ…āĻ¨ā§āĻ¤āĻ°ā§āĻ¨āĻŋāĻ°ā§āĻŽāĻŋāĻ¤ āĻ¤āĻĨā§āĻ¯ā§‡āĻ° āĻ¸ā§‡āĻŸ. āĻ†āĻĒāĻ¨āĻŋ āĻ†āĻĒāĻ¨āĻžāĻ° āĻ¨āĻŋāĻœā§‡āĻ° āĻ˛āĻŋāĻ–āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨. āĻĢā§āĻ¯āĻžāĻ•ā§āĻŸ āĻ¸āĻ‚āĻ—ā§āĻ°āĻžāĻšāĻ•āĻĻā§‡āĻ° āĻŦāĻ°ā§āĻŖāĻ¨āĻž āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ āĻ°ā§āĻŦāĻŋ āĻĢāĻžāĻ‚āĻļāĻ¨ āĻŽāĻ¤āĻšāĻ¯āĻŧ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻāĻ•ā§āĻ¸āĻŋāĻ•āĻŋāĻ‰āĻŸā§‡āĻŦāĻ˛ āĻĢāĻžāĻ‡āĻ˛. āĻ¤āĻĨā§āĻ¯ āĻ†āĻ•āĻžāĻ°ā§‡āĻ“ āĻ‰āĻĒāĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ āĻĄā§‡āĻŸāĻž āĻ¸āĻš āĻĒāĻžāĻ ā§āĻ¯ āĻĢāĻžāĻ‡āĻ˛ āĻ¨ā§‹āĻĄ āĻ‰āĻĒāĻ°.

āĻ…āĻĒāĻžāĻ°ā§‡āĻļāĻ¨ āĻšāĻ˛āĻžāĻ•āĻžāĻ˛ā§€āĻ¨, āĻĒā§āĻ¤ā§āĻ˛ āĻāĻœā§‡āĻ¨ā§āĻŸ āĻĒā§āĻ°āĻĨāĻŽā§‡ āĻĒā§āĻ¯āĻžāĻĒā§‡āĻŸāĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ° āĻĨā§‡āĻ•ā§‡ āĻ¨ā§‹āĻĄā§‡ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ‰āĻĒāĻ˛āĻŦā§āĻ§ āĻĢā§āĻ¯āĻžāĻ•ā§āĻŸ āĻ¸āĻ‚āĻ—ā§āĻ°āĻžāĻšāĻ• āĻ•āĻĒāĻŋ āĻ•āĻ°ā§‡, āĻ¤āĻžāĻ°āĻĒāĻ°ā§‡ āĻāĻŸāĻŋ āĻ¤āĻžāĻĻā§‡āĻ° āĻšāĻžāĻ˛ā§ āĻ•āĻ°ā§‡ āĻāĻŦāĻ‚ āĻ¸āĻ‚āĻ—ā§ƒāĻšā§€āĻ¤ āĻ¤āĻĨā§āĻ¯āĻ—ā§āĻ˛āĻŋ āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ°ā§‡ āĻĒāĻžāĻ āĻžāĻ¯āĻŧ; āĻāĻ° āĻĒāĻ°ā§‡, āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ° āĻ•ā§āĻ¯āĻžāĻŸāĻžāĻ˛āĻ— āĻ•āĻŽā§āĻĒāĻžāĻ‡āĻ˛ āĻ•āĻ°āĻž āĻļā§āĻ°ā§ āĻ•āĻ°ā§‡āĨ¤

āĻāĻ•ā§āĻ¸āĻŋāĻ•āĻŋāĻ‰āĻŸā§‡āĻŦāĻ˛ āĻĢāĻžāĻ‡āĻ˛ āĻ†āĻ•āĻžāĻ°ā§‡ āĻ¤āĻĨā§āĻ¯

āĻāĻ‡ āĻ§āĻ°āĻ¨ā§‡āĻ° āĻ¤āĻĨā§āĻ¯ āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋāĻ° āĻŽāĻĄāĻŋāĻ‰āĻ˛ā§‡ āĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ facts.d. āĻ…āĻŦāĻļā§āĻ¯āĻ‡, āĻĢāĻžāĻ‡āĻ˛āĻ—ā§āĻ˛āĻŋ āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻšāĻ¯ā§‹āĻ—ā§āĻ¯ āĻšāĻ¤ā§‡ āĻšāĻŦā§‡āĨ¤ āĻšāĻžāĻ˛āĻžāĻ¨ā§‹āĻ° āĻ¸āĻŽāĻ¯āĻŧ, āĻ¤āĻžāĻĻā§‡āĻ° āĻ…āĻŦāĻļā§āĻ¯āĻ‡ YAML āĻŦāĻž key=value āĻŦāĻŋāĻ¨ā§āĻ¯āĻžāĻ¸ā§‡ āĻ¸ā§āĻŸā§āĻ¯āĻžāĻ¨ā§āĻĄāĻžāĻ°ā§āĻĄ āĻ†āĻ‰āĻŸāĻĒā§āĻŸā§‡ āĻ¤āĻĨā§āĻ¯ āĻ†āĻ‰āĻŸāĻĒā§āĻŸ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡āĨ¤

āĻ­ā§āĻ˛ā§‡ āĻ¯āĻžāĻŦā§‡āĻ¨ āĻ¨āĻž āĻ¯ā§‡ āĻ¤āĻĨā§āĻ¯āĻ—ā§āĻ˛āĻŋ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ¨ā§‹āĻĄā§‡āĻ° āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡ āĻĒā§āĻ°āĻ¯ā§‹āĻœā§āĻ¯ āĻ¯āĻž āĻĒāĻĒā§‡āĻŸ āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ° āĻĻā§āĻŦāĻžāĻ°āĻž āĻ¨āĻŋāĻ¯āĻŧāĻ¨ā§āĻ¤ā§āĻ°āĻŋāĻ¤ āĻšāĻ¯āĻŧ āĻ¯ā§‡āĻ–āĻžāĻ¨ā§‡ āĻ†āĻĒāĻ¨āĻžāĻ° āĻŽāĻĄāĻŋāĻ‰āĻ˛ āĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤ āĻ…āĻ¤āĻāĻŦ, āĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸā§‡, āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡ āĻ†āĻĒāĻ¨āĻžāĻ° āĻ¸āĻ¤ā§āĻ¯ āĻ•āĻžāĻœ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ā§€āĻ¯āĻŧ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽ āĻāĻŦāĻ‚ āĻĢāĻžāĻ‡āĻ˛ āĻ†āĻ›ā§‡ āĻ•āĻŋāĻ¨āĻž āĻ¤āĻž āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ•āĻ°āĻžāĻ° āĻ¯āĻ¤ā§āĻ¨ āĻ¨āĻŋāĻ¨āĨ¤

#!/bin/sh
echo "testfact=success"
#!/bin/sh
echo '{"testyamlfact":"success"}'

āĻ°ā§āĻŦāĻŋ āĻ˜āĻŸāĻ¨āĻž

āĻāĻ‡ āĻ§āĻ°āĻ¨ā§‡āĻ° āĻ¤āĻĨā§āĻ¯ āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋāĻ° āĻŽāĻĄāĻŋāĻ‰āĻ˛ā§‡ āĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ lib/facter.

# вŅŅ‘ ĐŊĐ°Ņ‡Đ¸ĐŊĐ°ĐĩŅ‚ŅŅ Ņ вŅ‹ĐˇĐžĐ˛Đ° Ņ„ŅƒĐŊĐēŅ†Đ¸Đ¸ Facter.add Ņ иĐŧĐĩĐŊĐĩĐŧ Ņ„Đ°ĐēŅ‚Đ° и ĐąĐģĐžĐēĐžĐŧ ĐēОда
Facter.add('ladvd') do
# в ĐąĐģĐžĐēĐ°Ņ… confine ĐžĐŋиŅŅ‹Đ˛Đ°ŅŽŅ‚ŅŅ ŅƒŅĐģОвиŅ ĐŋŅ€Đ¸ĐŧĐĩĐŊиĐŧĐžŅŅ‚и Ņ„Đ°ĐēŅ‚Đ° — ĐēОд вĐŊŅƒŅ‚Ņ€Đ¸ ĐąĐģĐžĐēĐ° Đ´ĐžĐģĐļĐĩĐŊ вĐĩŅ€ĐŊŅƒŅ‚ŅŒ true, иĐŊĐ°Ņ‡Đĩ СĐŊĐ°Ņ‡ĐĩĐŊиĐĩ Ņ„Đ°ĐēŅ‚Đ° ĐŊĐĩ вŅ‹Ņ‡Đ¸ŅĐģŅĐĩŅ‚ŅŅ и ĐŊĐĩ вОСвŅ€Đ°Ņ‰Đ°ĐĩŅ‚ŅŅ
  confine do
    Facter::Core::Execution.which('ladvdc') # ĐŋŅ€ĐžĐ˛ĐĩŅ€Đ¸Đŧ, Ņ‡Ņ‚Đž в PATH ĐĩŅŅ‚ŅŒ Ņ‚Đ°ĐēОК иŅĐŋĐžĐģĐŊŅĐĩĐŧŅ‹Đš Ņ„Đ°ĐšĐģ
  end
  confine do
    File.socket?('/var/run/ladvd.sock') # ĐŋŅ€ĐžĐ˛ĐĩŅ€Đ¸Đŧ, Ņ‡Ņ‚Đž ĐĩŅŅ‚ŅŒ Ņ‚Đ°ĐēОК UNIX-domain socket
  end
# в ĐąĐģĐžĐēĐĩ setcode ĐŋŅ€ĐžĐ¸ŅŅ…ОдиŅ‚ ŅĐžĐąŅŅ‚вĐĩĐŊĐŊĐž вŅ‹Ņ‡Đ¸ŅĐģĐĩĐŊиĐĩ СĐŊĐ°Ņ‡ĐĩĐŊиŅ Ņ„Đ°ĐēŅ‚Đ°
  setcode do
    hash = {}
    if (out = Facter::Core::Execution.execute('ladvdc -b'))
      out.split.each do |l|
        line = l.split('=')
        next if line.length != 2
        name, value = line
        hash[name.strip.downcase.tr(' ', '_')] = value.strip.chomp(''').reverse.chomp(''').reverse
      end
    end
    hash  # СĐŊĐ°Ņ‡ĐĩĐŊиĐĩ ĐŋĐžŅĐģĐĩĐ´ĐŊĐĩĐŗĐž вŅ‹Ņ€Đ°ĐļĐĩĐŊиŅ в ĐąĐģĐžĐēĐĩ setcode ŅĐ˛ĐģŅĐĩŅ‚ŅŅ СĐŊĐ°Ņ‡ĐĩĐŊиĐĩĐŧ Ņ„Đ°ĐēŅ‚Đ°
  end
end

āĻŸā§‡āĻ•ā§āĻ¸āĻŸ āĻ¤āĻĨā§āĻ¯

āĻāĻ‡ āĻ§āĻ°āĻ¨ā§‡āĻ° āĻ¤āĻĨā§āĻ¯ āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋāĻ¤ā§‡ āĻ¨ā§‹āĻĄāĻ—ā§āĻ˛āĻŋāĻ¤ā§‡ āĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ /etc/facter/facts.d āĻĒā§āĻ°āĻžāĻ¨ā§‹ āĻĒā§āĻ¤ā§āĻ˛ā§‡ āĻŦāĻž /etc/puppetlabs/facts.d āĻ¨āĻ¤ā§āĻ¨ āĻĒā§āĻ¤ā§āĻ˛ā§‡āĨ¤

examplefact=examplevalue
---
examplefact2: examplevalue2
anotherfact: anothervalue

āĻ¤āĻĨā§āĻ¯ āĻĒāĻžāĻ“āĻ¯āĻŧāĻž

āĻ¤āĻĨā§āĻ¯ā§‡āĻ° āĻ•āĻžāĻ›ā§‡ āĻ¯āĻžāĻ“āĻ¯āĻŧāĻžāĻ° āĻĻā§āĻŸāĻŋ āĻ‰āĻĒāĻžāĻ¯āĻŧ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡:

  • āĻ…āĻ­āĻŋāĻ§āĻžāĻ¨ā§‡āĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ $facts: $facts['fqdn'];
  • āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨āĻļā§€āĻ˛ āĻ¨āĻžāĻŽ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻĢā§āĻ¯āĻžāĻ•ā§āĻŸ āĻ¨āĻžāĻŽ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡: $fqdn.

āĻāĻ•āĻŸāĻŋ āĻ…āĻ­āĻŋāĻ§āĻžāĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻ­āĻžāĻ˛ $facts, āĻ…āĻĨāĻŦāĻž āĻ†āĻ°āĻ“ āĻ­āĻžāĻ˛, āĻŦāĻŋāĻļā§āĻŦāĻŦā§āĻ¯āĻžāĻĒā§€ āĻ¨āĻžāĻŽāĻ¸ā§āĻĨāĻžāĻ¨ āĻ¨āĻŋāĻ°ā§āĻĻā§‡āĻļ āĻ•āĻ°ā§āĻ¨ ($::facts).

āĻāĻ–āĻžāĻ¨ā§‡ āĻĄāĻ•ā§āĻŽā§‡āĻ¨ā§āĻŸā§‡āĻļāĻ¨ā§‡āĻ° āĻĒā§āĻ°āĻžāĻ¸āĻ™ā§āĻ—āĻŋāĻ• āĻŦāĻŋāĻ­āĻžāĻ— āĻ†āĻ›ā§‡.

āĻ…āĻ¨ā§āĻ¤āĻ°ā§āĻ¨āĻŋāĻ°ā§āĻŽāĻŋāĻ¤ āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛

āĻ˜āĻŸāĻ¨āĻž āĻ›āĻžāĻĄāĻŧāĻžāĻ“, āĻ†āĻ›ā§‡ āĻ•āĻŋāĻ›ā§ āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛, āĻŦāĻŋāĻļā§āĻŦāĻŦā§āĻ¯āĻžāĻĒā§€ āĻ¨āĻžāĻŽāĻ¸ā§āĻĨāĻžāĻ¨ā§‡ āĻ‰āĻĒāĻ˛āĻŦā§āĻ§āĨ¤

  • āĻŦāĻŋāĻļā§āĻŦāĻ¸ā§āĻ¤ āĻ¤āĻĨā§āĻ¯ — āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛āĻ—ā§āĻ˛āĻŋ āĻ¯āĻž āĻ•ā§āĻ˛āĻžāĻ¯āĻŧā§‡āĻ¨ā§āĻŸā§‡āĻ° āĻļāĻ‚āĻ¸āĻžāĻĒāĻ¤ā§āĻ° āĻĨā§‡āĻ•ā§‡ āĻ¨ā§‡āĻ“āĻ¯āĻŧāĻž āĻšāĻ¯āĻŧ (āĻ¯ā§‡āĻšā§‡āĻ¤ā§ āĻļāĻ‚āĻ¸āĻžāĻĒāĻ¤ā§āĻ°āĻŸāĻŋ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤ āĻāĻ•āĻŸāĻŋ āĻĒāĻĒā§‡āĻŸ āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ°ā§‡ āĻœāĻžāĻ°āĻŋ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ, āĻ¤āĻžāĻ‡ āĻāĻœā§‡āĻ¨ā§āĻŸ āĻ•ā§‡āĻŦāĻ˛ āĻ¤āĻžāĻ° āĻļāĻ‚āĻ¸āĻžāĻĒāĻ¤ā§āĻ° āĻ¨āĻŋāĻ¤ā§‡ āĻāĻŦāĻ‚ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ āĻ¨āĻž, āĻ¤āĻžāĻ‡ āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛āĻ—ā§āĻ˛āĻŋ "āĻŦāĻŋāĻļā§āĻŦāĻ¸ā§āĻ¤"): āĻļāĻ‚āĻ¸āĻžāĻĒāĻ¤ā§āĻ°ā§‡āĻ° āĻ¨āĻžāĻŽ, āĻāĻ° āĻ¨āĻžāĻŽ āĻšā§‹āĻ¸ā§āĻŸ āĻāĻŦāĻ‚ āĻĄā§‹āĻŽā§‡āĻ¨, āĻ¸āĻžāĻ°ā§āĻŸāĻŋāĻĢāĻŋāĻ•ā§‡āĻŸ āĻĨā§‡āĻ•ā§‡ āĻāĻ•ā§āĻ¸āĻŸā§‡āĻ¨āĻļāĻ¨āĨ¤
  • āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ° āĻ¤āĻĨā§āĻ¯ — āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ° āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡ āĻ¤āĻĨā§āĻ¯ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•āĻŋāĻ¤ āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛â€”āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖ, āĻ¨āĻžāĻŽ, āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ°ā§‡āĻ° āĻ†āĻ‡āĻĒāĻŋ āĻ āĻŋāĻ•āĻžāĻ¨āĻž, āĻĒāĻ°āĻŋāĻŦā§‡āĻļāĨ¤
  • āĻāĻœā§‡āĻ¨ā§āĻŸ āĻ¤āĻĨā§āĻ¯ — āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛āĻ—ā§āĻ˛āĻŋ āĻ¸āĻ°āĻžāĻ¸āĻ°āĻŋ āĻĒā§āĻ¤ā§āĻ˛-āĻāĻœā§‡āĻ¨ā§āĻŸ āĻĻā§āĻŦāĻžāĻ°āĻž āĻ¯ā§‹āĻ— āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡, āĻāĻŦāĻ‚ āĻĢā§āĻ¯āĻžāĻ•ā§āĻŸāĻ° āĻĻā§āĻŦāĻžāĻ°āĻž āĻ¨āĻ¯āĻŧ — āĻļāĻ‚āĻ¸āĻžāĻĒāĻ¤ā§āĻ°ā§‡āĻ° āĻ¨āĻžāĻŽ, āĻāĻœā§‡āĻ¨ā§āĻŸ āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖ, āĻĒā§āĻ¤ā§āĻ˛ āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖāĨ¤
  • āĻŽāĻžāĻ¸ā§āĻŸāĻžāĻ° āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛ - āĻĒā§āĻ¯āĻžāĻĒā§‡āĻŸāĻŽāĻžāĻ¸ā§āĻŸāĻžāĻ° āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛ (sic!) āĻāĻŸāĻž āĻĒā§āĻ°āĻžāĻ¯āĻŧ āĻāĻ•āĻ‡ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ° āĻ¤āĻĨā§āĻ¯, āĻĒā§āĻ˛āĻžāĻ¸ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°ā§‡āĻļāĻ¨ āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻŸāĻžāĻ° āĻŽāĻžāĻ¨ āĻ‰āĻĒāĻ˛āĻŦā§āĻ§āĨ¤
  • āĻ•āĻŽā§āĻĒāĻžāĻ‡āĻ˛āĻžāĻ° āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛ — āĻ•āĻŽā§āĻĒāĻžāĻ‡āĻ˛āĻžāĻ° āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛ āĻ¯āĻž āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻ¸ā§āĻ•ā§‹āĻĒā§‡āĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻ†āĻ˛āĻžāĻĻāĻž: āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ āĻŽāĻĄāĻŋāĻ‰āĻ˛ā§‡āĻ° āĻ¨āĻžāĻŽ āĻāĻŦāĻ‚ āĻŽāĻĄāĻŋāĻ‰āĻ˛ā§‡āĻ° āĻ¨āĻžāĻŽ āĻ¯ā§‡āĻ–āĻžāĻ¨ā§‡ āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸāĻŸāĻŋ āĻ…ā§āĻ¯āĻžāĻ•ā§āĻ¸ā§‡āĻ¸ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛āĨ¤ āĻ¸ā§‡āĻ—ā§āĻ˛āĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡, āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§‚āĻĒ, āĻ†āĻĒāĻ¨āĻžāĻ° āĻŦā§āĻ¯āĻ•ā§āĻ¤āĻŋāĻ—āĻ¤ āĻ•ā§āĻ˛āĻžāĻ¸āĻ—ā§āĻ˛āĻŋ āĻ…āĻ¨ā§āĻ¯ āĻŽāĻĄāĻŋāĻ‰āĻ˛āĻ—ā§āĻ˛āĻŋ āĻĨā§‡āĻ•ā§‡ āĻ¸āĻ°āĻžāĻ¸āĻ°āĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻšāĻšā§āĻ›ā§‡ āĻ¨āĻž āĻ¤āĻž āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ•āĻ°āĻ¤ā§‡āĨ¤

āĻ¸āĻ‚āĻ¯ā§‹āĻœāĻ¨ 1: āĻ•ā§€āĻ­āĻžāĻŦā§‡ āĻāĻ‡ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻšāĻžāĻ˛āĻžāĻŦā§‡āĻ¨ āĻāĻŦāĻ‚ āĻĄāĻŋāĻŦāĻžāĻ— āĻ•āĻ°āĻŦā§‡āĻ¨?

āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§āĻŸāĻŋāĻ¤ā§‡ āĻĒā§āĻ¤ā§āĻ˛ āĻ•ā§‹āĻĄā§‡āĻ° āĻ…āĻ¨ā§‡āĻ• āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡, āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻāĻ‡ āĻ•ā§‹āĻĄāĻŸāĻŋ āĻ•ā§€āĻ­āĻžāĻŦā§‡ āĻšāĻžāĻ˛āĻžāĻ¤ā§‡ āĻšāĻ¯āĻŧ āĻ¤āĻž āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻāĻ•ā§‡āĻŦāĻžāĻ°ā§‡āĻ‡ āĻŦāĻ˛ā§‡āĻ¨āĻŋāĨ¤ āĻ†āĻšā§āĻ›āĻž, āĻ†āĻŽāĻŋ āĻ¨āĻŋāĻœā§‡āĻ•ā§‡ āĻ¸āĻ‚āĻļā§‹āĻ§āĻ¨ āĻ•āĻ°āĻ›āĻŋāĨ¤

āĻĒāĻžāĻĒā§‡āĻŸ āĻšāĻžāĻ˛āĻžāĻ¨ā§‹āĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻœāĻ¨ āĻāĻœā§‡āĻ¨ā§āĻŸāĻ‡ āĻ¯āĻĨā§‡āĻˇā§āĻŸ, āĻ¤āĻŦā§‡ āĻŦā§‡āĻļāĻŋāĻ°āĻ­āĻžāĻ— āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡ āĻ†āĻĒāĻ¨āĻžāĻ° āĻāĻ•āĻŸāĻŋ āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ°ā§‡āĻ°āĻ“ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ āĻšāĻŦā§‡āĨ¤

āĻĻāĻžāĻ˛āĻžāĻ˛

āĻ…āĻ¨ā§āĻ¤āĻ¤ āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖ XNUMX āĻĨā§‡āĻ•ā§‡, āĻĨā§‡āĻ•ā§‡ āĻĒā§āĻ¤ā§āĻ˛-āĻāĻœā§‡āĻ¨ā§āĻŸ āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻœ āĻ…āĻĢāĻŋāĻ¸āĻŋāĻ¯āĻŧāĻžāĻ˛ Puppetlabs āĻ¸āĻ‚āĻ—ā§āĻ°āĻšāĻ¸ā§āĻĨāĻ˛ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ¨āĻŋāĻ°ā§āĻ­āĻ°āĻ¤āĻž (āĻ°ā§āĻŦāĻŋ āĻāĻŦāĻ‚ āĻ¸āĻ‚āĻļā§āĻ˛āĻŋāĻˇā§āĻŸ āĻ°āĻ¤ā§āĻ¨) āĻ§āĻžāĻ°āĻŖ āĻ•āĻ°ā§‡, āĻ¤āĻžāĻ‡ āĻ•ā§‹āĻ¨āĻ“ āĻ‡āĻ¨āĻ¸ā§āĻŸāĻ˛ā§‡āĻļāĻ¨ āĻ…āĻ¸ā§āĻŦāĻŋāĻ§āĻž āĻ¨ā§‡āĻ‡ (āĻ†āĻŽāĻŋ āĻĄā§‡āĻŦāĻŋāĻ¯āĻŧāĻžāĻ¨-āĻ­āĻŋāĻ¤ā§āĻ¤āĻŋāĻ• āĻŦāĻŋāĻ¤āĻ°āĻŖā§‡āĻ° āĻ•āĻĨāĻž āĻŦāĻ˛āĻ›āĻŋ - āĻ†āĻŽāĻ°āĻž āĻ†āĻ°āĻĒāĻŋāĻāĻŽ-āĻ­āĻŋāĻ¤ā§āĻ¤āĻŋāĻ• āĻŦāĻŋāĻ¤āĻ°āĻŖāĻ—ā§āĻ˛āĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻŋ āĻ¨āĻž)āĨ¤

āĻ¸āĻŦāĻšā§‡āĻ¯āĻŧā§‡ āĻ¸āĻšāĻœ āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡, āĻĒā§āĻ¤ā§āĻ˛ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°ā§‡āĻļāĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯, āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ°āĻšā§€āĻ¨ āĻŽā§‹āĻĄā§‡ āĻāĻœā§‡āĻ¨ā§āĻŸ āĻšāĻžāĻ˛ā§ āĻ•āĻ°āĻž āĻ¯āĻĨā§‡āĻˇā§āĻŸ: āĻ¯āĻĻāĻŋ āĻĒā§āĻ¤ā§āĻ˛ āĻ•ā§‹āĻĄāĻŸāĻŋ āĻ¨ā§‹āĻĄā§‡ āĻ…āĻ¨ā§āĻ˛āĻŋāĻĒāĻŋ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ, āĻ˛āĻžā§āĻš āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ puppet apply <ĐŋŅƒŅ‚ŅŒ Đē ĐŧĐ°ĐŊиŅ„ĐĩŅŅ‚Ņƒ>:

atikhonov@atikhonov ~/puppet-test $ cat helloworld.pp 
node default {
    notify { 'Hello world!': }
}
atikhonov@atikhonov ~/puppet-test $ puppet apply helloworld.pp 
Notice: Compiled catalog for atikhonov.localdomain in environment production in 0.01 seconds
Notice: Hello world!
Notice: /Stage[main]/Main/Node[default]/Notify[Hello world!]/message: defined 'message' as 'Hello world!'
Notice: Applied catalog in 0.01 seconds

āĻ…āĻŦāĻļā§āĻ¯āĻ‡, āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ° āĻ¸ā§‡āĻŸ āĻ†āĻĒ āĻ•āĻ°āĻž āĻāĻŦāĻ‚ āĻĄā§‡āĻŽāĻ¨ āĻŽā§‹āĻĄā§‡ āĻ¨ā§‹āĻĄāĻ—ā§āĻ˛āĻŋāĻ¤ā§‡ āĻāĻœā§‡āĻ¨ā§āĻŸ āĻšāĻžāĻ˛āĻžāĻ¨ā§‹ āĻ†āĻ°āĻ“ āĻ­āĻžāĻ˛ - āĻ¤āĻžāĻ°āĻĒāĻ°ā§‡ āĻĒā§āĻ°āĻ¤āĻŋ āĻ†āĻ§ āĻ˜āĻ¨ā§āĻŸāĻžāĻ¯āĻŧ āĻāĻ•āĻŦāĻžāĻ° āĻ¤āĻžāĻ°āĻž āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ° āĻĨā§‡āĻ•ā§‡ āĻĄāĻžāĻ‰āĻ¨āĻ˛ā§‹āĻĄ āĻ•āĻ°āĻž āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°ā§‡āĻļāĻ¨ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻ— āĻ•āĻ°āĻŦā§‡āĨ¤

āĻ†āĻĒāĻ¨āĻŋ āĻ•āĻžāĻœā§‡āĻ° āĻĒā§āĻļ āĻŽāĻĄā§‡āĻ˛ āĻ…āĻ¨ā§āĻ•āĻ°āĻŖ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨ - āĻ†āĻĒāĻ¨āĻŋ āĻ†āĻ—ā§āĻ°āĻšā§€ āĻ¨ā§‹āĻĄā§‡ āĻ¯āĻžāĻ¨ āĻāĻŦāĻ‚ āĻļā§āĻ°ā§ āĻ•āĻ°ā§āĻ¨ sudo puppet agent -t. āĻšāĻžāĻŦāĻŋ -t (--test) āĻ†āĻ¸āĻ˛ā§‡ āĻŦā§‡āĻļ āĻ•āĻ¯āĻŧā§‡āĻ•āĻŸāĻŋ āĻŦāĻŋāĻ•āĻ˛ā§āĻĒ āĻ…āĻ¨ā§āĻ¤āĻ°ā§āĻ­ā§āĻ•ā§āĻ¤ āĻ•āĻ°ā§‡ āĻ¯āĻž āĻĒā§ƒāĻĨāĻ•āĻ­āĻžāĻŦā§‡ āĻ¸āĻ•ā§āĻˇāĻŽ āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤ āĻāĻ‡ āĻŦāĻŋāĻ•āĻ˛ā§āĻĒāĻ—ā§āĻ˛āĻŋāĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻ–āĻŋāĻ¤āĻ—ā§āĻ˛āĻŋ āĻ…āĻ¨ā§āĻ¤āĻ°ā§āĻ­ā§āĻ•ā§āĻ¤ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡:

  • āĻĄā§‡āĻŽāĻ¨ āĻŽā§‹āĻĄā§‡ āĻšāĻžāĻ˛āĻžāĻŦā§‡āĻ¨ āĻ¨āĻž (āĻĄāĻŋāĻĢāĻ˛ā§āĻŸāĻ°ā§‚āĻĒā§‡ āĻāĻœā§‡āĻ¨ā§āĻŸ āĻĄā§‡āĻŽāĻ¨ āĻŽā§‹āĻĄā§‡ āĻļā§āĻ°ā§ āĻšāĻ¯āĻŧ);
  • āĻ•ā§āĻ¯āĻžāĻŸāĻžāĻ˛āĻ— āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻ— āĻ•āĻ°āĻžāĻ° āĻĒāĻ°ā§‡ āĻŦāĻ¨ā§āĻ§ āĻ•āĻ°ā§āĻ¨ (āĻĄāĻŋāĻĢāĻ˛ā§āĻŸāĻ°ā§‚āĻĒā§‡, āĻāĻœā§‡āĻ¨ā§āĻŸ āĻ•āĻžāĻœ āĻšāĻžāĻ˛āĻŋāĻ¯āĻŧā§‡ āĻ¯āĻžāĻŦā§‡ āĻāĻŦāĻ‚ āĻĒā§āĻ°āĻ¤āĻŋ āĻ†āĻ§ āĻ˜āĻ¨ā§āĻŸāĻžāĻ¯āĻŧ āĻāĻ•āĻŦāĻžāĻ° āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°ā§‡āĻļāĻ¨ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻ— āĻ•āĻ°āĻŦā§‡);
  • āĻāĻ•āĻŸāĻŋ āĻŦāĻŋāĻ¸ā§āĻ¤āĻžāĻ°āĻŋāĻ¤ āĻ•āĻžāĻœā§‡āĻ° āĻ˛āĻ— āĻ˛āĻŋāĻ–ā§āĻ¨;
  • āĻĢāĻžāĻ‡āĻ˛ā§‡ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻĻā§‡āĻ–āĻžāĻ¨āĨ¤

āĻāĻœā§‡āĻ¨ā§āĻŸā§‡āĻ° āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ›āĻžāĻĄāĻŧāĻžāĻ‡ āĻāĻ•āĻŸāĻŋ āĻ…āĻĒāĻžāĻ°ā§‡āĻŸāĻŋāĻ‚ āĻŽā§‹āĻĄ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡ - āĻ†āĻĒāĻ¨āĻŋ āĻ¯āĻ–āĻ¨ āĻ¨āĻŋāĻļā§āĻšāĻŋāĻ¤ āĻ¨āĻ¨ āĻ¯ā§‡ āĻ†āĻĒāĻ¨āĻŋ āĻ¸āĻ āĻŋāĻ• āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°ā§‡āĻļāĻ¨ āĻ˛āĻŋāĻ–ā§‡āĻ›ā§‡āĻ¨ āĻāĻŦāĻ‚ āĻ…āĻĒāĻžāĻ°ā§‡āĻļāĻ¨ āĻšāĻ˛āĻžāĻ•āĻžāĻ˛ā§€āĻ¨ āĻāĻœā§‡āĻ¨ā§āĻŸāĻŸāĻŋ āĻ āĻŋāĻ• āĻ•ā§€ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°āĻŦā§‡ āĻ¤āĻž āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ•āĻ°āĻ¤ā§‡ āĻšāĻžāĻ‡āĻ˛ā§‡ āĻ†āĻĒāĻ¨āĻŋ āĻāĻŸāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨āĨ¤ āĻāĻ‡ āĻŽā§‹āĻĄ āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻŸāĻžāĻ° āĻĻā§āĻŦāĻžāĻ°āĻž āĻ¸āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ --noop āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āĻ˛āĻžāĻ‡āĻ¨ā§‡: sudo puppet agent -t --noop.

āĻāĻ›āĻžāĻĄāĻŧāĻžāĻ“, āĻ†āĻĒāĻ¨āĻŋ āĻ•āĻžāĻœā§‡āĻ° āĻĄāĻŋāĻŦāĻžāĻ—āĻŋāĻ‚ āĻ˛āĻ— āĻ¸āĻ•ā§āĻˇāĻŽ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨ - āĻāĻ¤ā§‡, āĻĒā§āĻ¤ā§āĻ˛ āĻāĻŸāĻŋ āĻ¯ā§‡ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻ¸āĻŽā§āĻĒāĻžāĻĻāĻ¨ āĻ•āĻ°ā§‡ āĻ¸ā§‡ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡ āĻ˛ā§‡āĻ–ā§‡: āĻāĻŸāĻŋ āĻ¯ā§‡ āĻ¸āĻ‚āĻ¸ā§āĻĨāĻžāĻ¨āĻŸāĻŋ āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ā§‡ āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻ•āĻ°āĻ›ā§‡ āĻ¸ā§‡ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡, āĻāĻ‡ āĻ¸āĻ‚āĻ¸ā§āĻĨāĻžāĻ¨ā§‡āĻ° āĻĒāĻ°āĻžāĻŽāĻŋāĻ¤āĻŋāĻ—ā§āĻ˛āĻŋ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡, āĻāĻŸāĻŋ āĻ•ā§‹āĻ¨ āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽāĻ—ā§āĻ˛āĻŋ āĻšāĻžāĻ˛ā§ āĻ•āĻ°ā§‡ āĻ¸ā§‡ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡āĨ¤ āĻ…āĻŦāĻļā§āĻ¯āĻ‡ āĻāĻŸāĻŋ āĻāĻ•āĻŸāĻŋ āĻĒāĻ°āĻžāĻŽāĻŋāĻ¤āĻŋ --debug.

āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ°

āĻ†āĻŽāĻŋ āĻāĻ‡ āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§ā§‡ āĻĒā§āĻ¯āĻžāĻĒā§‡āĻŸāĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ°ā§‡āĻ° āĻ¸āĻŽā§āĻĒā§‚āĻ°ā§āĻŖ āĻ¸ā§‡āĻŸāĻ†āĻĒ āĻāĻŦāĻ‚ āĻāĻ¤ā§‡ āĻ•ā§‹āĻĄ āĻ¸ā§āĻĨāĻžāĻĒāĻ¨ā§‡āĻ° āĻŦāĻŋāĻˇāĻ¯āĻŧāĻŸāĻŋ āĻŦāĻŋāĻŦā§‡āĻšāĻ¨āĻž āĻ•āĻ°āĻŦ āĻ¨āĻž; āĻ†āĻŽāĻŋ āĻ•ā§‡āĻŦāĻ˛ āĻŦāĻ˛āĻŦ āĻ¯ā§‡ āĻŦāĻžāĻ•ā§āĻ¸ā§‡āĻ° āĻŦāĻžāĻ‡āĻ°ā§‡ āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ°ā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻ¸āĻŽā§āĻĒā§‚āĻ°ā§āĻŖ āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻ°ā§€ āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡ āĻ¯āĻž āĻāĻ•āĻŸāĻŋ āĻ›ā§‹āĻŸ āĻ¸āĻžāĻĨā§‡ āĻ•āĻžāĻœ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ…āĻ¤āĻŋāĻ°āĻŋāĻ•ā§āĻ¤ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°ā§‡āĻļāĻ¨ā§‡āĻ° āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ āĻšāĻ¯āĻŧ āĻ¨āĻžāĨ¤ āĻ¨ā§‹āĻĄā§‡āĻ° āĻ¸āĻ‚āĻ–ā§āĻ¯āĻž (āĻŦāĻ˛ā§āĻ¨, āĻāĻ•āĻļ āĻĒāĻ°ā§āĻ¯āĻ¨ā§āĻ¤)āĨ¤ āĻāĻ•āĻŸāĻŋ āĻŦā§ƒāĻšāĻ¤ā§āĻ¤āĻ° āĻ¸āĻ‚āĻ–ā§āĻ¯āĻ• āĻ¨ā§‹āĻĄā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻŸāĻŋāĻ‰āĻ¨āĻŋāĻ‚ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ āĻšāĻŦā§‡ - āĻĄāĻŋāĻĢāĻ˛ā§āĻŸāĻ°ā§‚āĻĒā§‡, āĻĒāĻžāĻĒā§‡āĻŸāĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ° āĻšāĻžāĻ°āĻœāĻ¨ā§‡āĻ° āĻŦā§‡āĻļāĻŋ āĻ•āĻ°ā§āĻŽā§€ āĻšāĻžāĻ˛ā§ āĻ•āĻ°ā§‡ āĻ¨āĻž, āĻŦā§ƒāĻšāĻ¤ā§āĻ¤āĻ° āĻ•āĻ°ā§āĻŽāĻ•ā§āĻˇāĻŽāĻ¤āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻ¤āĻžāĻĻā§‡āĻ° āĻ¸āĻ‚āĻ–ā§āĻ¯āĻž āĻŦāĻžāĻĄāĻŧāĻžāĻ¤ā§‡ āĻšāĻŦā§‡ āĻāĻŦāĻ‚ āĻŽā§‡āĻŽāĻ°āĻŋāĻ° āĻ¸ā§€āĻŽāĻž āĻŦāĻžāĻĄāĻŧāĻžāĻ¤ā§‡ āĻ­ā§āĻ˛āĻŦā§‡āĻ¨ āĻ¨āĻž, āĻ…āĻ¨ā§āĻ¯āĻĨāĻžāĻ¯āĻŧ āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ° āĻŦā§‡āĻļāĻŋāĻ°āĻ­āĻžāĻ— āĻ¸āĻŽāĻ¯āĻŧ āĻ†āĻŦāĻ°ā§āĻœāĻ¨āĻž āĻ¸āĻ‚āĻ—ā§āĻ°āĻš āĻ•āĻ°āĻŦā§‡āĨ¤

āĻ•ā§‹āĻĄ āĻ¸ā§āĻĨāĻžāĻĒāĻ¨āĻž - āĻ†āĻĒāĻ¨āĻžāĻ° āĻ¯āĻĻāĻŋ āĻĻā§āĻ°ā§āĻ¤ āĻāĻŦāĻ‚ āĻ¸āĻšāĻœā§‡ āĻāĻŸāĻŋāĻ° āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ āĻšāĻ¯āĻŧ āĻ¤āĻŦā§‡ āĻĻā§‡āĻ–ā§āĻ¨ (r10k āĻ)[https://github.com/puppetlabs/r10k], āĻ›ā§‹āĻŸ āĻ‡āĻ¨āĻ¸ā§āĻŸāĻ˛ā§‡āĻļāĻ¨ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻŸāĻŋ āĻ¯āĻĨā§‡āĻˇā§āĻŸ āĻšāĻ“āĻ¯āĻŧāĻž āĻ‰āĻšāĻŋāĻ¤āĨ¤

āĻ¸āĻ‚āĻ¯ā§‹āĻœāĻ¨ 2: āĻ•ā§‹āĻĄāĻŋāĻ‚ āĻ¨āĻŋāĻ°ā§āĻĻā§‡āĻļāĻŋāĻ•āĻž

  1. āĻ•ā§āĻ˛āĻžāĻ¸ āĻāĻŦāĻ‚ āĻ¸āĻ‚āĻœā§āĻžāĻžāĻ¯āĻŧ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ¯ā§āĻ•ā§āĻ¤āĻŋ āĻ°āĻžāĻ–ā§āĻ¨āĨ¤
  2. āĻ•ā§āĻ˛āĻžāĻ¸ āĻāĻŦāĻ‚ āĻ¸āĻ‚āĻœā§āĻžāĻž āĻŽāĻĄāĻŋāĻ‰āĻ˛ā§‡ āĻ°āĻžāĻ–ā§āĻ¨, āĻ¨ā§‹āĻĄ āĻŦāĻ°ā§āĻŖāĻ¨āĻžāĻ•āĻžāĻ°ā§€ āĻŽā§āĻ¯āĻžāĻ¨āĻŋāĻĢā§‡āĻ¸ā§āĻŸā§‡ āĻ¨āĻ¯āĻŧāĨ¤
  3. āĻ¤āĻĨā§āĻ¯ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§āĻ¨.
  4. āĻšā§‹āĻ¸ā§āĻŸāĻ¨āĻžāĻŽā§‡āĻ° āĻ‰āĻĒāĻ° āĻ­āĻŋāĻ¤ā§āĻ¤āĻŋ āĻ•āĻ°ā§‡ ifs āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻŦā§‡āĻ¨ āĻ¨āĻžāĨ¤
  5. āĻ•ā§āĻ˛āĻžāĻ¸ āĻāĻŦāĻ‚ āĻ¸āĻ‚āĻœā§āĻžāĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ¨āĻŋāĻ°ā§āĻĻā§āĻŦāĻŋāĻ§āĻžāĻ¯āĻŧ āĻĒāĻ°āĻžāĻŽāĻŋāĻ¤āĻŋ āĻ¯ā§‹āĻ— āĻ•āĻ°ā§āĻ¨ - āĻāĻŸāĻŋ āĻ•ā§āĻ˛āĻžāĻ¸/āĻ¸āĻ‚āĻœā§āĻžāĻžāĻ¯āĻŧāĻŋāĻ¤ā§‡āĻ° āĻŽā§‚āĻ˛ āĻ…āĻ‚āĻļā§‡ āĻ˛ā§āĻ•āĻžāĻ¨ā§‹ āĻ…āĻ¨ā§āĻ¤āĻ°ā§āĻ¨āĻŋāĻšāĻŋāĻ¤ āĻ¯ā§āĻ•ā§āĻ¤āĻŋāĻ° āĻšā§‡āĻ¯āĻŧā§‡ āĻ­āĻžāĻ˛āĨ¤

āĻ•ā§‡āĻ¨ āĻ†āĻŽāĻŋ āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§€ āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§ā§‡ āĻāĻŸāĻŋ āĻ•āĻ°āĻžāĻ° āĻĒāĻ°āĻžāĻŽāĻ°ā§āĻļ āĻĻāĻŋāĻšā§āĻ›āĻŋ āĻ¤āĻž āĻ†āĻŽāĻŋ āĻŦā§āĻ¯āĻžāĻ–ā§āĻ¯āĻž āĻ•āĻ°āĻŦāĨ¤

āĻ‰āĻĒāĻ¸āĻ‚āĻšāĻžāĻ°

āĻ­ā§‚āĻŽāĻŋāĻ•āĻž āĻĻāĻŋāĻ¯āĻŧā§‡ āĻļā§‡āĻˇ āĻ•āĻ°āĻž āĻ¯āĻžāĻ•āĨ¤ āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§€ āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§ā§‡ āĻ†āĻŽāĻŋ āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ Hiera, ENC āĻāĻŦāĻ‚ PuppetDB āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡ āĻŦāĻ˛āĻŦāĨ¤

āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§āĻŋāĻ¤ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€āĻ°āĻž āĻœāĻ°āĻŋāĻĒā§‡ āĻ…āĻ‚āĻļāĻ—ā§āĻ°āĻšāĻŖ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°āĻŦā§‡āĻ¨āĨ¤ āĻ¸āĻžāĻ‡āĻ¨ āĻ‡āĻ¨ āĻ•āĻ°ā§āĻ¨āĻ•āĻ°ā§āĻ¨āĨ¤

āĻ†āĻ¸āĻ˛ā§‡, āĻ†āĻ°āĻ“ āĻ…āĻ¨ā§‡āĻ• āĻ‰āĻĒāĻžāĻĻāĻžāĻ¨ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡ - āĻ†āĻŽāĻŋ āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻ–āĻŋāĻ¤ āĻŦāĻŋāĻˇāĻ¯āĻŧāĻ—ā§āĻ˛āĻŋāĻ¤ā§‡ āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§ āĻ˛āĻŋāĻ–āĻ¤ā§‡ āĻĒāĻžāĻ°āĻŋ, āĻ†āĻĒāĻ¨āĻŋ āĻ•ā§‹āĻ¨ āĻŦāĻŋāĻˇāĻ¯āĻŧā§‡ āĻĒāĻĄāĻŧāĻ¤ā§‡ āĻ†āĻ—ā§āĻ°āĻšā§€ āĻšāĻŦā§‡āĻ¨ āĻ¸ā§‡ āĻŦāĻŋāĻˇāĻ¯āĻŧā§‡ āĻ­ā§‹āĻŸ āĻĻāĻŋāĻ¨:

  • 59,1%āĻ‰āĻ¨ā§āĻ¨āĻ¤ āĻĒā§āĻ¤ā§āĻ˛ āĻ¨āĻŋāĻ°ā§āĻŽāĻžāĻŖ - āĻ•āĻŋāĻ›ā§ āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§€ āĻ¸ā§āĻ¤āĻ°ā§‡āĻ° āĻŦāĻŋāĻˇā§āĻ āĻž: āĻ˛ā§āĻĒ, āĻŽā§āĻ¯āĻžāĻĒāĻŋāĻ‚ āĻāĻŦāĻ‚ āĻ…āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻ˛ā§āĻ¯āĻžāĻŽā§āĻŦāĻĄāĻž āĻāĻ•ā§āĻ¸āĻĒā§āĻ°ā§‡āĻļāĻ¨, āĻ°āĻŋāĻ¸ā§‹āĻ°ā§āĻ¸ āĻ¸āĻ‚āĻ—ā§āĻ°āĻžāĻšāĻ•, āĻ°āĻĒā§āĻ¤āĻžāĻ¨āĻŋ āĻ•āĻ°āĻž āĻ¸āĻŽā§āĻĒāĻĻ āĻāĻŦāĻ‚ āĻĒāĻžāĻĒā§‡āĻŸ, āĻŸā§āĻ¯āĻžāĻ—, āĻĒā§āĻ°āĻĻāĻžāĻ¨āĻ•āĻžāĻ°ā§€, āĻŦāĻŋāĻŽā§‚āĻ°ā§āĻ¤ āĻĄā§‡āĻŸāĻž āĻĒā§āĻ°āĻ•āĻžāĻ°ā§‡āĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻ†āĻ¨ā§āĻ¤āĻƒ-āĻšā§‹āĻ¸ā§āĻŸ āĻ¯ā§‹āĻ—āĻžāĻ¯ā§‹āĻ—āĨ¤13
  • 31,8%"āĻ†āĻŽāĻŋ āĻ†āĻŽāĻžāĻ° āĻŽāĻžāĻ¯āĻŧā§‡āĻ° āĻĒā§āĻ°āĻļāĻžāĻ¸āĻ•" āĻŦāĻž āĻ•ā§€āĻ­āĻžāĻŦā§‡ āĻ†āĻŽāĻ°āĻž āĻ†āĻ­āĻŋāĻŸā§‹āĻ¤ā§‡ āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āĻ¨ āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖā§‡āĻ° āĻŦā§‡āĻļ āĻ•āĻ¯āĻŧā§‡āĻ•āĻŸāĻŋ āĻĒāĻĒā§‡āĻŸ āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ°ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻŦāĻ¨ā§āĻ§ā§āĻ¤ā§āĻŦ āĻ•āĻ°ā§‡āĻ›āĻŋ, āĻāĻŦāĻ‚ āĻ¨ā§€āĻ¤āĻŋāĻ—āĻ¤āĻ­āĻžāĻŦā§‡, āĻĒāĻĒā§‡āĻŸ āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ° āĻĒāĻ°āĻŋāĻšāĻžāĻ˛āĻ¨āĻžāĻ° āĻ…āĻ‚āĻļāĨ¤7
  • 81,8%āĻ†āĻŽāĻ°āĻž āĻ•āĻŋāĻ­āĻžāĻŦā§‡ āĻĒā§āĻ¤ā§āĻ˛ āĻ•ā§‹āĻĄ āĻ˛āĻŋāĻ–āĻŋ: āĻ‡āĻ¨ā§āĻ¸āĻŸā§āĻ°ā§āĻŽā§‡āĻ¨ā§āĻŸā§‡āĻļāĻ¨, āĻĄāĻ•ā§āĻŽā§‡āĻ¨ā§āĻŸā§‡āĻļāĻ¨, āĻŸā§‡āĻ¸ā§āĻŸāĻŋāĻ‚, CI/CD.18

22 āĻœāĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€ āĻ­ā§‹āĻŸ āĻĻāĻŋāĻ¯āĻŧā§‡āĻ›ā§‡āĻ¨āĨ¤ 9 āĻœāĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€ āĻŦāĻŋāĻ°āĻ¤ āĻ›āĻŋāĻ˛ā§‡āĻ¨āĨ¤

āĻ‰āĻ¤ā§āĻ¸: www.habr.com