오픈토푸 1.13, tofu lint 내장 린팅 추가
오픈소스 IaC 도구 오픈토푸(OpenTofu) 1.13이 공개되면서 tofu 명령에 린팅(linting) 기능이 실험적으로 들어갔습니다. 외부 도구를 따로 붙이지 않아도 tofu 자체가 구성 파일의 문제를 잡아주기 시작한 첫 버전입니다. 프로젝트 공식 블로그에는 9월 3일 관련 글이 올라왔고, 1.13 문서에도 linting 항목이 새로 추가됐습니다.
쓰는 법은 단순합니다. validate, plan, apply, refresh 명령에 -lint 옵션을 붙이면 됩니다. 예를 들면 tofu plan -lint=all 처럼 실행합니다. 기본값은 꺼짐이고 명시적으로 켜야 동작하는 opt-in 방식입니다. all 대신 규칙 이름을 콤마로 나열하거나, all,!core:unused-local 처럼 ! 를 붙여 특정 규칙만 빼는 것도 됩니다.
이번에 들어간 내장 규칙은 네 개입니다.
- core:no-type-variable 타입을 지정하지 않은 입력 변수를 찾습니다.
- core:count-instead-enabled 오래된 count 조건 대신 enabled 기능을 쓸 수 있는 자리를 짚어줍니다.
- core:unused-variable 선언만 하고 안 쓰는 입력 변수를 찾습니다.
- core:unused-local 선언만 하고 안 쓰는 로컬 값을 찾습니다.
그동안 테라폼과 오픈토푸 코드의 정적 점검은 TFLint 같은 외부 도구를 따로 붙여야 했습니다. 이제 그 일부를 도구 자체가 맡기 시작했다는 점이 의미가 있어 보입니다. 오픈토푸는 리눅스 재단 산하의 테라폼 포크 프로젝트인데, 원조 도구에 없는 기능을 붙이면서 독자 색깔을 키우는 모습입니다.
다만 아직 실험 단계라 린팅을 켜면 경고가 함께 출력되고, 규칙이나 옵션 형식이 마이너 릴리스에서도 바뀔 수 있다고 공지돼 있습니다. 장기적으로는 명령줄 옵션 대신 설정 파일로 규칙을 관리하고 사용자 정의 규칙까지 열겠다는 계획입니다. CI 게이트에 바로 물리기보다 로컬에서 먼저 돌려보며 감을 잡는 정도가 좋아 보입니다.
로그인 후 답글을 남길 수 있습니다.