|
16 | 16 | SHELL := /usr/bin/env bash
|
17 | 17 |
|
18 | 18 | # Docker build config variables
|
19 |
| -BUILD_TERRAFORM_VERSION ?= 0.11.10 |
20 |
| -BUILD_CLOUD_SDK_VERSION ?= 216.0.0 |
21 |
| -BUILD_PROVIDER_GOOGLE_VERSION ?= 1.17.1 |
22 |
| -BUILD_PROVIDER_GSUITE_VERSION ?= 0.1.8 |
23 |
| -DOCKER_IMAGE_TERRAFORM := cftk/terraform |
24 |
| -DOCKER_TAG_TERRAFORM ?= ${BUILD_TERRAFORM_VERSION}_${BUILD_CLOUD_SDK_VERSION}_${BUILD_PROVIDER_GOOGLE_VERSION}_${BUILD_PROVIDER_GSUITE_VERSION} |
25 |
| -BUILD_RUBY_VERSION := 2.5.3 |
26 |
| -DOCKER_IMAGE_KITCHEN_TERRAFORM := cftk/kitchen_terraform |
27 |
| -DOCKER_TAG_KITCHEN_TERRAFORM ?= ${BUILD_TERRAFORM_VERSION}_${BUILD_CLOUD_SDK_VERSION}_${BUILD_PROVIDER_GOOGLE_VERSION}_${BUILD_PROVIDER_GSUITE_VERSION} |
| 19 | +CREDENTIALS_PATH ?= /cft/workdir/credentials.json |
| 20 | +DOCKER_ORG := gcr.io/cloud-foundation-cicd |
| 21 | +DOCKER_TAG_BASE_KITCHEN_TERRAFORM ?= 0.11.10_216.0.0_1.19.1_0.1.10 |
| 22 | +DOCKER_REPO_BASE_KITCHEN_TERRAFORM := ${DOCKER_ORG}/cft/kitchen-terraform:${DOCKER_TAG_BASE_KITCHEN_TERRAFORM} |
| 23 | +DOCKER_TAG_KITCHEN_TERRAFORM ?= ${DOCKER_TAG_BASE_KITCHEN_TERRAFORM} |
| 24 | +DOCKER_IMAGE_KITCHEN_TERRAFORM := cft/kitchen-terraform_terraform-google-kubernetes-engine |
28 | 25 |
|
29 | 26 | # All is the first target in the file so it will get picked up when you just run 'make' on its own
|
30 | 27 | all: check_shell check_python check_golang check_terraform check_docker check_base_files test_check_headers check_headers check_trailing_whitespace generate_docs
|
@@ -94,57 +91,61 @@ version:
|
94 | 91 | @source helpers/version-repo.sh
|
95 | 92 |
|
96 | 93 | # Build Docker
|
97 |
| -.PHONY: docker_build_terraform |
98 |
| -docker_build_terraform: |
99 |
| - docker build -f build/docker/terraform/Dockerfile \ |
100 |
| - --build-arg BUILD_TERRAFORM_VERSION=${BUILD_TERRAFORM_VERSION} \ |
101 |
| - --build-arg BUILD_CLOUD_SDK_VERSION=${BUILD_CLOUD_SDK_VERSION} \ |
102 |
| - --build-arg BUILD_PROVIDER_GOOGLE_VERSION=${BUILD_PROVIDER_GOOGLE_VERSION} \ |
103 |
| - --build-arg BUILD_PROVIDER_GSUITE_VERSION=${BUILD_PROVIDER_GSUITE_VERSION} \ |
104 |
| - --build-arg CREDENTIALS_FILE=${CREDENTIALS_FILE} \ |
105 |
| - -t ${DOCKER_IMAGE_TERRAFORM}:${DOCKER_TAG_TERRAFORM} . |
106 |
| - |
107 | 94 | .PHONY: docker_build_kitchen_terraform
|
108 | 95 | docker_build_kitchen_terraform:
|
109 | 96 | docker build -f build/docker/kitchen_terraform/Dockerfile \
|
110 |
| - --build-arg BUILD_TERRAFORM_IMAGE="${DOCKER_IMAGE_TERRAFORM}:${DOCKER_TAG_TERRAFORM}" \ |
111 |
| - --build-arg BUILD_RUBY_VERSION="${BUILD_RUBY_VERSION}" \ |
112 |
| - --build-arg CREDENTIALS_FILE="${CREDENTIALS_FILE}" \ |
| 97 | + --build-arg BASE_IMAGE=${DOCKER_REPO_BASE_KITCHEN_TERRAFORM} \ |
113 | 98 | -t ${DOCKER_IMAGE_KITCHEN_TERRAFORM}:${DOCKER_TAG_KITCHEN_TERRAFORM} .
|
114 | 99 |
|
| 100 | +# Push Docker image |
| 101 | +.PHONY: docker_push_kitchen_terraform |
| 102 | +docker_push_kitchen_terraform: |
| 103 | + docker tag ${DOCKER_IMAGE_KITCHEN_TERRAFORM}:${DOCKER_TAG_KITCHEN_TERRAFORM} ${DOCKER_ORG}/${DOCKER_IMAGE_KITCHEN_TERRAFORM}:${DOCKER_TAG_KITCHEN_TERRAFORM} |
| 104 | + docker push ${DOCKER_ORG}/${DOCKER_IMAGE_KITCHEN_TERRAFORM}:${DOCKER_TAG_KITCHEN_TERRAFORM} |
| 105 | + |
115 | 106 | # Run docker
|
116 | 107 | .PHONY: docker_run
|
117 | 108 | docker_run:
|
118 | 109 | docker run --rm -it \
|
119 |
| - -v $(CURDIR):/cftk/workdir \ |
| 110 | + -e CLOUDSDK_AUTH_CREDENTIAL_FILE_OVERRIDE=${CREDENTIALS_PATH} \ |
| 111 | + -e GOOGLE_APPLICATION_CREDENTIALS=${CREDENTIALS_PATH} \ |
| 112 | + -v $(CURDIR):/cft/workdir \ |
120 | 113 | ${DOCKER_IMAGE_KITCHEN_TERRAFORM}:${DOCKER_TAG_KITCHEN_TERRAFORM} \
|
121 | 114 | /bin/bash
|
122 | 115 |
|
123 | 116 | .PHONY: docker_create
|
124 |
| -docker_create: docker_build_terraform docker_build_kitchen_terraform |
| 117 | +docker_create: docker_build_kitchen_terraform |
125 | 118 | docker run --rm -it \
|
126 |
| - -v $(CURDIR):/cftk/workdir \ |
| 119 | + -e CLOUDSDK_AUTH_CREDENTIAL_FILE_OVERRIDE=${CREDENTIALS_PATH} \ |
| 120 | + -e GOOGLE_APPLICATION_CREDENTIALS=${CREDENTIALS_PATH} \ |
| 121 | + -v $(CURDIR):/cft/workdir \ |
127 | 122 | ${DOCKER_IMAGE_KITCHEN_TERRAFORM}:${DOCKER_TAG_KITCHEN_TERRAFORM} \
|
128 | 123 | /bin/bash -c "kitchen create"
|
129 | 124 |
|
130 | 125 | .PHONY: docker_converge
|
131 | 126 | docker_converge:
|
132 | 127 | docker run --rm -it \
|
133 |
| - -v $(CURDIR):/cftk/workdir \ |
| 128 | + -e CLOUDSDK_AUTH_CREDENTIAL_FILE_OVERRIDE=${CREDENTIALS_PATH} \ |
| 129 | + -e GOOGLE_APPLICATION_CREDENTIALS=${CREDENTIALS_PATH} \ |
| 130 | + -v $(CURDIR):/cft/workdir \ |
134 | 131 | ${DOCKER_IMAGE_KITCHEN_TERRAFORM}:${DOCKER_TAG_KITCHEN_TERRAFORM} \
|
135 | 132 | /bin/bash -c "kitchen converge && kitchen converge"
|
136 | 133 |
|
137 | 134 | .PHONY: docker_verify
|
138 | 135 | docker_verify:
|
139 | 136 | docker run --rm -it \
|
140 |
| - -v $(CURDIR):/cftk/workdir \ |
| 137 | + -e CLOUDSDK_AUTH_CREDENTIAL_FILE_OVERRIDE=${CREDENTIALS_PATH} \ |
| 138 | + -e GOOGLE_APPLICATION_CREDENTIALS=${CREDENTIALS_PATH} \ |
| 139 | + -v $(CURDIR):/cft/workdir \ |
141 | 140 | ${DOCKER_IMAGE_KITCHEN_TERRAFORM}:${DOCKER_TAG_KITCHEN_TERRAFORM} \
|
142 | 141 | /bin/bash -c "kitchen verify"
|
143 | 142 |
|
144 | 143 | .PHONY: docker_destroy
|
145 | 144 | docker_destroy:
|
146 | 145 | docker run --rm -it \
|
147 |
| - -v $(CURDIR):/cftk/workdir \ |
| 146 | + -e CLOUDSDK_AUTH_CREDENTIAL_FILE_OVERRIDE=${CREDENTIALS_PATH} \ |
| 147 | + -e GOOGLE_APPLICATION_CREDENTIALS=${CREDENTIALS_PATH} \ |
| 148 | + -v $(CURDIR):/cft/workdir \ |
148 | 149 | ${DOCKER_IMAGE_KITCHEN_TERRAFORM}:${DOCKER_TAG_KITCHEN_TERRAFORM} \
|
149 | 150 | /bin/bash -c "kitchen destroy"
|
150 | 151 |
|
|
0 commit comments