개요
(주) 에딘트에서의 Terraform 도입기를 다룬 Terraform Journey in Startup
(주) 캐리버스에서 중간 점검을 위해 작성한 스타트업 스타트업 Terraform 도입기에서 가장 큰 차이점은 Terraform Module을 더 적극적으로 사용했다는 점입니다.
공용 Terraform Module을 만들고 사용하며
각 Terraform Module에 대한 문서화의 자동화가 필요해졌습니다.
이에 대한 대안으로 terraform-docs를 사용하여 각 모듈에 대한 문서화 자동화를 했습니다.
Installation
MacOS를 사용하기 때문에 다음과 같이 terraform-docs를 설치했습니다
brew install terraform-docs/tap/terraform-docs
Get Started
Terraform Docs의 사용은 매우 간단합니다.
terraform-docs markdown /path/to/module
저는 componentes/, modules/ 두 경로에 개별 모듈을 관리하고 있습니다.
각 폴더의 하위에는 천여개의 크고 작은 모듈이 존재하기에 간단한 ShellScript를 작성했습니다.
DIR=$1
if [ -z "$1" ]; then
echo "[ERROR]./docs.sh DIR 중에서 DIR이 누락되었습니다."
exit 127
fi
TF_DIRS=$(find "$DIR" -type f -name "*.tf" -exec dirname {} \; | sort -u)
for TF_DIR in $TF_DIRS; do
echo $TF_DIR
terraform-docs markdown $TF_DIR > "$TF_DIR/README.md"
done
스크립트 실행은 다음과 같습니다.
chmod +x script.sh
./script.sh components
./script.sh modules
이제 이 파일을 Terraform CI/CD의 적합한 부분에 추가하는 것으로 손쉽게 모듈 문서화가 가능합니다.
Share article