Ansible рдЯреЙрд╡рд░: рд╡рд░реНрдХрдлрд╝реНрд▓реЛ рдЬреЙрдм рдЯреЗрдореНрдкрд▓реЗрдЯ

рд╡рд╛рдХреНрдпрд╛рдВрд╢ "рдХрд╛рд░реНрдпреЛрдВ рдХреА рдзрд╛рд░рд╛" рдЕрдкрдиреЗ рд▓рд┐рдП рдмреЛрд▓рддрд╛ рд╣реИред рдпрд╣ Ansible рдЯреЙрд╡рд░ рдлреАрдЪрд░ 3.1 рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рджрд┐рдЦрд╛рдИ рджрд┐рдпрд╛ рдФрд░ рдЖрдкрдХреЛ рдиреМрдХрд░реА рдЯреЗрдореНрдкрд▓реЗрдЯреНрд╕ рдХреЗ рд╕рдВрдпреЛрдЬрди рдХреЗ рд╕рд╛рде-рд╕рд╛рде рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдФрд░ рдЗрдиреНрд╡реЗрдВрдЯреНрд░реА рдХреЗ рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝реЗрд╢рди (syncs) рдХреЗ рд░реВрдк рдореЗрдВ рд╕рдВрдЪрд╛рд▓рди рдХреЗ рдПрдХ рдЕрдиреБрдХреНрд░рдо рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдФрд░ рдлрд┐рд░ рдЗрд╕ рдХреНрд░рдо рдХреЛ рд╕рдВрдкреВрд░реНрдг рд░реВрдк рд╕реЗ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рддрд╛ рд╣реИред рджреВрд╕рд░реЗ рд╢рдмреНрджреЛрдВ рдореЗрдВ, рдЯрд╛рд╕реНрдХ рд╕реНрдЯреНрд░реАрдо рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╕рдореВрд╣реЛрдВ рдореЗрдВ рдкреНрд▓реЗрдмреБрдХ рдФрд░ рдЯрд╛рд╕реНрдХ рдЯреЗрдореНрдкрд▓реЗрдЯ рдХреЛ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддреА рд╣реИред



рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ рдХрд┐ рдХрд╛рд░реНрдп рдкреНрд░рд╡рд╛рд╣ рдХреЗ рд▓рд┐рдП рдХреМрди рд╕реЗ рдЯреЗрдореНрдкрд▓реЗрдЯ рд╣реИрдВ, рдЙрдирдХреЗ рд▓рд╛рдн рдХреНрдпрд╛ рд╣реИрдВ, рдЙрдиреНрд╣реЗрдВ рдХреИрд╕реЗ рдмрдирд╛рдПрдВ рдФрд░ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ, рд╕рд╛рде рд╣реА рдЙрдирдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рдХрдИ рдЕрдиреНрдп рдЙрдкрдпреЛрдЧреА рдмрд┐рдВрджреБ рднреАред

рдЙрдкрдпреЛрдЧреА рдХрд╛рд░реНрдп рдзрд╛рд░рд╛рдПрдБ рдХреНрдпрд╛ рд╣реИрдВ


