Выпуск OpenTofu 1.7, Ρ„ΠΎΡ€ΠΊΠ° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ управлСния ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠ΅ΠΉ Terraform

ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²Π»Π΅Π½ выпуск ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° OpenTofu 1.7, ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°ΡŽΡ‰Π΅Π³ΠΎ Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΠ΅ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠΉ ΠΊΠΎΠ΄ΠΎΠ²ΠΎΠΉ Π±Π°Π·Ρ‹ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ управлСния ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠ΅ΠΉ ΠΈ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ поддСрТания инфраструктуры Terraform. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° OpenTofu вСдётся ΠΏΠΎΠ΄ ΠΏΠΎΠΊΡ€ΠΎΠ²ΠΈΡ‚Π΅Π»ΡŒΡΡ‚Π²ΠΎΠΌ ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ Linux Foundation с использованиСм ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ управлСния ΠΏΡ€ΠΈ участии сообщСства, сформированного ΠΈΠ· заинтСрСсованных Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΉ ΠΈ энтузиастов (ΠΎ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° объявили 161 компания ΠΈ 792 ΠΈΠ½Π΄ΠΈΠ²ΠΈΠ΄ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°). Код ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° написан Π½Π° языкС Go ΠΈ распространяСтся ΠΏΠΎΠ΄ Π»ΠΈΡ†Π΅Π½Π·ΠΈΠ΅ΠΉ MPL 2.0.

Π€ΠΎΡ€ΠΊ создан Π² ΠΎΡ‚Π²Π΅Ρ‚ Π½Π° ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠ΅ΠΉ HashiCorp своих ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΎΠ² Π½Π° ΠΏΡ€ΠΎΠΏΡ€ΠΈΠ΅Ρ‚Π°Ρ€Π½ΡƒΡŽ Π»ΠΈΡ†Π΅Π½Π·ΠΈΡŽ BSL 1.1, ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠ²Π°ΡŽΡ‰ΡƒΡŽ использованиС ΠΊΠΎΠ΄Π° Π² ΠΎΠ±Π»Π°Ρ‡Π½Ρ‹Ρ… систСмах, ΠΊΠΎΠ½ΠΊΡƒΡ€ΠΈΡ€ΡƒΡŽΡ‰ΠΈΡ… с ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π°ΠΌΠΈ ΠΈ сСрвисами HashiCorp. CΠΌΠ΅Π½Π° Π»ΠΈΡ†Π΅Π½Π·ΠΈΠΈ ΠΎΠ±ΡŠΡΡΠ½ΡΠ΅Ρ‚ΡΡ ΠΆΠ΅Π»Π°Π½ΠΈΠ΅ΠΌ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ финансированиС своих Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΎΠΊ Π² условиях нСспособности классичСских ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ лицСнзирования ΠΏΡ€ΠΎΡ‚ΠΈΠ²ΠΎΡΡ‚ΠΎΡΡ‚ΡŒ ΠΏΠ°Ρ€Π°Π·ΠΈΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΉ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΡ… Π³ΠΎΡ‚ΠΎΠ²Ρ‹Π΅ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹Π΅ исходныС тСксты Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΎΠΊ HashiCorp для создания собствСнных коммСрчСских ΠΎΠ±Π»Π°Ρ‡Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΎΠ² Π±Π΅Π· участия Π² совмСстной Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅.

ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ для построСния, измСнСния ΠΈ вСрсионирования инфраструктуры Π² соотвСтствии с ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠ΅ΠΉ инфраструктура ΠΊΠ°ΠΊ ΠΊΠΎΠ΄, ΠΏΡ€ΠΈ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ конфигурация систСм описываСтся Π½Π° высокоуровнСвом ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΌ языкС ΠΈ обрабатываСтся ΠΏΠΎ Π°Π½Π°Π»ΠΎΠ³ΠΈΠΈ с ΠΊΠΎΠ΄ΠΎΠΌ. OpenTofu ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ построСниС Π³Ρ€Π°Ρ„Π° рСсурсов, ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‰Π΅Π³ΠΎ всС связи ΠΌΠ΅ΠΆΠ΄Ρƒ рСсурсами для эффСктивного распараллСливания ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ Π½Π°Π΄ рСсурсами ΠΈ внСсСния ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ с ΡƒΡ‡Ρ‘Ρ‚ΠΎΠΌ зависимостСй.

