Disclaimer: You do NOT have to use it! This is just an example to let you start smoothly and focus on core aspects of the workshop, which is AI
There are 3 modules prepared:
- vpc module = https://github.com/Woitekku/nc-vpc-module
That module creates basic vpc schema, with public and private subnets, igw, natgw and routing - r53+acm module = https://github.com/Woitekku/nc-r53-acm-module
That module creates r53 zone based on your provided domain and gives you ns records needed to be setup on your isp, in order to delegate domain to route 53 - eks module = https://github.com/Woitekku/nc-eks-module
That module create eks cluster. It has:
- dedicated iam role for your team
- addons like: kube-proxy, coredns, vpc-cni, ebs and efs drivers, cloudwatch observability, node monitoring, cert-manager, kube state metrics, metrics server, prometheus node exporter
- helm charts: argo-cd (take initial password from k8s secrets), aws load balancer ingress controller, cluster autoscaler, external dns, external secrets
- 2 managed node groups with taints and tolerations: system and generic
Here is one more repo with an example how to use it:
https://github.com/Woitekku/nc-workshop
terraform init
terraform plan/apply --target module.vpc
terraform plan/apply --target module.r53-acm
terraform plan/apply
requirements:
- terraform (+tfenv, tfswitch, etc.)
- git
- pre-commit
- terraform docs
| Name | Version |
|---|---|
| terraform | 1.11.2 |
| aws | ~> 5.91.0 |
| cloudinit | ~> 2.3.6 |
| helm | ~> 2.17.0 |
| kubectl | ~> 1.19.0 |
| kubernetes | ~> 2.36.0 |
| Name | Version |
|---|---|
| aws | 5.91.0 |
| Name | Source | Version |
|---|---|---|
| eks | git::https://github.com/Woitekku/nc-eks-module.git | n/a |
| r53-acm | git::https://github.com/Woitekku/nc-r53-acm-module.git | n/a |
| vpc | git::https://github.com/Woitekku/nc-vpc-module.git | n/a |
| Name | Type |
|---|---|
| aws_iam_role.team | resource |
| aws_iam_role_policy_attachment.team | resource |
| aws_iam_policy_document.team_assume_role | data source |
| Name | Description | Type | Default | Required |
|---|---|---|---|---|
| team_assume_role_principals | n/a | list(string) |
n/a | yes |
| Name | Description |
|---|---|
| name_servers | n/a |