«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > samwise-CLI: трекер зависимостей модуля Terraform с открытым исходным кодом.

samwise-CLI: трекер зависимостей модуля Terraform с открытым исходным кодом.

Опубликовано 7 ноября 2024 г.
Просматривать:566

Терраформировать

Terraform — это инструмент «Инфраструктура как код» (IaC), написанный на языке конфигурации Hashicorp (HCL). В этой статье предполагается, что читатель работал с Terraform и понимает, как работают модули.

Каждый, кто программирует в Terraform, либо создал свои собственные модули, либо, по крайней мере, использовал чужие.

Модули Терраформ

Модули — это контейнеры для нескольких ресурсов, которые используются вместе. Модуль состоит из набора файлов .tf и/или .tf.json, хранящихся вместе в каталоге.

Модули — это основной способ упаковки и повторного использования конфигураций ресурсов с помощью Terraform.

Модули можно публиковать в таких реестрах, как Terraform или GitLab. Модули также можно обслуживать из репозиториев Git, предоставив URL-адреса HTTPS или SSH. Они также могут иметь версии. Например,

module "consul" {
  source = "github.com/hashicorp/example"
}

Версия:

module "consul" {
  source = "github.com/hashicorp/example?ref=1.2.6"
}

Испытание

По мере того, как ваши репозитории растут, и вы ссылаетесь на свои модули в других репозиториях, вам следует разумно создавать версии своих модулей, чтобы гарантировать, что исходные изменения в исходном коде не нарушат вашу инфраструктуру. Однако сложно отслеживать все новые выпуски используемых модулей, а еще труднее делать это регулярно. Если оставить это без внимания, это приведет к сверхурочной работе в виде технического долга, поскольку однажды вы обнаружите, что основной модуль теперь опережает три основные версии.

Решение

Представляем samwise-cli, инструмент, помогающий отслеживать исходящие зависимости Terraform/OpenTofu вашего репозитория. Ищет в вашем репозитории использование модулей и генерирует отчет о модулях, для которых доступны обновления, а также обо всех более продвинутых версиях, чем используемая в данный момент версия.

samwise-CLI: The Open Source Terraform module dependency tracker

На данный момент существует только одна команда, но, надеюсь, по мере развития инструмента их будет больше.

Случайное репо на данный момент

samwise-CLI: The Open Source Terraform module dependency tracker Дарт-Тех / Samwise-Cli

Приложение CLI, которое будет сопровождать вас в путешествии по модулю terraform и делиться вашим бременем обновлений зависимостей модулей, так же, как один храбрый хоббит помогал Фродо нести его :)

то же самое

Приложение CLI, которое будет сопровождать вас в путешествии по модулю терраформирования и делиться вашим бременем обновлений зависимостей модулей, так же, как один храбрый хоббит помогал Фродо нести его :)

samwise-CLI: The Open Source Terraform module dependency tracker

%,( "' /%% / Cccc' (cause I couldn't find good enough Samwise Gamgee ASCII art) Frodo by Shanaka Dias">
                       \ : /
                    '-: __ :-'
                    -:  )(_ :--
                    -' |r-_i'-
            ,sSSSSs,   (2-,7
            sS';:'`Ss   )-j
           ;K e (e s7  /  (
            S, ''  SJ (  ;/
            sL_~~_;(S_)  _7
|,          'J)_.-' />'-' `Z
j J         /-;-A'-'|'--'-j\
 L L        )  |/   :    /  \
  \ \       | | |    '._.'|  L
   \ \      | | |       | \  J
    \ \    _/ | |       |  ',|
     \ L.,' | | |       |   |/
    _;-r-<_. __. _ l- l>…
Просмотреть на GitHub

проверка на обновления

samwise-CLI: The Open Source Terraform module dependency tracker

Чтобы это работало там, где модули используют частные репозитории GitHub, файл конфигурации .samwise.yaml должен быть передан в качестве аргумента или должен присутствовать в домашнем каталоге пользователя.

.samwise.yaml формат:

github_key:
github_username:

В настоящее время поддерживается только аутентификация GitHub HTTPS, но скоро будет поддерживаться аутентификация SSH.

Результат

Формат CSV
samwise-CLI: The Open Source Terraform module dependency tracker

Формат JSON
samwise-CLI: The Open Source Terraform module dependency tracker

Ограничения (или лучше описать как функции, которые необходимо добавить)

  • Аутентификация SSH для получения источников модуля
  • Отслеживание модуля реестра Hashicorp (у них есть API для списка версий здесь)

Контекст имени

Я люблю «Властелин колец» :)

Заявление о выпуске Эта статья воспроизведена по адресу: https://dev.to/thundersparkf/samwise-cli-the-open-source-terraform-module-dependent-tracker-3b1e?1 Если есть какие-либо нарушения, пожалуйста, свяжитесь с [email protected] удалить его
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3