Terraform은 HCL(Hashicorp 구성 언어)로 작성된 IaC(Infrastructure-as-Code) 도구입니다. 이 문서에서는 독자가 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를 소개합니다. 저장소에서 모듈 사용을 검색하고 현재 사용되는 버전보다 더 발전된 모든 버전과 함께 사용 가능한 업데이트가 있는 모듈에 대한 보고서를 생성합니다.
현재는 명령이 하나뿐이지만 도구가 개발되면 더 많은 명령이 추가될 예정입니다.
당분간 랜덤 레포
한 용감한 Hobbit이 Frodo를 도운 것처럼 Terraform 모듈 여정에 동행하고 모듈 종속성 업데이트 부담을 공유하는 CLI 애플리케이션입니다. :)
\ : / '-: __ :-' -: )(_ :-- -' |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 ;| | /| /| ; | / | | | ; | ) | | | ;| | / | | ;| || | | | L-'|____|| )/ | % %/ '-,-…
For this to run where modules are using private GitHub repositories, .samwise.yaml config file needs to passed as an argument or needs to be present at the user's home directory.
.samwise.yaml format:
github_key: github_username:
Currently only GitHub HTTPS authentication is supported but SSH authentication will be supported soon.
CSV Format
JSON Format
I love Lord of the Rings :)
위 내용은 samwise-CLI: 오픈 소스 Terraform 모듈 종속성 추적기의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!