рд╡реЗ рдЯреАрдореЛрдВ рдХреЗ рдЗрдВрдЯрд░реИрдХреНрд╢рди рдХреЛ рдФрдкрдЪрд╛рд░рд┐рдХ рд░реВрдк рджреЗрдиреЗ рдФрд░ рдЙрдиреНрд╣реЗрдВ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдиреЗрдЯрд╡рд░реНрдХрд░реНрд╕ рдФрд░ рдбреЗрд╡рд▓рдкрд░реНрд╕, рдЙрдиреНрд╣реЗрдВ рд╕рдВрдмрдВрдзрд┐рдд рдХрд╛рд░реНрдп рдкреНрд░рд╡рд╛рд╣ рддрдХ рдкрд╣реБрдВрдЪ рдкреНрд░рджрд╛рди рдХрд░рддреЗ рд╣реИрдВред рдЙрд╕реА рд╕рдордп, рдкреНрд░рддрд┐рднрд╛рдЧрд┐рдпреЛрдВ рдХреЛ рд╕реНрдЯреНрд░реАрдо рдХреЗ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдкреВрд░рд╛ рдХрд░рдиреЗ рдХреА рд░рдЪрдирд╛ рдФрд░ рдХреНрд░рдо рдХреЛ рдЬрд╛рдирдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рд╕рдм рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЗрд╕реЗ рдмрдирд╛рдиреЗ рд╡рд╛рд▓реЛрдВ рджреНрд╡рд╛рд░рд╛ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рдХрд╛рд░реЛрдВ рдФрд░ рдПрдХреАрдХреГрдд рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдЬреЛрдбрд╝рдХрд░, рдХрд╛рд░реНрдп рдкреНрд░рд╡рд╛рд╣ рдПрдХ рдЯреАрдо рдХреЗ рдкреНрд░рддрд┐рдирд┐рдзрд┐рдпреЛрдВ рдХреЛ рдпрд╣ рд╕рдордЭрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╕реЗ рд░рд╛рд╣рдд рджреЗрддрд╛ рд╣реИ рдХрд┐ рджреВрд╕рд░реА рдЯреАрдо рдХреНрдпрд╛ рдХрд░ рд░рд╣реА рд╣реИ, рдФрд░ рдЗрд╕рдХреЗ рд╡рд┐рдкрд░реАрддред

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рдкреНрд░рд╡рд╛рд╣ рдЖрдкрдХреЛ рдХрд┐рд╕реА рднреА рдЬрдЯрд┐рд▓рддрд╛ рдХреА рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рд╢реНрд░реГрдВрдЦрд▓рд╛ рдореЗрдВ рдмрд┐рд▓реНрдХреБрд▓ рдХрд┐рд╕реА рднреА рдкреНрд▓реЗрдмреБрдХ рдХреЛ рд▓рд┐рдВрдХ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдЬрд╣рд╛рдВ рдХрд╛рд░реНрдп рдХреЛ рдкреВрд░рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдЧрд▓реЗ рдПрдХ рдХреЛ рдЪреБрдирдирд╛ рдкрд┐рдЫрд▓реЗ рдПрдХ рдХреА рд╕рдлрд▓рддрд╛ рдпрд╛ рд╡рд┐рдлрд▓рддрд╛ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИред

рдЙрдиреНрд╣реЗрдВ рдХреИрд╕реЗ рдмрдирд╛рдпрд╛ рдЬрд╛рдП


рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдХреЛ Ansible рдЯреЙрд╡рд░ рдореБрдЦреНрдп рдореЗрдиреВ рдореЗрдВ:



рдлрд┐рд░ рдЬреЛрдбрд╝реЗрдВ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ, рдФрд░ рд╡рд░реНрдХрдлрд╝реНрд▓реЛ рдЯреЗрдореНрдкрд▓реЗрдЯ рдЪреБрдиреЗрдВ:



рдПрдХ рд╕реНрдХреНрд░реАрди рджрд┐рдЦрд╛рдИ рджреЗрдЧреА рдЬрд╣рд╛рдВ рдЖрдк рдПрдХ рдирд╛рдо рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдХрд╛рд░реНрдп рдкреНрд░рд╡рд╛рд╣ рдЯреЗрдореНрдкрд▓реЗрдЯ рдХреЛ рдмрдЪрд╛ рд╕рдХрддреЗ рд╣реИрдВ:



рдПрдХ рдмрд╛рд░ рд╣реЛ рдЬрд╛рдиреЗ рдХреЗ рдмрд╛рдж, рд╡рд░реНрдХрдлрд╝реНрд▓реЛ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ :



