Skip to content

Commit aaa48de

Browse files
authored
Merge pull request #127 from thefirstofthe300/ds/add-check-generate-docs
Add function to check code autogeneration
2 parents d687f6e + 6381911 commit aaa48de

File tree

5 files changed

+43
-10
lines changed

5 files changed

+43
-10
lines changed

Makefile

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ DOCKER_IMAGE_KITCHEN_TERRAFORM := cft/kitchen-terraform_terraform-google-kuberne
2828
all: check generate_docs
2929

3030
.PHONY: check
31-
check: check_shell check_python check_golang check_terraform check_docker check_base_files test_check_headers check_headers check_trailing_whitespace check_generate_docs
31+
check: check_shell check_python check_golang check_terraform check_docker check_base_files test_check_headers check_headers check_trailing_whitespace check_generate check_generate_docs
3232

3333
# The .PHONY directive tells make that this isn't a real target and so
3434
# the presence of a file named 'check_shell' won't cause this target to stop
@@ -75,6 +75,10 @@ check_headers:
7575
@echo "Checking file headers"
7676
@python test/verify_boilerplate.py
7777

78+
.PHONY: check_generate
79+
check_generate: ## Check that `make generate` does not generate a diff
80+
@source test/make.sh && check_generate
81+
7882
.PHONY: check_generate_docs
7983
check_generate_docs: ## Check that `make generate_docs` does not generate a diff
8084
@source test/make.sh && check_generate_docs
@@ -90,8 +94,7 @@ generate_docs:
9094

9195
.PHONY: generate
9296
generate:
93-
@pip install --user -r ./helpers/generate_modules/requirements.txt
94-
@./helpers/generate_modules/generate_modules.py
97+
@source test/make.sh && generate
9598

9699
# Versioning
97100
.PHONY: version

autogen/README.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,10 @@ The resources/services/activations/deletions that this module will create/trigge
99
- Activate network policy if `network_policy` is true
1010
- Add `ip-masq-agent` configmap with provided `non_masquerade_cidrs` if `network_policy` is true
1111

12+
{% if private_cluster %}
13+
**Note**: You must run Terraform from a VM on the same VPC as your cluster, otherwise there will be issues connecting to the GKE master.
14+
15+
{% endif %}
1216
## Usage
1317
There are multiple examples included in the [examples](./examples/) folder but simple usage is as follows:
1418

modules/private-cluster/cluster_regional.tf

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,7 @@ resource "google_container_node_pool" "pools" {
101101
name = "${lookup(var.node_pools[count.index], "name")}"
102102
project = "${var.project_id}"
103103
region = "${var.region}"
104-
cluster = "${var.name}"
104+
cluster = "${google_container_cluster.primary.name}"
105105
version = "${lookup(var.node_pools[count.index], "auto_upgrade", false) ? "" : lookup(var.node_pools[count.index], "version", local.node_version_regional)}"
106106
initial_node_count = "${lookup(var.node_pools[count.index], "initial_node_count", lookup(var.node_pools[count.index], "min_count", 1))}"
107107

@@ -142,8 +142,6 @@ resource "google_container_node_pool" "pools" {
142142
update = "30m"
143143
delete = "30m"
144144
}
145-
146-
depends_on = ["google_container_cluster.primary"]
147145
}
148146

149147
resource "null_resource" "wait_for_regional_cluster" {

modules/private-cluster/cluster_zonal.tf

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,7 @@ resource "google_container_node_pool" "zonal_pools" {
101101
name = "${lookup(var.node_pools[count.index], "name")}"
102102
project = "${var.project_id}"
103103
zone = "${var.zones[0]}"
104-
cluster = "${var.name}"
104+
cluster = "${google_container_cluster.zonal_primary.name}"
105105
version = "${lookup(var.node_pools[count.index], "auto_upgrade", false) ? "" : lookup(var.node_pools[count.index], "version", local.node_version_zonal)}"
106106
initial_node_count = "${lookup(var.node_pools[count.index], "initial_node_count", lookup(var.node_pools[count.index], "min_count", 1))}"
107107

@@ -142,8 +142,6 @@ resource "google_container_node_pool" "zonal_pools" {
142142
update = "30m"
143143
delete = "30m"
144144
}
145-
146-
depends_on = ["google_container_cluster.zonal_primary"]
147145
}
148146

149147
resource "null_resource" "wait_for_zonal_cluster" {

test/make.sh

Lines changed: 31 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,11 @@ function check_trailing_whitespace() {
8686
fi
8787
}
8888

89+
function generate() {
90+
pip install --user -r ./helpers/generate_modules/requirements.txt
91+
./helpers/generate_modules/generate_modules.py
92+
}
93+
8994
function generate_docs() {
9095
echo "Generating markdown docs with terraform-docs"
9196
TMPFILE=$(mktemp)
@@ -97,12 +102,35 @@ function generate_docs() {
97102
rm -f "$TMPFILE"
98103
}
99104

105+
function check_generate() {
106+
TMPDIR=$(mktemp -d)
107+
git worktree add --detach "$TMPDIR" >/dev/null
108+
cd "$TMPDIR" || exit 1
109+
110+
generate >/dev/null
111+
generate_docs >/dev/null
112+
113+
git diff --stat --exit-code >/dev/null
114+
rc=$?
115+
cd - >/dev/null || exit 1
116+
117+
if [[ $rc -ne 0 ]]; then
118+
echo '"make generate" creates a diff, run "make generate" and commit the results'
119+
fi
120+
rm -rf "$TMPDIR"
121+
git worktree prune >/dev/null
122+
123+
echo "Code was generated properly"
124+
125+
exit $rc
126+
}
127+
100128
function check_generate_docs() {
101129
TMPDIR=$(mktemp -d)
102130
git worktree add --detach "$TMPDIR" >/dev/null
103131
cd "$TMPDIR" || exit 1
104132

105-
make generate_docs >/dev/null
133+
generate_docs >/dev/null
106134
git diff --stat --exit-code >/dev/null
107135
rc=$?
108136
cd - >/dev/null || exit 1
@@ -113,5 +141,7 @@ function check_generate_docs() {
113141
rm -rf "$TMPDIR"
114142
git worktree prune >/dev/null
115143

144+
echo "Docs were generated properly"
145+
116146
exit $rc
117147
}

0 commit comments

Comments
 (0)