Skip to content

Commit 0c1385a

Browse files
committed
Use K8S Provider to manage AWS Auth ConfirMap
`kubernetes_config_map_v1_data` See terraform-aws-modules/terraform-aws-eks#1999
1 parent e915146 commit 0c1385a

File tree

8 files changed

+23
-62
lines changed

8 files changed

+23
-62
lines changed

.tflint.hcl

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
plugin "aws" {
22
enabled = true
3-
version = "0.12.0"
3+
version = "0.13.2"
44
source = "github.com/terraform-linters/tflint-ruleset-aws"
55
}
66

README.md

+2-4
Original file line numberDiff line numberDiff line change
@@ -35,21 +35,20 @@ provision additional node groups.
3535
|------|---------|
3636
| <a name="requirement_terraform"></a> [terraform](#requirement\_terraform) | >= 1.0 |
3737
| <a name="requirement_aws"></a> [aws](#requirement\_aws) | ~> 4.0 |
38-
| <a name="requirement_null"></a> [null](#requirement\_null) | ~> 3.1 |
38+
| <a name="requirement_kubernetes"></a> [kubernetes](#requirement\_kubernetes) | ~> 2.10 |
3939

4040
## Providers
4141

4242
| Name | Version |
4343
|------|---------|
4444
| <a name="provider_aws"></a> [aws](#provider\_aws) | ~> 4.0 |
45-
| <a name="provider_null"></a> [null](#provider\_null) | ~> 3.1 |
4645

4746
## Modules
4847

4948
| Name | Source | Version |
5049
|------|--------|---------|
5150
| <a name="module_ebs_csi_irsa_role"></a> [ebs\_csi\_irsa\_role](#module\_ebs\_csi\_irsa\_role) | terraform-aws-modules/iam/aws//modules/iam-role-for-service-accounts-eks | ~> 4.13.1 |
52-
| <a name="module_eks"></a> [eks](#module\_eks) | terraform-aws-modules/eks/aws | ~> 18.7.2 |
51+
| <a name="module_eks"></a> [eks](#module\_eks) | terraform-aws-modules/eks/aws | ~> 18.20.0 |
5352
| <a name="module_kms_ebs"></a> [kms\_ebs](#module\_kms\_ebs) | app.terraform.io/sph/kms/aws | ~> 0.1.0 |
5453
| <a name="module_kms_secret"></a> [kms\_secret](#module\_kms\_secret) | app.terraform.io/sph/kms/aws | ~> 0.1.0 |
5554
| <a name="module_node_groups"></a> [node\_groups](#module\_node\_groups) | ./modules/self_managed_nodes | n/a |
@@ -73,7 +72,6 @@ provision additional node groups.
7372
| [aws_iam_role_policy_attachment.cluster](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_role_policy_attachment) | resource |
7473
| [aws_iam_role_policy_attachment.workers](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_role_policy_attachment) | resource |
7574
| [aws_iam_service_linked_role.autoscaling](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_service_linked_role) | resource |
76-
| [null_resource.apply](https://registry.terraform.io/providers/hashicorp/null/latest/docs/resources/resource) | resource |
7775
| [aws_ami.eks_default_bottlerocket](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/ami) | data source |
7876
| [aws_caller_identity.current](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/caller_identity) | data source |
7977
| [aws_eks_cluster_auth.this](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/eks_cluster_auth) | data source |

aws_auth.tf

-50
This file was deleted.

k8s_provider.tf

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
provider "kubernetes" {
2+
host = module.eks.cluster_endpoint
3+
cluster_ca_certificate = base64decode(module.eks.cluster_certificate_authority_data)
4+
token = data.aws_eks_cluster_auth.this.token
5+
}

main.tf

+8-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
module "eks" {
22
source = "terraform-aws-modules/eks/aws"
3-
version = "~> 18.7.2"
3+
version = "~> 18.20.0"
44

55
cluster_name = var.cluster_name
66
cluster_version = var.cluster_version
@@ -63,4 +63,11 @@ module "eks" {
6363
enable_irsa = true
6464

6565
create_node_security_group = true
66+
67+
# aws-auth configmap
68+
manage_aws_auth_configmap = true
69+
aws_auth_node_iam_role_arns_non_windows = [aws_iam_role.workers.arn]
70+
aws_auth_roles = var.role_mapping
71+
aws_auth_users = var.user_mapping
72+
aws_auth_accounts = []
6673
}

modules/self_managed_nodes/README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ the type of images:
5353

5454
| Name | Source | Version |
5555
|------|--------|---------|
56-
| <a name="module_self_managed_group"></a> [self\_managed\_group](#module\_self\_managed\_group) | terraform-aws-modules/eks/aws//modules/self-managed-node-group | ~> 18.7.2 |
56+
| <a name="module_self_managed_group"></a> [self\_managed\_group](#module\_self\_managed\_group) | terraform-aws-modules/eks/aws//modules/self-managed-node-group | ~> 18.20.0 |
5757

5858
## Resources
5959

modules/self_managed_nodes/main.tf

+3-2
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ locals {
4040

4141
module "self_managed_group" {
4242
source = "terraform-aws-modules/eks/aws//modules/self-managed-node-group"
43-
version = "~> 18.7.2"
43+
version = "~> 18.20.0"
4444

4545
for_each = local.self_managed_node_groups
4646

@@ -157,5 +157,6 @@ module "self_managed_group" {
157157
security_group_rules = try(each.value.security_group_rules, local.self_managed_node_group_defaults.security_group_rules, {})
158158
security_group_tags = try(each.value.security_group_tags, local.self_managed_node_group_defaults.security_group_tags, {})
159159

160-
tags = merge(var.tags, try(each.value.tags, local.self_managed_node_group_defaults.tags, {}))
160+
tags = merge(var.tags, try(each.value.tags, local.self_managed_node_group_defaults.tags, {}))
161+
use_default_tags = true
161162
}

versions.tf

+3-3
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,9 @@ terraform {
55
source = "hashicorp/aws"
66
version = "~> 4.0"
77
}
8-
null = {
9-
source = "hashicorp/null"
10-
version = "~> 3.1"
8+
kubernetes = {
9+
source = "hashicorp/kubernetes"
10+
version = "~> 2.10"
1111
}
1212
}
1313
}

0 commit comments

Comments
 (0)