Pre-Commit으로 자격 증명이 없는 Terraform 파이프라인 개선
이전 게시물에서는 자격 증명이 없는 Terraform 파이프라인을 만들었지만 이 게시물에서는 Pre-Commit 을 사용하여 이를 개선하려고 합니다.
사전 커밋
이는 개발자가 유효하지 않거나 팀의 코딩 표준을 준수하지 않는 코드를 커밋하는 것을 방지하는 데 유용합니다. 파이프라인 내부에서 사용할 수 있고 로컬에서 실행할 수 있으므로 유효성 검사 간에 일관성을 제공해야 합니다.
다음은 기본 수준의 서식 지정 및 파일 유효성 검사를 제공하는 데 사용할 수 있는 .pre-commit-config.yaml 파일의 예입니다.
repos:
- repo: https://github.com/antonbabenko/pre-commit-terraform
rev: v1.64.1
hooks:
# Ensure coding standards are met e.g. snake_case or camelCase. Also comment format.
- id: terraform_tflint
# Ensure that the file formatting is correct.
- id: terraform_fmt
# Static analysis of potential security issues. TFSec also can be an option.
- id: checkov
# Provide automated documentation to the readme file.
- id: terraform_docs
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v4.0.1
hooks:
- id: trailing-whitespace
- id: end-of-file-fixer
- id: check-yaml
- id: check-json
테라폼 린트
Terraform Lint는 terraform 코드에서 발생할 수 있는 오류를 찾고, 사용되지 않는 구문에 대해 알려주고, snake_case 대 camelCase와 같은 모범 사례를 시행하는 데 도움을 줄 수 있습니다.
테라포밍 형식
Terraform 형식은 일관성을 강화하여 코드의 가독성을 개선하고 커밋의 노이즈를 줄일 수 있습니다.
Terraform 문서
이렇게 하면 Terraform 코드를 기반으로 문서를 생성할 수 있으며 여기에는 입력, 출력, 공급자 및 리소스가 포함될 수 있습니다.
체코프
Checkov는 자격 증명 노출을 허용하지 않는 IAM 정책, S3 버킷이 공개되지 않고 AWS Config가 모든 지역에서 활성화되는 등의 문제에 대해 Terraform에 대한 피드백을 제공합니다.
이렇게 하면 규정 준수를 시행하는 데 도움이 되며 특정 리소스에 대한 검사를 건너뛰려면 인라인 주석을 추가해야 합니다.
후행 공백/파일 끝 해결사
이렇게 하면 줄 끝에 있는 공백이 제거되고 파일이 빈 줄로 끝나므로 Version Control System에서 오류 메시지가 표시되지 않습니다.
Yaml/Json 확인
이러한 파일이 구문적으로 올바른지 확인하기 위해 클라우드에서 작업할 때 매우 편리합니다.
추가 사전 커밋 후크
추가적인 Pre-Commit 후크는 Pre-Commit's Github 및 Anton Babenko's Github 리포지토리를 참조하십시오.
Reference
이 문제에 관하여(Pre-Commit으로 자격 증명이 없는 Terraform 파이프라인 개선), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/aws-builders/improve-a-credential-less-terraform-pipeline-with-pre-commit-38kp텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)