1- # This fetches a new token, which will expire in 1 hour.
1+ provider "azurerm" {
2+ features {}
3+ }
4+
5+ # The client certificate used for authenticating into the AKS cluster will eventually expire,
6+ # (especially true if your clusters are created and destroyed periodically).
7+ # This data source fetches new authentication certificates.
8+ # Alternatively, use `terraform refresh` to fetch them manually.
29data "azurerm_kubernetes_cluster" "main" {
310 name = var. cluster_name
411 resource_group_name = var. cluster_name
512}
613
714provider "kubernetes" {
8- host = " ${ data . azurerm_kubernetes_cluster . main . kube_config . 0 . host } "
9- client_certificate = " ${ base64decode (data . azurerm_kubernetes_cluster . main . kube_config . 0 . client_certificate ) } "
10- client_key = " ${ base64decode (data. azurerm_kubernetes_cluster . main . kube_config . 0 . client_key )} "
11- cluster_ca_certificate = " ${ base64decode (data. azurerm_kubernetes_cluster . main . kube_config . 0 . cluster_ca_certificate ) } "
15+ host = var . cluster_endpoint
16+ cluster_ca_certificate = var . cluster_ca_cert
17+ client_key = base64decode (data. azurerm_kubernetes_cluster . main . kube_config . 0 . client_key )
18+ client_certificate = base64decode (data. azurerm_kubernetes_cluster . main . kube_config . 0 . client_certificate )
1219}
1320
1421resource "kubernetes_namespace" "test" {
@@ -31,7 +38,7 @@ depends_on = [var.cluster_name]
3138 persistent_volume_source {
3239 azure_disk {
3340 caching_mode = " None"
34- data_disk_uri = var. disk_uri
41+ data_disk_uri = var. data_disk_uri
3542 disk_name = " managed"
3643 kind = " Managed"
3744 }
@@ -80,9 +87,10 @@ resource "kubernetes_deployment" "test" {
8087
8188provider "helm" {
8289 kubernetes {
83- host = var. cluster_endpoint
84- token = data. google_client_config . default . access_token
85- cluster_ca_certificate = base64decode (var. cluster_ca_cert )
90+ host = var. cluster_endpoint
91+ client_certificate = var. cluster_ca_cert
92+ client_key = base64decode (data. azurerm_kubernetes_cluster . main . kube_config . 0 . client_key )
93+ cluster_ca_certificate = base64decode (data. azurerm_kubernetes_cluster . main . kube_config . 0 . cluster_ca_certificate )
8694 }
8795}
8896
@@ -97,21 +105,3 @@ resource helm_release nginx_ingress {
97105 value = " ClusterIP"
98106 }
99107}
100-
101- data "template_file" "kubeconfig" {
102- template = file (" ${ path . module } /kubeconfig-template.yaml" )
103-
104- vars = {
105- cluster_name = var.cluster_name
106- endpoint = var.cluster_endpoint
107- cluster_ca = var.cluster_ca_cert
108- cluster_token = data.google_client_config.default.access_token
109- }
110- }
111-
112- resource "local_file" "kubeconfig" {
113- depends_on = [var . cluster_id ]
114- content = data. template_file . kubeconfig . rendered
115- filename = " ${ path . root } /kubeconfig"
116- }
117-
0 commit comments