"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > samwise-CLI: 오픈 소스 Terraform 모듈 종속성 추적기

samwise-CLI: 오픈 소스 Terraform 모듈 종속성 추적기

2024-11-07에 게시됨
검색:280

테라폼

Terraform은 HCL(Hashicorp 구성 언어)로 작성된 IaC(Infrastructure-as-Code) 도구입니다. 이 문서에서는 독자가 Terraform을 사용해본 적이 있고 모듈 작동 방식을 이해하고 있다고 가정합니다.

Terraform에서 코딩하는 모든 사람은 자신의 모듈을 만들었거나 적어도 다른 사람의 모듈을 사용했습니다.

Terraform 모듈

모듈은 함께 사용되는 여러 리소스를 담는 컨테이너입니다. 모듈은 디렉터리에 함께 보관되는 .tf 및/또는 .tf.json 파일 모음으로 구성됩니다.

모듈은 Terraform을 사용하여 리소스 구성을 패키징하고 재사용하는 주요 방법입니다.

모듈은 Terraform 레지스트리 또는 GitLab과 같은 레지스트리에 게시될 수 있습니다. HTTPS 또는 SSH URL을 제공하여 Git 리포지토리에서 모듈을 제공할 수도 있습니다. 버전도 지정할 수 있습니다. 예를 들어,

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

버전 지정:

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

도전

리포지토리가 성장하고 다른 리포지토리의 모듈을 참조함에 따라 소스의 업스트림 변경으로 인해 인프라가 손상되지 않도록 모듈 버전을 합리적으로 관리해야 합니다. 그러나 사용 중인 모듈의 모든 새 릴리스를 추적하는 것은 어렵고 정기적으로 추적하는 것은 더욱 어렵습니다. 해결되지 않은 채, 어느 날 핵심 모듈이 이제 3개의 주요 버전보다 앞서 있다는 사실을 알게 되면서 기술 부채로 초과 근무가 쌓이게 됩니다.

해결책

저장소의 Terraform/OpenTofu 종속성 업스트림을 추적하는 데 도움이 되는 도구인 samwise-cli를 소개합니다. 저장소에서 모듈 사용을 검색하고 현재 사용되는 버전보다 더 발전된 모든 버전과 함께 사용 가능한 업데이트가 있는 모듈에 대한 보고서를 생성합니다.

samwise-CLI: The Open Source Terraform module dependency tracker

현재는 명령이 하나만 있지만 도구가 개발되면 더 많은 명령이 추가될 예정입니다.

당분간 무작위 저장소

samwise-CLI: The Open Source Terraform module dependency tracker 다스테크 / samwise-cli

한 용감한 Hobbit이 Frodo를 도와준 것처럼 Terraform 모듈 여정에 동행하고 모듈 종속성 업데이트 부담을 공유하는 CLI 애플리케이션입니다. :)

샘와이즈

한 용감한 Hobbit이 Frodo를 도운 것처럼 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