mirror of
https://github.com/ysoftdevs/terraform-aws-eks.git
synced 2026-02-23 02:54:53 +01:00
123 lines
4.1 KiB
Markdown
123 lines
4.1 KiB
Markdown
# eks_test_fixture example
|
|
|
|
This set of templates serves a few purposes. It:
|
|
|
|
1. shows developers how to use the module in a straightforward way as integrated with other terraform community supported modules.
|
|
2. serves as the test infrastructure for CI on the project.
|
|
3. provides a simple way to play with the Kubernetes cluster you create.
|
|
|
|
## testing with kubectl
|
|
|
|
Once converged, `kubeconfig` and `config-map-aws-auth.yml` should be in this directory.
|
|
Ensure you have a recent version of `kubectl` on your PATH ([instructions here](https://kubernetes.io/docs/tasks/tools/install-kubectl/#install-kubectl))
|
|
|
|
```bash
|
|
curl -o heptio-authenticator-aws https://amazon-eks.s3-us-west-2.amazonaws.com/1.10.3/2018-06-05/bin/darwin/amd64/heptio-authenticator-aws
|
|
mv heptio-authenticator-aws ~/go/bin/
|
|
kubectl apply -f examples/eks_test_fixture/config-map-aws-auth.yaml --kubeconfig examples/eks_test_fixture/kubeconfig
|
|
# configmap "aws-auth" created
|
|
kubectl get nodes --watch --kubeconfig examples/eks_test_fixture/kubeconfig
|
|
```
|
|
|
|
## IAM Permissions
|
|
|
|
The following IAM policy is the minimum needed to execute the module from the test suite.
|
|
|
|
```json
|
|
{
|
|
"Version": "2012-10-17",
|
|
"Statement": [
|
|
{
|
|
"Sid": "VisualEditor0",
|
|
"Effect": "Allow",
|
|
"Action": [
|
|
"autoscaling:AttachInstances",
|
|
"autoscaling:CreateAutoScalingGroup",
|
|
"autoscaling:CreateLaunchConfiguration",
|
|
"autoscaling:CreateOrUpdateTags",
|
|
"autoscaling:DeleteAutoScalingGroup",
|
|
"autoscaling:DeleteLaunchConfiguration",
|
|
"autoscaling:DeleteTags",
|
|
"autoscaling:Describe*",
|
|
"autoscaling:DetachInstances",
|
|
"autoscaling:SetDesiredCapacity",
|
|
"autoscaling:UpdateAutoScalingGroup",
|
|
"ec2:AllocateAddress",
|
|
"ec2:AssignPrivateIpAddresses",
|
|
"ec2:Associate*",
|
|
"ec2:AttachInternetGateway",
|
|
"ec2:AttachNetworkInterface",
|
|
"ec2:AuthorizeSecurityGroupEgress",
|
|
"ec2:AuthorizeSecurityGroupIngress",
|
|
"ec2:CreateDefaultSubnet",
|
|
"ec2:CreateDhcpOptions",
|
|
"ec2:CreateEgressOnlyInternetGateway",
|
|
"ec2:CreateInternetGateway",
|
|
"ec2:CreateNatGateway",
|
|
"ec2:CreateNetworkInterface",
|
|
"ec2:CreateRoute",
|
|
"ec2:CreateRouteTable",
|
|
"ec2:CreateSecurityGroup",
|
|
"ec2:CreateSubnet",
|
|
"ec2:CreateTags",
|
|
"ec2:CreateVolume",
|
|
"ec2:CreateVpc",
|
|
"ec2:DeleteDhcpOptions",
|
|
"ec2:DeleteEgressOnlyInternetGateway",
|
|
"ec2:DeleteInternetGateway",
|
|
"ec2:DeleteNatGateway",
|
|
"ec2:DeleteNetworkInterface",
|
|
"ec2:DeleteRoute",
|
|
"ec2:DeleteRouteTable",
|
|
"ec2:DeleteSecurityGroup",
|
|
"ec2:DeleteSubnet",
|
|
"ec2:DeleteTags",
|
|
"ec2:DeleteVolume",
|
|
"ec2:DeleteVpc",
|
|
"ec2:DeleteVpnGateway",
|
|
"ec2:Describe*",
|
|
"ec2:DetachInternetGateway",
|
|
"ec2:DetachNetworkInterface",
|
|
"ec2:DetachVolume",
|
|
"ec2:Disassociate*",
|
|
"ModifySubnetAttribute",
|
|
"ec2:ModifyVpcAttribute",
|
|
"ec2:ModifyVpcEndpoint",
|
|
"ec2:ReleaseAddress",
|
|
"ec2:RevokeSecurityGroupEgress",
|
|
"ec2:RevokeSecurityGroupIngress",
|
|
"ec2:UpdateSecurityGroupRuleDescriptionsEgress",
|
|
"ec2:UpdateSecurityGroupRuleDescriptionsIngress",
|
|
"eks:CreateCluster",
|
|
"eks:DeleteCluster",
|
|
"eks:DescribeCluster",
|
|
"eks:ListClusters",
|
|
"iam:AddRoleToInstanceProfile",
|
|
"iam:AttachRolePolicy",
|
|
"iam:CreateInstanceProfile",
|
|
"iam:CreatePolicy",
|
|
"iam:CreatePolicyVersion",
|
|
"iam:CreateRole",
|
|
"iam:DeleteInstanceProfile",
|
|
"iam:DeletePolicy",
|
|
"iam:DeleteRole",
|
|
"iam:DeleteRolePolicy",
|
|
"iam:DeleteServiceLinkedRole",
|
|
"iam:DetachRolePolicy",
|
|
"iam:GetInstanceProfile",
|
|
"iam:GetPolicy",
|
|
"iam:GetPolicyVersion",
|
|
"iam:GetRole",
|
|
"iam:GetRolePolicy",
|
|
"iam:List*",
|
|
"iam:PassRole",
|
|
"iam:PutRolePolicy",
|
|
"iam:RemoveRoleFromInstanceProfile",
|
|
"iam:UpdateAssumeRolePolicy"
|
|
],
|
|
"Resource": "*"
|
|
}
|
|
]
|
|
}
|
|
```
|