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  }