Skip to content

Commit 9b2e03a

Browse files
committed
wip
1 parent cb20957 commit 9b2e03a

File tree

6 files changed

+36
-45
lines changed

6 files changed

+36
-45
lines changed

GNUmakefile

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ OS_ARCH := $(shell go env GOOS)_$(shell go env GOARCH)
99
TF_PROV_DOCS := $(PWD)/kubernetes/test-infra/tfproviderdocs
1010
EXT_PROV_DIR := $(PWD)/kubernetes/test-infra/external-providers
1111
EXT_PROV_BIN := /tmp/.terraform.d/localhost/test/kubernetes/9.9.9/$(OS_ARCH)/terraform-provider-kubernetes_9.9.9_$(OS_ARCH)
12+
KUBECONFIG1 = $(shell echo $(KUBECONFIG) | cut -d\: -f1)
1213

1314
ifneq ($(PWD),$(PROVIDER_DIR))
1415
$(error "Makefile must be run from the provider directory")
@@ -57,6 +58,8 @@ test: fmtcheck
5758
xargs -t -n4 go test $(TESTARGS) -timeout=30s -parallel=4
5859

5960
testacc: fmtcheck vet
61+
rm -f kubernetes/testdata/kubeconfig
62+
cp $(KUBECONFIG1) kubernetes/testdata/kubeconfig
6063
rm -rf $(EXT_PROV_DIR)/.terraform $(EXT_PROV_DIR)/.terraform.lock.hcl || true
6164
mkdir $(EXT_PROV_DIR)/.terraform
6265
mkdir -p /tmp/.terraform.d/localhost/test/kubernetes/9.9.9/$(OS_ARCH) || true

_examples/eks/kubernetes-config/main.tf

Lines changed: 0 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,4 @@
1-
provider "kubernetes" {
2-
host = var.cluster_endpoint
3-
cluster_ca_certificate = base64decode(var.cluster_ca_cert)
4-
exec {
5-
api_version = "client.authentication.k8s.io/v1alpha1"
6-
args = ["eks", "get-token", "--cluster-name", var.cluster_name]
7-
command = "aws"
8-
}
9-
}
10-
111
resource "kubernetes_config_map" "name" {
12-
depends_on = [var.cluster_name]
132
metadata {
143
name = "aws-auth"
154
namespace = "kube-system"
@@ -23,26 +12,20 @@ resource "kubernetes_config_map" "name" {
2312
}
2413
}
2514

26-
# This allows the kubeconfig file to be refreshed during every Terraform apply.
2715
# Optional: this kubeconfig file is only used for manual CLI access to the cluster.
2816
resource "null_resource" "generate-kubeconfig" {
2917
provisioner "local-exec" {
3018
command = "aws eks update-kubeconfig --name ${var.cluster_name} --kubeconfig ${path.root}/kubeconfig"
3119
}
32-
triggers = {
33-
always_run = timestamp()
34-
}
3520
}
3621

3722
resource "kubernetes_namespace" "test" {
38-
depends_on = [var.cluster_name]
3923
metadata {
4024
name = "test"
4125
}
4226
}
4327

4428
resource "kubernetes_deployment" "test" {
45-
depends_on = [var.cluster_name]
4629
metadata {
4730
name = "test"
4831
namespace= kubernetes_namespace.test.metadata.0.name
@@ -81,20 +64,7 @@ resource "kubernetes_deployment" "test" {
8164
}
8265
}
8366

84-
provider "helm" {
85-
kubernetes {
86-
host = var.cluster_endpoint
87-
cluster_ca_certificate = base64decode(var.cluster_ca_cert)
88-
exec {
89-
api_version = "client.authentication.k8s.io/v1alpha1"
90-
args = ["eks", "get-token", "--cluster-name", var.cluster_name]
91-
command = "aws"
92-
}
93-
}
94-
}
95-
9667
resource helm_release nginx_ingress {
97-
depends_on = [var.cluster_name]
9868
name = "nginx-ingress-controller"
9969

10070
repository = "https://charts.bitnami.com/bitnami"

_examples/eks/kubernetes-config/variables.tf

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,4 @@
11
variable "k8s_node_role_arn" {
2-
type = list(string)
3-
}
4-
5-
variable "cluster_ca_cert" {
6-
type = string
7-
}
8-
9-
variable "cluster_endpoint" {
102
type = string
113
}
124

_examples/eks/main.tf

Lines changed: 31 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,34 @@ terraform {
1515
}
1616
}
1717

18+
data "aws_eks_cluster" "default" {
19+
name = module.cluster.cluster_id
20+
}
21+
22+
data "aws_eks_cluster_auth" "default" {
23+
name = module.cluster.cluster_id
24+
}
25+
26+
provider "kubernetes" {
27+
host = data.aws_eks_cluster.default.endpoint
28+
cluster_ca_certificate = base64decode(data.aws_eks_cluster.default.certificate_authority[0].data)
29+
token = data.aws_eks_cluster_auth.default.token
30+
}
31+
32+
provider "helm" {
33+
kubernetes {
34+
host = data.aws_eks_cluster.default.endpoint
35+
cluster_ca_certificate = base64decode(data.aws_eks_cluster.default.certificate_authority[0].data)
36+
token = data.aws_eks_cluster_auth.default.token
37+
}
38+
}
39+
40+
# exec {
41+
# api_version = "client.authentication.k8s.io/v1alpha1"
42+
# args = ["eks", "get-token", "--cluster-name", var.cluster_name]
43+
# command = "aws"
44+
# }
45+
1846
provider "aws" {
1947
region = var.region
2048
}
@@ -25,7 +53,7 @@ module "vpc" {
2553

2654
module "cluster" {
2755
source = "terraform-aws-modules/eks/aws"
28-
version = "v13.2.1"
56+
version = "v14.0.0"
2957

3058
vpc_id = module.vpc.vpc_id
3159
subnets = module.vpc.subnets
@@ -51,9 +79,7 @@ module "cluster" {
5179
}
5280

5381
module "kubernetes-config" {
54-
source = "./kubernetes-config"
55-
k8s_node_role_arn = list(module.cluster.worker_iam_role_arn)
56-
cluster_ca_cert = module.cluster.cluster_certificate_authority_data
5782
cluster_name = module.cluster.cluster_id # creates dependency on cluster creation
58-
cluster_endpoint = module.cluster.cluster_endpoint
83+
source = "./kubernetes-config"
84+
k8s_node_role_arn = module.cluster.worker_iam_role_arn
5985
}

kubernetes/test-infra/eks/main.tf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ module "cluster" {
4747

4848
module "node-config" {
4949
source = "./node-config"
50-
k8s_node_role_arn = list(module.cluster.worker_iam_role_arn)
50+
k8s_node_role_arn = tolist(module.cluster.worker_iam_role_arn)
5151
cluster_ca = module.cluster.cluster_certificate_authority_data
5252
cluster_name = module.cluster.cluster_id # creates dependency on cluster creation
5353
cluster_endpoint = module.cluster.cluster_endpoint

kubernetes/test-infra/eks/node-config/variables.tf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
variable "k8s_node_role_arn" {
2-
type = list(string)
2+
type = tolist(string)
33
}
44

55
variable "cluster_ca" {

0 commit comments

Comments
 (0)