Skip to content

Commit

Permalink
Merge pull request #356 from aws-samples/fix/example-new-vpc-add-depn…
Browse files Browse the repository at this point in the history
…dency

Allow usage of depends_on for accelerator module, remove fargate_profiles from base example
  • Loading branch information
kcoleman731 authored Mar 18, 2022
2 parents 382346f + af3f828 commit b4cfef8
Show file tree
Hide file tree
Showing 7 changed files with 42 additions and 30 deletions.
21 changes: 1 addition & 20 deletions examples/eks-cluster-with-new-vpc/main.tf
Original file line number Diff line number Diff line change
Expand Up @@ -121,26 +121,7 @@ module "aws-eks-accelerator-for-terraform" {
subnet_ids = module.aws_vpc.private_subnets
}
}

# FARGATE
fargate_profiles = {
default = {
fargate_profile_name = "default"
fargate_profile_namespaces = [
{
namespace = "default"
k8s_labels = {
Environment = "preprod"
Zone = "dev"
env = "fargate"
}
}]
subnet_ids = module.aws_vpc.private_subnets
additional_tags = {
ExtraTag = "Fargate"
}
},
}
depends_on = [module.aws_vpc]
}

module "kubernetes-addons" {
Expand Down
15 changes: 10 additions & 5 deletions examples/managed-node-groups-tfvars/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -105,23 +105,22 @@ terraform destroy --auto-approve
| Name | Version |
|------|---------|
| <a name="requirement_terraform"></a> [terraform](#requirement\_terraform) | >= 1.0.1 |
| <a name="requirement_aws"></a> [aws](#requirement\_aws) | >= 3.66.0 |
| <a name="requirement_aws"></a> [aws](#requirement\_aws) | >= 4.4.0 |
| <a name="requirement_helm"></a> [helm](#requirement\_helm) | >= 2.4.1 |
| <a name="requirement_kubernetes"></a> [kubernetes](#requirement\_kubernetes) | >= 2.6.1 |

## Providers

| Name | Version |
|------|---------|
| <a name="provider_aws"></a> [aws](#provider\_aws) | >= 3.66.0 |
| <a name="provider_aws"></a> [aws](#provider\_aws) | >= 4.4.0 |

## Modules

| Name | Source | Version |
|------|--------|---------|
| <a name="module_aws-eks-accelerator-for-terraform"></a> [aws-eks-accelerator-for-terraform](#module\_aws-eks-accelerator-for-terraform) | ../../ | n/a |
| <a name="module_aws_vpc"></a> [aws\_vpc](#module\_aws\_vpc) | terraform-aws-modules/vpc/aws | v3.2.0 |
| <a name="module_kubernetes-addons"></a> [kubernetes-addons](#module\_kubernetes-addons) | ../../modules/kubernetes-addons | n/a |
| <a name="module_aws_vpc"></a> [aws\_vpc](#module\_aws\_vpc) | terraform-aws-modules/vpc/aws | v3.12.0 |

## Resources

Expand All @@ -134,7 +133,13 @@ terraform destroy --auto-approve

## Inputs

No inputs.
| Name | Description | Type | Default | Required |
|------|-------------|------|---------|:--------:|
| <a name="input_environment"></a> [environment](#input\_environment) | Environment area, e.g. prod or preprod | `string` | `"preprod"` | no |
| <a name="input_managed_node_groups"></a> [managed\_node\_groups](#input\_managed\_node\_groups) | A map of Managed node group(s) | `any` | n/a | yes |
| <a name="input_tenant"></a> [tenant](#input\_tenant) | Account Name or unique account unique id e.g., apps or management or aws007 | `string` | `"aws"` | no |
| <a name="input_vpc_cidr"></a> [vpc\_cidr](#input\_vpc\_cidr) | VPC CIDR | `string` | n/a | yes |
| <a name="input_zone"></a> [zone](#input\_zone) | zone, e.g. dev or qa or load or ops etc... | `string` | `"dev"` | no |

## Outputs

Expand Down
4 changes: 4 additions & 0 deletions modules/aws-eks-managed-node-groups/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -176,6 +176,10 @@ No modules.
| [aws_iam_instance_profile.managed_ng](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_instance_profile) | resource |
| [aws_iam_role.managed_ng](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_role) | resource |
| [aws_iam_role_policy_attachment.managed_ng](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_role_policy_attachment) | resource |
| [aws_iam_role_policy_attachment.managed_ng_AmazonEC2ContainerRegistryReadOnly](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_role_policy_attachment) | resource |
| [aws_iam_role_policy_attachment.managed_ng_AmazonEKSWorkerNodePolicy](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_role_policy_attachment) | resource |
| [aws_iam_role_policy_attachment.managed_ng_AmazonEKS_CNI_Policy](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_role_policy_attachment) | resource |
| [aws_iam_role_policy_attachment.managed_ng_AmazonSSMManagedInstanceCore](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_role_policy_attachment) | resource |
| [aws_launch_template.managed_node_groups](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/launch_template) | resource |
| [aws_security_group.managed_ng](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/security_group) | resource |
| [aws_security_group_rule.cluster_primary_sg_ingress_worker_sgr](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/security_group_rule) | resource |
Expand Down
20 changes: 20 additions & 0 deletions modules/aws-eks-managed-node-groups/iam.tf
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,26 @@ resource "aws_iam_instance_profile" "managed_ng" {
}
}

resource "aws_iam_role_policy_attachment" "managed_ng_AmazonEKSWorkerNodePolicy" {
policy_arn = "${local.policy_arn_prefix}/AmazonEKSWorkerNodePolicy"
role = aws_iam_role.managed_ng.name
}

resource "aws_iam_role_policy_attachment" "managed_ng_AmazonEKS_CNI_Policy" {
policy_arn = "${local.policy_arn_prefix}/AmazonEKS_CNI_Policy"
role = aws_iam_role.managed_ng.name
}

resource "aws_iam_role_policy_attachment" "managed_ng_AmazonEC2ContainerRegistryReadOnly" {
policy_arn = "${local.policy_arn_prefix}/AmazonEC2ContainerRegistryReadOnly"
role = aws_iam_role.managed_ng.name
}

resource "aws_iam_role_policy_attachment" "managed_ng_AmazonSSMManagedInstanceCore" {
policy_arn = "${local.policy_arn_prefix}/AmazonSSMManagedInstanceCore"
role = aws_iam_role.managed_ng.name
}

resource "aws_iam_role_policy_attachment" "managed_ng" {
for_each = local.eks_worker_policies
policy_arn = each.key
Expand Down
6 changes: 1 addition & 5 deletions modules/aws-eks-managed-node-groups/locals.tf
Original file line number Diff line number Diff line change
Expand Up @@ -66,11 +66,7 @@ locals {
templatefile("${path.module}/templates/userdata-${local.managed_node_group["launch_template_os"]}.tpl", local.userdata_params)
)

eks_worker_policies = toset(concat([
"${local.policy_arn_prefix}/AmazonEKSWorkerNodePolicy",
"${local.policy_arn_prefix}/AmazonEKS_CNI_Policy",
"${local.policy_arn_prefix}/AmazonEC2ContainerRegistryReadOnly",
"${local.policy_arn_prefix}/AmazonSSMManagedInstanceCore"],
eks_worker_policies = toset(concat(
local.managed_node_group["additional_iam_policies"]
))

Expand Down
3 changes: 3 additions & 0 deletions modules/aws-eks-managed-node-groups/main.tf
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,9 @@ resource "aws_eks_node_group" "managed_ng" {
depends_on = [
aws_iam_role.managed_ng,
aws_iam_instance_profile.managed_ng,
aws_iam_role_policy_attachment.managed_ng_AmazonEKS_CNI_Policy,
aws_iam_role_policy_attachment.managed_ng_AmazonEKSWorkerNodePolicy,
aws_iam_role_policy_attachment.managed_ng_AmazonEC2ContainerRegistryReadOnly,
aws_iam_role_policy_attachment.managed_ng
]

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,9 @@ resource "aws_launch_template" "managed_node_groups" {
depends_on = [
aws_iam_role.managed_ng,
aws_iam_instance_profile.managed_ng,
aws_iam_role_policy_attachment.managed_ng_AmazonEKS_CNI_Policy,
aws_iam_role_policy_attachment.managed_ng_AmazonEKSWorkerNodePolicy,
aws_iam_role_policy_attachment.managed_ng_AmazonEC2ContainerRegistryReadOnly,
aws_iam_role_policy_attachment.managed_ng
]
}

0 comments on commit b4cfef8

Please sign in to comment.