From 2b7d55039a55bb2c557bbb978b3cd9af9f6feaea Mon Sep 17 00:00:00 2001 From: Will Ripley Date: Mon, 15 Jul 2019 07:06:38 -0700 Subject: [PATCH] Upgraded demo to use TF 0.12 --- Jenkinsfile | 2 +- terraform/main.tf | 18 ++++++++++-------- terraform/provider.tf | 6 +++--- terraform/variables.tf | 6 +++--- terraform/versions.tf | 4 ++++ 5 files changed, 21 insertions(+), 15 deletions(-) create mode 100644 terraform/versions.tf diff --git a/Jenkinsfile b/Jenkinsfile index 314c153..7aa673e 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -35,7 +35,7 @@ metadata: spec: containers: - name: ${containerName} - image: gcr.io/pso-helmsman-cicd/jenkins-k8s-node:${env.CONTAINER_VERSION} + image: gcr.io/pso-helmsman-cicd/jenkins-k8s-node:jenkins-cicd_images_builder-185 command: ['cat'] tty: true volumeMounts: diff --git a/terraform/main.tf b/terraform/main.tf index d6c6433..32c8bda 100644 --- a/terraform/main.tf +++ b/terraform/main.tf @@ -14,12 +14,11 @@ See the License for the specific language governing permissions and limitations under the License. */ - // Provides access to available Google Container Engine versions in a zone for a given project. // https://www.terraform.io/docs/providers/google/d/google_container_engine_versions.html data "google_container_engine_versions" "on-prem" { - zone = "${var.zone}" - project = "${var.project}" + zone = var.zone + project = var.project } // https://www.terraform.io/docs/providers/google/d/google_container_cluster.html @@ -28,9 +27,9 @@ data "google_container_engine_versions" "on-prem" { // Create the GKE Cluster resource "google_container_cluster" "primary" { name = "tracing-demo-space" - zone = "${var.zone}" + zone = var.zone initial_node_count = 1 - min_master_version = "${data.google_container_engine_versions.on-prem.latest_master_version}" + min_master_version = data.google_container_engine_versions.on-prem.latest_master_version // Scopes were a pre-IAM method of giving instances API access // They are still around we need to give our cluster nodes @@ -46,6 +45,8 @@ resource "google_container_cluster" "primary" { ] } + // Here we use gcloud to gather authentication information about our new cluster and write that + // information to kubectls config file // Here we use gcloud to gather authentication information about our new cluster and write that // information to kubectls config file provisioner "local-exec" { @@ -62,13 +63,14 @@ resource "google_pubsub_topic" "tracing-demo-topic" { // You need a subscription to pull messages from a topic resource "google_pubsub_subscription" "tracing-demo-subscription" { name = "tracing-demo-cli" - topic = "${google_pubsub_topic.tracing-demo-topic.name}" + topic = google_pubsub_topic.tracing-demo-topic.name } output "cluster_name" { - value = "${google_container_cluster.primary.name}" + value = google_container_cluster.primary.name } output "primary_zone" { - value = "${google_container_cluster.primary.zone}" + value = google_container_cluster.primary.zone } + diff --git a/terraform/provider.tf b/terraform/provider.tf index 43dd0a3..551f471 100644 --- a/terraform/provider.tf +++ b/terraform/provider.tf @@ -14,9 +14,9 @@ See the License for the specific language governing permissions and limitations under the License. */ - // Identifies allowable version range for Terraform Google Provider provider "google" { - project = "${var.project}" - version = "~> 1.13" + project = var.project + version = "~> 2.5" } + diff --git a/terraform/variables.tf b/terraform/variables.tf index d733a06..f3d9e8c 100644 --- a/terraform/variables.tf +++ b/terraform/variables.tf @@ -14,13 +14,13 @@ See the License for the specific language governing permissions and limitations under the License. */ - variable "zone" { description = "The zone in which to create the Kubernetes cluster. Must match the region" - type = "string" + type = string } variable "project" { description = "the project for this network" - type = "string" + type = string } + diff --git a/terraform/versions.tf b/terraform/versions.tf new file mode 100644 index 0000000..ac97c6a --- /dev/null +++ b/terraform/versions.tf @@ -0,0 +1,4 @@ + +terraform { + required_version = ">= 0.12" +}