44
55.PHONY : help gen lint test _gen-main _gen-examples _gen-modules _lint-files _lint-fmt _lint-json _pull-tf _pull-tfdocs _pull-fl _pull-jl
66
7- CURRENT_DIR = $(dir $(abspath $(lastword $(MAKEFILE_LIST ) ) ) )
8- TF_EXAMPLES = $(sort $(dir $(wildcard $(CURRENT_DIR ) examples/* /) ) )
9- TF_MODULES = $(sort $(dir $(wildcard $(CURRENT_DIR ) modules/* /) ) )
7+ CURRENT_DIR = $(dir $(abspath $(lastword $(MAKEFILE_LIST ) ) ) )
8+ TF_EXAMPLES = $(sort $(dir $(wildcard $(CURRENT_DIR ) examples/* /) ) )
9+ TF_MODULES = $(sort $(dir $(wildcard $(CURRENT_DIR ) modules/* /) ) )
10+ FL_IGNORE_PATHS = .git/,.github/,.terraform/,.idea/
1011
1112# -------------------------------------------------------------------------------------------------
1213# Container versions
@@ -16,7 +17,6 @@ TFDOCS_VERSION = 0.16.0-0.34
1617FL_VERSION = latest-0.8
1718JL_VERSION = 1.6.0-0.14
1819
19-
2020# -------------------------------------------------------------------------------------------------
2121# Enable linter (file-lint, terraform fmt, jsonlint)
2222# -------------------------------------------------------------------------------------------------
@@ -77,7 +77,9 @@ test: _pull-tf
7777 echo " ------------------------------------------------------------" ; \
7878 echo " # Terraform init" ; \
7979 echo " ------------------------------------------------------------" ; \
80- if docker run $$ (tty -s && echo " -it" || echo) --rm -v " $( CURRENT_DIR) :/t" --workdir " $$ {DOCKER_PATH}" hashicorp/terraform:$( TF_VERSION) \
80+ if docker run $$ (tty -s && echo " -it" || echo) --rm -v " $( CURRENT_DIR) :/t" \
81+ --workdir " $$ {DOCKER_PATH}" --network host \
82+ hashicorp/terraform:$(TF_VERSION ) \
8183 init \
8284 -lock=false \
8385 -upgrade \
@@ -88,22 +90,30 @@ test: _pull-tf
8890 echo " OK" ; \
8991 else \
9092 echo " Failed" ; \
91- docker run $$(tty -s && echo "-it" || echo ) --rm -v " $( CURRENT_DIR) :/t" --workdir " $$ {DOCKER_PATH}" --entrypoint=rm hashicorp/terraform:$(TF_VERSION ) -rf .terraform/ || true ; \
93+ docker run $$(tty -s && echo "-it" || echo ) --rm -v " $( CURRENT_DIR) :/t" \
94+ --workdir " $$ {DOCKER_PATH}" --network none --entrypoint=rm \
95+ hashicorp/terraform:$(TF_VERSION ) -rf .terraform/ || true ; \
9296 exit 1; \
9397 fi ; \
9498 echo ; \
9599 echo " ------------------------------------------------------------" ; \
96100 echo " # Terraform validate" ; \
97101 echo " ------------------------------------------------------------" ; \
98- if docker run $$ (tty -s && echo " -it" || echo) --rm -v " $( CURRENT_DIR) :/t" --workdir " $$ {DOCKER_PATH}" hashicorp/terraform:$( TF_VERSION) \
102+ if docker run $$ (tty -s && echo " -it" || echo) --rm -v " $( CURRENT_DIR) :/t" \
103+ --workdir " $$ {DOCKER_PATH}" --network host \
104+ hashicorp/terraform:$(TF_VERSION ) \
99105 validate \
100106 $(ARGS ) \
101107 . ; then \
102108 echo " OK" ; \
103- docker run $$(tty -s && echo "-it" || echo ) --rm -v " $( CURRENT_DIR) :/t" --workdir " $$ {DOCKER_PATH}" --entrypoint=rm hashicorp/terraform:$(TF_VERSION ) -rf .terraform/ || true ; \
109+ docker run $$(tty -s && echo "-it" || echo ) --rm -v " $( CURRENT_DIR) :/t" \
110+ --workdir " $$ {DOCKER_PATH}" --network none --entrypoint=rm \
111+ hashicorp/terraform:$(TF_VERSION ) -rf .terraform/ || true ; \
104112 else \
105113 echo " Failed" ; \
106- docker run $$(tty -s && echo "-it" || echo ) --rm -v " $( CURRENT_DIR) :/t" --workdir " $$ {DOCKER_PATH}" --entrypoint=rm hashicorp/terraform:$(TF_VERSION ) -rf .terraform/ || true ; \
114+ docker run $$(tty -s && echo "-it" || echo ) --rm -v " $( CURRENT_DIR) :/t" \
115+ --workdir " $$ {DOCKER_PATH}" --network none --entrypoint=rm \
116+ hashicorp/terraform:$(TF_VERSION ) -rf .terraform/ || true ; \
107117 exit 1; \
108118 fi ; \
109119 echo ; \
@@ -117,7 +127,7 @@ _gen-main:
117127 @echo " ------------------------------------------------------------"
118128 @echo " # Main module"
119129 @echo " ------------------------------------------------------------"
120- @if docker run $$(tty -s && echo "-it" || echo ) --rm \
130+ @if docker run $$(tty -s && echo "-it" || echo ) --rm --network none \
121131 -v $(CURRENT_DIR ) :/data \
122132 -e DELIM_START=' <!-- TFDOCS_HEADER_START -->' \
123133 -e DELIM_CLOSE=' <!-- TFDOCS_HEADER_END -->' \
@@ -128,7 +138,7 @@ _gen-main:
128138 echo " Failed" ; \
129139 exit 1; \
130140 fi
131- @if docker run $$(tty -s && echo "-it" || echo ) --rm \
141+ @if docker run $$(tty -s && echo "-it" || echo ) --rm --network none \
132142 -v $(CURRENT_DIR ) :/data \
133143 -e DELIM_START=' <!-- TFDOCS_PROVIDER_START -->' \
134144 -e DELIM_CLOSE=' <!-- TFDOCS_PROVIDER_END -->' \
@@ -139,7 +149,7 @@ _gen-main:
139149 echo " Failed" ; \
140150 exit 1; \
141151 fi
142- @if docker run $$(tty -s && echo "-it" || echo ) --rm \
152+ @if docker run $$(tty -s && echo "-it" || echo ) --rm --network none \
143153 -v $(CURRENT_DIR ) :/data \
144154 -e DELIM_START=' <!-- TFDOCS_REQUIREMENTS_START -->' \
145155 -e DELIM_CLOSE=' <!-- TFDOCS_REQUIREMENTS_END -->' \
@@ -150,7 +160,7 @@ _gen-main:
150160 echo " Failed" ; \
151161 exit 1; \
152162 fi
153- @if docker run $$(tty -s && echo "-it" || echo ) --rm \
163+ @if docker run $$(tty -s && echo "-it" || echo ) --rm --network none \
154164 -v $(CURRENT_DIR ) :/data \
155165 -e DELIM_START=' <!-- TFDOCS_INPUTS_START -->' \
156166 -e DELIM_CLOSE=' <!-- TFDOCS_INPUTS_END -->' \
@@ -161,7 +171,7 @@ _gen-main:
161171 echo " Failed" ; \
162172 exit 1; \
163173 fi
164- @if docker run $$(tty -s && echo "-it" || echo ) --rm \
174+ @if docker run $$(tty -s && echo "-it" || echo ) --rm --network none \
165175 -v $(CURRENT_DIR ) :/data \
166176 -e DELIM_START=' <!-- TFDOCS_OUTPUTS_START -->' \
167177 -e DELIM_CLOSE=' <!-- TFDOCS_OUTPUTS_END -->' \
@@ -180,7 +190,7 @@ _gen-examples:
180190 echo " ------------------------------------------------------------" ; \
181191 echo " # $$ {DOCKER_PATH}" ; \
182192 echo " ------------------------------------------------------------" ; \
183- if docker run $$ (tty -s && echo " -it" || echo) --rm \
193+ if docker run $$ (tty -s && echo " -it" || echo) --rm --network none \
184194 -v $(CURRENT_DIR ) :/data \
185195 -e DELIM_START=' $(DELIM_START)' \
186196 -e DELIM_CLOSE=' $(DELIM_CLOSE)' \
@@ -200,7 +210,7 @@ _gen-modules:
200210 echo " ------------------------------------------------------------" ; \
201211 echo " # $$ {DOCKER_PATH}" ; \
202212 echo " ------------------------------------------------------------" ; \
203- if docker run $$ (tty -s && echo " -it" || echo) --rm \
213+ if docker run $$ (tty -s && echo " -it" || echo) --rm --network none \
204214 -v $(CURRENT_DIR ) :/data \
205215 -e DELIM_START=' $(DELIM_START)' \
206216 -e DELIM_CLOSE=' $(DELIM_CLOSE)' \
@@ -218,12 +228,12 @@ _lint-files: _pull-fl
218228 @echo " ################################################################################"
219229 @echo " # File-lint"
220230 @echo " ################################################################################"
221- @docker run $$(tty -s && echo "-it" || echo ) --rm -v $(CURRENT_DIR ) :/data cytopia/file-lint:$(FL_VERSION ) file-cr --text --ignore ' .git/,.github/,.terraform/ ' --path .
222- @docker run $$(tty -s && echo "-it" || echo ) --rm -v $(CURRENT_DIR ) :/data cytopia/file-lint:$(FL_VERSION ) file-crlf --text --ignore ' .git/,.github/,.terraform/ ' --path .
223- @docker run $$(tty -s && echo "-it" || echo ) --rm -v $(CURRENT_DIR ) :/data cytopia/file-lint:$(FL_VERSION ) file-trailing-single-newline --text --ignore ' .git/,.github/,.terraform/ ' --path .
224- @docker run $$(tty -s && echo "-it" || echo ) --rm -v $(CURRENT_DIR ) :/data cytopia/file-lint:$(FL_VERSION ) file-trailing-space --text --ignore ' .git/,.github/,.terraform/ ' --path .
225- @docker run $$(tty -s && echo "-it" || echo ) --rm -v $(CURRENT_DIR ) :/data cytopia/file-lint:$(FL_VERSION ) file-utf8 --text --ignore ' .git/,.github/,.terraform/ ' --path .
226- @docker run $$(tty -s && echo "-it" || echo ) --rm -v $(CURRENT_DIR ) :/data cytopia/file-lint:$(FL_VERSION ) file-utf8-bom --text --ignore ' .git/,.github/,.terraform/ ' --path .
231+ @docker run $$(tty -s && echo "-it" || echo ) --rm --network none - v $(CURRENT_DIR ) :/data cytopia/file-lint:$(FL_VERSION ) file-cr --text --ignore ' $(FL_IGNORE_PATHS) ' --path .
232+ @docker run $$(tty -s && echo "-it" || echo ) --rm --network none - v $(CURRENT_DIR ) :/data cytopia/file-lint:$(FL_VERSION ) file-crlf --text --ignore ' $(FL_IGNORE_PATHS) ' --path .
233+ @docker run $$(tty -s && echo "-it" || echo ) --rm --network none - v $(CURRENT_DIR ) :/data cytopia/file-lint:$(FL_VERSION ) file-trailing-single-newline --text --ignore ' $(FL_IGNORE_PATHS) ' --path .
234+ @docker run $$(tty -s && echo "-it" || echo ) --rm --network none - v $(CURRENT_DIR ) :/data cytopia/file-lint:$(FL_VERSION ) file-trailing-space --text --ignore ' $(FL_IGNORE_PATHS) ' --path .
235+ @docker run $$(tty -s && echo "-it" || echo ) --rm --network none - v $(CURRENT_DIR ) :/data cytopia/file-lint:$(FL_VERSION ) file-utf8 --text --ignore ' $(FL_IGNORE_PATHS) ' --path .
236+ @docker run $$(tty -s && echo "-it" || echo ) --rm --network none - v $(CURRENT_DIR ) :/data cytopia/file-lint:$(FL_VERSION ) file-utf8-bom --text --ignore ' $(FL_IGNORE_PATHS) ' --path .
227237
228238_lint-fmt : _pull-tf
229239 @# Lint all Terraform files
@@ -234,8 +244,10 @@ _lint-fmt: _pull-tf
234244 @echo " ------------------------------------------------------------"
235245 @echo " # *.tf files"
236246 @echo " ------------------------------------------------------------"
237- @if docker run $$(tty -s && echo "-it" || echo ) --rm -v " $( CURRENT_DIR) :/t:ro" --workdir " /t" hashicorp/terraform:$(TF_VERSION ) \
238- fmt -recursive -check=true -diff=true -write=false -list=true . ; then \
247+ @if docker run $$(tty -s && echo "-it" || echo ) --rm --network host \
248+ -v " $( CURRENT_DIR) :/t:ro" --workdir " /t" \
249+ hashicorp/terraform:$(TF_VERSION ) \
250+ fmt -recursive -check=true -diff=true -write=true -list=true . ; then \
239251 echo " OK" ; \
240252 else \
241253 echo " Failed" ; \
@@ -245,8 +257,10 @@ _lint-fmt: _pull-tf
245257 @echo " ------------------------------------------------------------"
246258 @echo " # *.tfvars files"
247259 @echo " ------------------------------------------------------------"
248- @if docker run $$(tty -s && echo "-it" || echo ) --rm --entrypoint=/bin/sh -v " $( CURRENT_DIR) :/t:ro" --workdir " /t" hashicorp/terraform:$(TF_VERSION ) \
249- -c " find . -name '*.tfvars' -type f -print0 | xargs -0 -n1 terraform fmt -check=true -write=false -diff=true -list=true" ; then \
260+ @if docker run $$(tty -s && echo "-it" || echo ) --rm --network host \
261+ --entrypoint=/bin/sh -v " $( CURRENT_DIR) :/t:ro" --workdir " /t" \
262+ hashicorp/terraform:$(TF_VERSION ) \
263+ -c " find . -name '*.tfvars' -type f -print0 | xargs -0 -n1 terraform fmt -check=true -write=true -diff=true -list=true" ; then \
250264 echo " OK" ; \
251265 else \
252266 echo " Failed" ; \
@@ -259,7 +273,9 @@ _lint-json: _pull-jl
259273 @echo " ################################################################################"
260274 @echo " # Jsonlint"
261275 @echo " ################################################################################"
262- @if docker run $$(tty -s && echo "-it" || echo ) --rm -v " $( CURRENT_DIR) :/data:ro" cytopia/jsonlint:$(JL_VERSION ) \
276+ @if docker run $$(tty -s && echo "-it" || echo ) --rm --network none \
277+ -v " $( CURRENT_DIR) :/data:ro" \
278+ cytopia/jsonlint:$(JL_VERSION ) \
263279 -t ' ' -i ' *.terraform/*' ' *.json' ; then \
264280 echo " OK" ; \
265281 else \
0 commit comments