рдПрдХ рд╕реНрдХреНрд░реАрди рджрд┐рдЦрд╛рдИ рджреЗрдЧреА рдЬрд╣рд╛рдВ рдЖрдк рдЯрд╛рд╕реНрдХ рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЙрдирдХреЗ рд▓реЙрдиреНрдЪ рдХреЗ рд▓рд┐рдП рд╕реНрдерд┐рддрд┐рдпрд╛рдВ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ (рддреНрд░реБрдЯрд┐ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдпрд╛ рд╕рдлрд▓ рдирд┐рд╖реНрдкрд╛рджрди рдкрд░, рдпрд╛ рдЕрдирдЬрд╛рдиреЗ рдореЗрдВ:



рд▓реЙрдиреНрдЪ рдХреА рд╕реНрдерд┐рддрд┐ рджрд╛рдИрдВ рдУрд░ рдкреИрдирд▓ рдХреЗ рдиреАрдЪреЗ рд╕реЗрдЯ рдХреА рдЧрдИ рд╣реИ:



рдмрд╣реБрдд рдЖрд╕рд╛рди рд╣реЛ рд╕рдХрддрд╛ рд╣реИ ...



... рдФрд░ рдмрд╣реБрдд рдЬрдЯрд┐рд▓:



рдХрд╛рд░реНрдп рдкреНрд░рд╡рд╛рд╣ рдЯреЗрдореНрдкрд▓реЗрдЯ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдФрд░ рд╕рд╣реЗрдЬрдиреЗ рдХреЗ рдмрд╛рдж, рдЖрдк рдЗрд╕реЗ рдЪрд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЯреЗрдореНрдкрд▓реЗрдЯ рдирд╛рдо рдХреЗ рджрд╛рдИрдВ рдУрд░ рд╕реНрдерд┐рдд рд░реЙрдХреЗрдЯ рдЖрдЗрдХрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ:



рдиреМрдХрд░реА рдХреА рдзрд╛рд░рд╛рдУрдВ рдХреЗ рд╕рд╛рде рдЖрдк рдФрд░ рдХреНрдпрд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ


рдЗрдиреНрд╣реЗрдВ рддрдп рд╕рдордп рдкрд░ рдЪрд▓рд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ ред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╡рд░реНрдХрдлрд╝реНрд▓реЛ рдЯреЗрдореНрдкрд▓реЗрдЯ рдХреЗ рдирд╛рдо рдХреЗ рдмрдЧрд▓ рдореЗрдВ рд╕реНрдерд┐рдд рдХреИрд▓реЗрдВрдбрд░ рдЖрдЗрдХрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ:



... рдФрд░ рдЗрд╕рдХреЗ рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рд╡рд┐рдХрд▓реНрдк рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░реЗрдВ:



рдХрд╛рд░реНрдп рдкреНрд░рд╡рд╛рд╣ рдЯреЗрдореНрдкрд▓реЗрдЯ рдХреА рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдиреАрдЪреЗ рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рдореЗрдВ рддреАрд░ рдХреЗ рд╕рд╛рде рдЪрд┐рд╣реНрдирд┐рдд рдЖрдЗрдХрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ:



рд╣рд╛рд▓рд╛рдВрдХрд┐, рдпрд╣ рдзреНрдпрд╛рди рд░рдЦреЗрдВ рдХрд┐ рдиреМрдХрд░реА рдХреА рд╕реНрдЯреНрд░реАрдо рдХреЙрдкреА рдХрд░рддреЗ рд╕рдордп, рдЗрд╕рдХреА рдЕрдиреБрдорддрд┐, рдЕрдзрд┐рд╕реВрдЪрдирд╛ рдФрд░ рд╢реЗрдбреНрдпреВрд▓ рдХреА рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдирд╣реАрдВ рдмрдирд╛рдИ рдЬрд╛рддреА рд╣реИред

рдпрджрд┐ рдЖрдкрдХреЛ рдХрд╛рд░реНрдп рдкреНрд░рд╡рд╛рд╣ рдЯреЗрдореНрдкрд▓реЗрдЯ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдкреНрд▓реЗрдмреБрдХ рдХреЗ рд▓рд┐рдП рдЕрддрд┐рд░рд┐рдХреНрдд рдЪрд░ рд╕реЗрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдФрд░ / рдпрд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕реЗ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рдЗрдирдкреБрдЯ рдХреЛ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд░рдирд╛ рд╣реИ, рддреЛ рдпрд╣ рдЪреБрдирд╛рд╡ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдПрдХ рд╕рд░реНрд╡реЗрдХреНрд╖рдг рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдХрд╛рд░реНрдп рдкреНрд░рд╡рд╛рд╣ рдЯреЗрдореНрдкрд▓реЗрдЯ рдХрд╛ рдЪрдпрди рдХрд░реЗрдВ рдФрд░ рд╕рд░реНрд╡реЗрдХреНрд╖рдг рдЬреЛрдбрд╝реЗрдВ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ:



рдПрдХ рд╕рд░реНрд╡реЗрдХреНрд╖рдг рд╕реНрдХреНрд░реАрди рджрд┐рдЦрд╛рдИ рджреЗрдЧреА рдЬрд╣рд╛рдВ рдЖрдк рдкреНрд░рд╢реНрди рдкреВрдЫ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЙрддреНрддрд░ рдХреЗ рдкреНрд░рдХрд╛рд░ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:



рд╕реВрдЪрдирд╛рдПрдВ рдЖрдкрдХреЛ рдиреМрдХрд░реА рдзрд╛рд░рд╛рдУрдВ рдХреА рдкреНрд░рдЧрддрд┐ рдХреЛ рдЯреНрд░реИрдХ рдХрд░рдиреЗ рджреЗрддреА рд╣реИрдВред рдмрд╕ рдЙрд╕ рдиреМрдХрд░реА рд╕реНрдЯреНрд░реАрдо рдХрд╛ рдЪрдпрди рдХрд░реЗрдВ рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рдЖрдк рд╕реВрдЪрдирд╛рдУрдВ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдФрд░ рд╕реВрдЪрдирд╛рдПрдВ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ:



рдХреГрдкрдпрд╛ рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдЕрдзрд┐рд╕реВрдЪрдирд╛ рд╕реВрдЪреА рдореЗрдВ рдХреБрдЫ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдпрд╛рдБ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╣реИрдВред рдЗрд╕рд▓рд┐рдП, рдЦреБрд▓рдиреЗ рд╡рд╛рд▓реА рд╕реНрдХреНрд░реАрди рдкрд░, рдЖрдкрдХреЛ рдпрд╣ рдЪреБрдирдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдХреЛ рдХреНрдпрд╛ рдЪрд╛рд╣рд┐рдП, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╕реНрдХреНрд░реАрди рдкрд░, рд╣рдордиреЗ рд╡рд░реНрдХрдлрд╝реНрд▓реЛ-рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЕрдзрд┐рд╕реВрдЪрдирд╛ рдЕрдзрд┐рд╕реВрдЪрдирд╛ рдХрд╛ рдЪрдпрди рдХрд┐рдпрд╛, рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рд╕рдХреНрд░рд┐рдпрддрд╛ рд╕рдлрд▓ рдФрд░ рдЕрд╕рдлрд▓ рджреЛрдиреЛрдВ рдХреЗ рд▓рд┐рдП рдирд┐рд░реНрдзрд╛рд░рд┐рдд рд╣реИ:



рдиреЛрдЯ: рдпрджрд┐ рдЖрдк рдирдпрд╛ рдХрд╛рд░реНрдп рдкреНрд░рд╡рд╛рд╣ рдЯреЗрдореНрдкрд▓реЗрдЯ рдмрдирд╛рддреЗ рд╕рдордп рдбрд╛рдпрдирд╛рдорд┐рдХ рдЗрдиреНрд╡реЗрдВрдЯреНрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рдЗрд╕ рдЗрдиреНрд╡реЗрдВрдЯреНрд░реА рдХреЗ рд▓рд┐рдП рд▓реЙрдиреНрдЪ рд╡рд┐рдХрд▓реНрдк рдкрд░ рдЕрдкрдбреЗрдЯ рд╕рдХреНрд╖рдо рд╣реИред

рдирд┐рд╖реНрдХрд░реНрд╖


рдЗрд╕рд▓рд┐рдП, рд╣рдордиреЗ рд╕реАрдЦрд╛ рдХрд┐ рдореМрдЬреВрджрд╛ рдкреНрд▓реЗрдмреБрдХ рдХреЛ рдЬреЛрдбрд╝рдХрд░ рдирд┐рд░реНрдгрдп рдХрд╛ рдкреЗрдбрд╝ рдХреИрд╕реЗ рдмрдирд╛рдпрд╛ рдЬрд╛рдП, рдЙрди рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓реЙрдиреНрдЪ рдХреА рд╕реНрдерд╛рдкрдирд╛ рдХреА рдЬрд╛рдП рдЬреЛ рдЙрдирдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рд╣реИрдВ, рдФрд░ рд╕реВрдЪрдирд╛рдПрдВ рддреИрдпрд╛рд░ рдХрд░рддреЗ рд╣реИрдВред рдпрд╣ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЕрдЪреНрдЫрд╛ рд╣реИ рдХрд┐ рдпреЗ рд╕рднреА рд╕реБрд╡рд┐рдзрд╛рдПрдБ рди рдХреЗрд╡рд▓ Ansible Tower рдХреЗ рдХреЙрд░реНрдкреЛрд░реЗрдЯ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдЙрдкрд▓рдмреНрдз рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдЖрдк рдЕрднреА рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рдзрд╛рдЧреЗ рд╕реЗ рдЦреЗрд▓ рд╕рдХрддреЗ рд╣реИрдВред

рдЖрдк рдПрдХ рд╡рд┐рд╢реЗрд╖ рд╡реЗрдмрд┐рдирд╛рд░ рдореЗрдВ рдФрд░ рдЗрд╕ рдкреЛрд╕реНрдЯ рдкрд░ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдореЗрдВ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ Ansible рдкреНрд░рд▓реЗрдЦрди рдореЗрдВ рдХрд╛рд░реНрдп рдкреНрд░рд╡рд╛рд╣ рдЯреЗрдореНрдкрд▓реЗрдЯ рдмрдирд╛рдиреЗ рдФрд░ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рддрд░реАрдХреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдЬрд╛рди рд╕рдХрддреЗ рд╣реИрдВред

Source: https://habr.com/ru/post/hi432294/


All Articles