aboutsummaryrefslogtreecommitdiffstats
path: root/openlab/modules/kubernetes/kubernetes/main.tf
blob: eccbcd4e78650f39d9ce50c1b14b219401bdb062 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
provider "helm" {
  version = "~> 0.10.0"
  init_helm_home = true
  install_tiller = true
  service_account = var.service_account
  namespace    = var.namespace
  tiller_image = "gcr.io/kubernetes-helm/tiller:v2.16.6"

  kubernetes {
    config_path = "${var.kubernetes_home}/kube_config_cluster.yaml"
  }
}

provider "kubernetes" {
  version = ">= 1.10"
  load_config_file = true
}

resource "kubernetes_service_account" "tiller" {
  automount_service_account_token = true

  metadata {
    name = var.service_account
    namespace = var.namespace
  }
}

resource "kubernetes_cluster_role_binding" "tiller" {
  metadata {
    name = "tiller"
  }

  role_ref {
    api_group = "rbac.authorization.k8s.io"
    kind      = "ClusterRole"
    name      = "cluster-admin"
  }

  subject {
    kind      = "ServiceAccount"
    name      = kubernetes_service_account.tiller.metadata.0.name
    namespace = kubernetes_service_account.tiller.metadata.0.namespace
  }

  provisioner "local-exec" {
    command = "helm init --service-account ${var.service_account};kubectl -n ${var.namespace} rollout status deployment/tiller-deploy"
  }
}