OpenTofu Ρ‚Π°ΠΊΠΆΠ΅ позволяСт Π½Π° основании Π·Π°Π΄Π°Π½Π½ΠΎΠΉ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ»Π°Π½ исполнСния (Execution Plan), ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠΉ ΠΎΡ†Π΅Π½ΠΈΡ‚ΡŒ дСйствия с инфраструктурой Π΄ΠΎ ΠΈΡ… фактичСского примСнСния ΠΊ инфраструктурС. Π‘Π»ΠΎΠΆΠ½Ρ‹Π΅ измСнСния Π² инфраструктуру ΠΌΠΎΠ³ΡƒΡ‚ Π²Π½ΠΎΡΠΈΡ‚ΡŒΡΡ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎ, ΠΏΡ€ΠΈ минимальном участии администратора, Ρ‡Ρ‚ΠΎ позволяСт ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΈΡ… ошибок, Π²Ρ‹Π·Π²Π°Π½Π½Ρ‹Ρ… чСловСчСским Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΎΠΌ. ΠŸΡ€ΠΈ этом администратор ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΠΎΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΈΠΌΠ΅Π½Π½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΎ ΠΈ Π² ΠΊΠ°ΠΊΠΎΠΌ порядкС, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ прСдоставлСнныС ΠΏΠ»Π°Π½ исполнСния ΠΈ Π³Ρ€Π°Ρ„ рСсурсов.

Π‘Ρ€Π΅Π΄ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² вСрсии OpenTofu 1.7:

  • Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π·Π°Ρ‰ΠΈΡ‚Ρ‹ Π²Π°ΠΆΠ½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ² состояния с использованиСм сквозного ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ. Π¨ΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΠ΅ позволяСт ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ доступ посторонних ΠΊ Π΄Π°Π½Π½Ρ‹ΠΌ Ρ„Π°ΠΉΠ»Π°ΠΌ ΠΏΡ€ΠΈ использовании бэкСндов хранСния, Π½Π΅ Π·Π°ΡΠ»ΡƒΠΆΠΈΠ²Π°ΡŽΡ‰ΠΈΡ… довСрия. ΠŸΠ°Ρ€ΠΎΠ»ΡŒ для ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°Π΄Π°Π²Π°Ρ‚ΡŒΡΡ с использованиСм ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠΉ ΠΈΠ»ΠΈ систСм управлСния ΠΊΠ»ΡŽΡ‡Π°ΠΌΠΈ, Ρ‚Π°ΠΊΠΈΠΌΠΈ ΠΊΠ°ΠΊ AWS KMS, GCP KMS ΠΈ OpenBao.
  • ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° динамичСских Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, опрСдСляСмых ΠΏΡ€ΠΎΠ²Π°ΠΉΠ΄Π΅Ρ€ΠΎΠΌ. Указанная Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ позволяСт ΠΏΡ€ΠΎΠ²Π°ΠΉΠ΄Π΅Ρ€Ρƒ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ рСсурсы, Π½ΠΎ ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ для использования Π² ΠΊΠΎΠ΄Π΅ OpenTofu. Π‘ΠΎΠ»Π΅Π΅ Ρ‚ΠΎΠ³ΠΎ, Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒΡΡ ΠΏΡ€ΠΎΠ²Π°ΠΉΠ΄Π΅Ρ€ΠΎΠΌ динамичСски, Π² зависимости ΠΎΡ‚ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ. ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° прСдставлСнной Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΡƒΠΆΠ΅ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π² ΡΠΊΡΠΏΠ΅Ρ€ΠΈΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΡ€ΠΎΠ²Π°ΠΉΠ΄Π΅Ρ€Ρ‹ Lua ΠΈ Go.
  • Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ‹ Π΄Π΅ΠΊΠ»Π°Ρ€Π°Ρ‚ΠΈΠ²Π½Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ удалСния, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠ΅ ΠΏΠΎΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ рСсурс для удалСния ΠΈΠ· Ρ„Π°ΠΉΠ»Π° состояния, Π½ΠΎ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π΅Π³ΠΎ Π² созданной инфраструктурС.
  • Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ примСнСния Ρ†ΠΈΠΊΠ»ΠΎΠ² «for_each» Π² Π±Π»ΠΎΠΊΠ°Ρ…, ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²Π»ΡΡŽΡ‰ΠΈΡ… ΠΈΠΌΠΏΠΎΡ€Ρ‚, для упрощСния импортирования Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Ρ‚ΠΈΠΏΠΎΠ²Ρ‹Ρ… рСсурсов.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: opennet.ru