# Amazon EKS Blueprints Addon Tests Configuration in this directory provisions: - An EKS cluster and VPC used to support the example - An addon (Helm release) for [`metrics-server`](https://github.com/kubernetes-sigs/metrics-server) without an IAM role for service account (IRSA) - An addon (Helm release) for [`karpenter`](https://github.com/aws/karpenter) with an IAM role for service account (IRSA) - An IAM role for service account (IRSA) suitable for use by the [AWS VPC-CNI](https://github.com/aws/amazon-vpc-cni-k8s) ## Usage To run this example you need to execute: ```bash $ terraform init $ terraform plan $ terraform apply ``` Note that this example may create resources which will incur monetary charges on your AWS bill. Run `terraform destroy` when you no longer need these resources. ## Requirements | Name | Version | |------|---------| | [terraform](#requirement\_terraform) | >= 1.0 | | [aws](#requirement\_aws) | >= 4.47 | | [helm](#requirement\_helm) | >= 2.9 | | [kubectl](#requirement\_kubectl) | >= 1.14 | ## Providers | Name | Version | |------|---------| | [aws](#provider\_aws) | >= 4.47 | | [kubectl](#provider\_kubectl) | >= 1.14 | ## Modules | Name | Source | Version | |------|--------|---------| | [disabled](#module\_disabled) | ../ | n/a | | [eks](#module\_eks) | terraform-aws-modules/eks/aws | ~> 19.10 | | [helm\_release\_irsa](#module\_helm\_release\_irsa) | ../ | n/a | | [helm\_release\_only](#module\_helm\_release\_only) | ../ | n/a | | [irsa\_only](#module\_irsa\_only) | ../ | n/a | | [vpc](#module\_vpc) | terraform-aws-modules/vpc/aws | ~> 4.0 | ## Resources | Name | Type | |------|------| | [aws_iam_instance_profile.karpenter](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_instance_profile) | resource | | [aws_iam_policy.karpenter_controller](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_policy) | resource | | [kubectl_manifest.karpenter_example_deployment](https://registry.terraform.io/providers/gavinbunney/kubectl/latest/docs/resources/manifest) | resource | | [kubectl_manifest.karpenter_node_template](https://registry.terraform.io/providers/gavinbunney/kubectl/latest/docs/resources/manifest) | resource | | [kubectl_manifest.karpenter_provisioner](https://registry.terraform.io/providers/gavinbunney/kubectl/latest/docs/resources/manifest) | resource | | [aws_availability_zones.available](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/availability_zones) | data source | | [aws_caller_identity.current](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/caller_identity) | data source | | [aws_eks_cluster_auth.this](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/eks_cluster_auth) | data source | | [aws_iam_policy_document.karpenter_controller](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/iam_policy_document) | data source | ## Inputs No inputs. ## Outputs | Name | Description | |------|-------------| | [helm\_release\_irsa\_app\_version](#output\_helm\_release\_irsa\_app\_version) | The version number of the application being deployed | | [helm\_release\_irsa\_chart](#output\_helm\_release\_irsa\_chart) | The name of the chart | | [helm\_release\_irsa\_iam\_role\_arn](#output\_helm\_release\_irsa\_iam\_role\_arn) | ARN of IAM role | | [helm\_release\_irsa\_iam\_role\_name](#output\_helm\_release\_irsa\_iam\_role\_name) | Name of IAM role | | [helm\_release\_irsa\_iam\_role\_path](#output\_helm\_release\_irsa\_iam\_role\_path) | Path of IAM role | | [helm\_release\_irsa\_iam\_role\_unique\_id](#output\_helm\_release\_irsa\_iam\_role\_unique\_id) | Unique ID of IAM role | | [helm\_release\_irsa\_name](#output\_helm\_release\_irsa\_name) | Name is the name of the release | | [helm\_release\_irsa\_namespace](#output\_helm\_release\_irsa\_namespace) | Name of Kubernetes namespace | | [helm\_release\_irsa\_revision](#output\_helm\_release\_irsa\_revision) | Version is an int32 which represents the version of the release | | [helm\_release\_irsa\_values](#output\_helm\_release\_irsa\_values) | The compounded values from `values` and `set*` attributes | | [helm\_release\_irsa\_version](#output\_helm\_release\_irsa\_version) | A SemVer 2 conformant version string of the chart | | [helm\_release\_only\_app\_version](#output\_helm\_release\_only\_app\_version) | The version number of the application being deployed | | [helm\_release\_only\_chart](#output\_helm\_release\_only\_chart) | The name of the chart | | [helm\_release\_only\_iam\_role\_arn](#output\_helm\_release\_only\_iam\_role\_arn) | ARN of IAM role | | [helm\_release\_only\_iam\_role\_name](#output\_helm\_release\_only\_iam\_role\_name) | Name of IAM role | | [helm\_release\_only\_iam\_role\_path](#output\_helm\_release\_only\_iam\_role\_path) | Path of IAM role | | [helm\_release\_only\_iam\_role\_unique\_id](#output\_helm\_release\_only\_iam\_role\_unique\_id) | Unique ID of IAM role | | [helm\_release\_only\_name](#output\_helm\_release\_only\_name) | Name is the name of the release | | [helm\_release\_only\_namespace](#output\_helm\_release\_only\_namespace) | Name of Kubernetes namespace | | [helm\_release\_only\_revision](#output\_helm\_release\_only\_revision) | Version is an int32 which represents the version of the release | | [helm\_release\_only\_values](#output\_helm\_release\_only\_values) | The compounded values from `values` and `set*` attributes | | [helm\_release\_only\_version](#output\_helm\_release\_only\_version) | A SemVer 2 conformant version string of the chart | | [irsa\_only\_app\_version](#output\_irsa\_only\_app\_version) | The version number of the application being deployed | | [irsa\_only\_chart](#output\_irsa\_only\_chart) | The name of the chart | | [irsa\_only\_iam\_role\_arn](#output\_irsa\_only\_iam\_role\_arn) | ARN of IAM role | | [irsa\_only\_iam\_role\_name](#output\_irsa\_only\_iam\_role\_name) | Name of IAM role | | [irsa\_only\_iam\_role\_path](#output\_irsa\_only\_iam\_role\_path) | Path of IAM role | | [irsa\_only\_iam\_role\_unique\_id](#output\_irsa\_only\_iam\_role\_unique\_id) | Unique ID of IAM role | | [irsa\_only\_name](#output\_irsa\_only\_name) | Name is the name of the release | | [irsa\_only\_namespace](#output\_irsa\_only\_namespace) | Name of Kubernetes namespace | | [irsa\_only\_revision](#output\_irsa\_only\_revision) | Version is an int32 which represents the version of the release | | [irsa\_only\_values](#output\_irsa\_only\_values) | The compounded values from `values` and `set*` attributes | | [irsa\_only\_version](#output\_irsa\_only\_version) | A SemVer 2 conformant version string of the chart | Apache-2.0 Licensed. See [LICENSE](https://github.com/aws-ia/terraform-aws-eks-blueprints-addon/blob/main/LICENSE).