github.com/replicatedhq/ship@v0.55.0/integration/base/google-gke-template/expected/installer/terraform/complex_cluster.tf (about) 1 2 provider "google" { 3 credentials = <<EOF 4 { 5 "type": "service_account", 6 "project_id": "my-project", 7 ... 8 } 9 EOF 10 project = "my-project" 11 region = "us-east" 12 } 13 14 variable "cluster_name" { 15 default = "complex-cluster" 16 } 17 18 variable "zone" { 19 default = "us-east1-b" 20 } 21 22 variable "initial_node_count" { 23 default = "5" 24 } 25 26 variable "machine_type" { 27 default = "n1-standard-4" 28 } 29 30 variable "additional_zones" { 31 type = "list" 32 default = [ 33 "us-east1-c", 34 "us-east1-d", 35 ] 36 } 37 38 locals { 39 min_master_version = "1.10.6-gke.1" 40 } 41 42 resource "google_container_cluster" "complex-cluster" { 43 name = "${var.cluster_name}" 44 zone = "${var.zone}" 45 initial_node_count = "${var.initial_node_count}" 46 47 additional_zones = "${var.additional_zones}" 48 49 min_master_version = "${local.min_master_version}" 50 51 node_config { 52 machine_type = "${var.machine_type}" 53 } 54 55 enable_legacy_abac = "true" 56 } 57 58 data "template_file" "kubeconfig_complex-cluster" { 59 template = <<EOF 60 61 apiVersion: v1 62 preferences: {} 63 kind: Config 64 65 clusters: 66 - cluster: 67 server: $${endpoint} 68 certificate-authority-data: $${cluster_auth} 69 name: $${kubeconfig_name} 70 71 contexts: 72 - context: 73 cluster: $${kubeconfig_name} 74 user: $${kubeconfig_name} 75 name: $${kubeconfig_name} 76 77 current-context: $${kubeconfig_name} 78 79 users: 80 - name: $${kubeconfig_name} 81 user: 82 client-certificate-data: $${client_cert} 83 client-key-data: $${client_key} 84 85 EOF 86 87 vars { 88 endpoint = "https://${google_container_cluster.complex-cluster.endpoint}" 89 cluster_auth = "${google_container_cluster.complex-cluster.master_auth.0.cluster_ca_certificate}" 90 kubeconfig_name = "complex-cluster" 91 client_cert = "${google_container_cluster.complex-cluster.master_auth.0.client_certificate}" 92 client_key = "${google_container_cluster.complex-cluster.master_auth.0.client_key}" 93 } 94 } 95 96 resource "local_file" "kubeconfig_complex-cluster" { 97 content = "${data.template_file.kubeconfig_complex-cluster.rendered}" 98 filename = "kubeconfig_complex-cluster" 99 }