Skip to content

Commit ca931c0

Browse files
author
Jake Neyer
authored
Update to eks helm terraform module (#99)
1 parent a40b95b commit ca931c0

File tree

18 files changed

+186
-37
lines changed

18 files changed

+186
-37
lines changed

helm/charts/polytomic/templates/cache-pvc.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,4 +47,4 @@ spec:
4747
requests:
4848
storage: {{ .Values.polytomic.cache.size }}
4949
{{- end }}
50-
{{- end -}}
50+
{{- end -}}

helm/charts/polytomic/templates/sync-depoyment.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ spec:
7070
{{- toYaml . | nindent 8 }}
7171
{{- end }}
7272
volumes:
73-
{{ if and (index .Values "nfs-server-provisioner" "enabled") (.Values.polytomic.cache.enabled) }}
73+
{{ if .Values.polytomic.cache.enabled }}
7474
- name: cache-volume
7575
persistentVolumeClaim:
7676
claimName: {{ .Values.polytomic.cache.volume_name }}

helm/charts/polytomic/templates/worker-deployment.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ spec:
7070
{{- toYaml . | nindent 8 }}
7171
{{- end }}
7272
volumes:
73-
{{ if and (index .Values "nfs-server-provisioner" "enabled") (.Values.polytomic.cache.enabled) }}
73+
{{ if .Values.polytomic.cache.enabled }}
7474
- name: cache-volume
7575
persistentVolumeClaim:
7676
claimName: {{ .Values.polytomic.cache.volume_name }}

terraform/examples/eks-complete/app/main.tf

Lines changed: 30 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,16 @@
11
locals {
2-
region = "us-west-2"
3-
prefix = "polytomic"
4-
url = "polytomic.${local.domain}"
5-
domain = "example.com"
6-
polytomic_deployment = "deployment"
7-
polytomic_deployment_key = "key"
8-
polytomic_image = "568237466542.dkr.ecr.us-west-2.amazonaws.com/polytomic-onprem"
9-
polytomic_image_tag = "latest"
10-
polytomic_root_user = "user@example.com"
2+
region = "us-west-2"
3+
prefix = "polytomic"
4+
url = "polytomic.${local.domain}"
5+
domain = "example.com"
6+
polytomic_deployment = "deployment"
7+
polytomic_deployment_key = "key"
8+
polytomic_image = "568237466542.dkr.ecr.us-west-2.amazonaws.com/polytomic-onprem"
9+
polytomic_image_tag = "latest"
10+
polytomic_root_user = "user@example.com"
11+
polytomic_bucket = "polytomic-bucket"
12+
polytomic_google_client_id = "google-client-id"
13+
polytomic_google_client_secret = "google-client-secret"
1114
}
1215

1316

@@ -62,18 +65,24 @@ module "addons" {
6265
module "eks_helm" {
6366
source = "github.com/polytomic/on-premises/terraform/modules/eks-helm"
6467

65-
certificate_arn = aws_acm_certificate.cert.arn
66-
subnets = join(",", data.terraform_remote_state.eks.outputs.public_subnets)
67-
polytomic_url = local.url
68-
polytomic_deployment = local.polytomic_deployment
69-
polytomic_deployment_key = local.polytomic_deployment_key
70-
polytomic_image = local.polytomic_image
71-
polytomic_image_tag = local.polytomic_image_tag
72-
polytomic_root_user = local.polytomic_root_user
73-
redis_host = data.terraform_remote_state.eks.outputs.redis_host
74-
redis_port = data.terraform_remote_state.eks.outputs.redis_port
75-
postgres_host = data.terraform_remote_state.eks.outputs.postgres_host
76-
postgres_password = data.terraform_remote_state.eks.outputs.postgres_password
68+
certificate_arn = aws_acm_certificate.cert.arn
69+
subnets = join(",", data.terraform_remote_state.eks.outputs.public_subnets)
70+
polytomic_url = local.url
71+
polytomic_deployment = local.polytomic_deployment
72+
polytomic_deployment_key = local.polytomic_deployment_key
73+
polytomic_image = local.polytomic_image
74+
polytomic_image_tag = local.polytomic_image_tag
75+
polytomic_root_user = local.polytomic_root_user
76+
redis_host = data.terraform_remote_state.eks.outputs.redis_host
77+
redis_port = data.terraform_remote_state.eks.outputs.redis_port
78+
postgres_host = data.terraform_remote_state.eks.outputs.postgres_host
79+
postgres_password = data.terraform_remote_state.eks.outputs.postgres_password
80+
polytomic_google_client_id = local.polytomic_google_client_id
81+
polytomic_google_client_secret = local.polytomic_google_client_secret
82+
polytomic_bucket = data.terraform_remote_state.eks.outputs.bucket
83+
polytomic_bucket_region = local.region
84+
efs_id = data.terraform_remote_state.eks.outputs.filesystem_id
85+
polytomic_service_account_role_arn = module.addons.polytomic_role_arn
7786

7887
depends_on = [
7988
module.addons
Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
locals {
2-
region = "us-west-2"
3-
prefix = "polytomic"
4-
vpc_azs = ["us-west-2a", "us-west-2b", "us-west-2c"]
2+
region = "us-west-2"
3+
prefix = "polytomic"
4+
vpc_azs = ["us-west-2a", "us-west-2b", "us-west-2c"]
5+
polytomic_bucket = "polytomic"
56
}
67

78
provider "aws" {
@@ -12,8 +13,9 @@ provider "aws" {
1213
module "eks" {
1314
source = "github.com/polytomic/on-premises/terraform/modules/eks"
1415

15-
prefix = local.prefix
16-
region = local.region
17-
vpc_azs = local.vpc_azs
16+
prefix = local.prefix
17+
region = local.region
18+
vpc_azs = local.vpc_azs
19+
bucket_name = local.polytomic_bucket
1820
}
1921

terraform/examples/eks-complete/cluster/outputs.tf

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,3 +48,7 @@ output "postgres_host" {
4848
output "filesystem_id" {
4949
value = module.eks.filesystem_id
5050
}
51+
52+
output "bucket" {
53+
value = module.eks.bucket
54+
}

terraform/examples/gke-complete/cluster/main.tf

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
locals {
2-
project_id = ""
3-
region = "us-east1"
2+
project_id = ""
3+
region = "us-east1"
4+
polytomic_bucket = "polytomic"
45
}
56

67
provider "google" {

terraform/modules/eks-addons/README.md

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ No requirements.
66

77
| Name | Version |
88
|------|---------|
9+
| <a name="provider_aws"></a> [aws](#provider\_aws) | n/a |
910
| <a name="provider_helm"></a> [helm](#provider\_helm) | n/a |
1011
| <a name="provider_kubernetes"></a> [kubernetes](#provider\_kubernetes) | n/a |
1112

@@ -17,14 +18,17 @@ No requirements.
1718
| <a name="module_ebs_csi_node_irsa_role"></a> [ebs\_csi\_node\_irsa\_role](#module\_ebs\_csi\_node\_irsa\_role) | terraform-aws-modules/iam/aws//modules/iam-role-for-service-accounts-eks | n/a |
1819
| <a name="module_efs_csi_irsa_role"></a> [efs\_csi\_irsa\_role](#module\_efs\_csi\_irsa\_role) | terraform-aws-modules/iam/aws//modules/iam-role-for-service-accounts-eks | n/a |
1920
| <a name="module_lb_role"></a> [lb\_role](#module\_lb\_role) | terraform-aws-modules/iam/aws//modules/iam-role-for-service-accounts-eks | n/a |
21+
| <a name="module_polytomic_role"></a> [polytomic\_role](#module\_polytomic\_role) | terraform-aws-modules/iam/aws//modules/iam-role-for-service-accounts-eks | n/a |
2022

2123
## Resources
2224

2325
| Name | Type |
2426
|------|------|
27+
| [aws_iam_policy.polytomic](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_policy) | resource |
2528
| [helm_release.efs-driver](https://registry.terraform.io/providers/hashicorp/helm/latest/docs/resources/release) | resource |
2629
| [helm_release.lb](https://registry.terraform.io/providers/hashicorp/helm/latest/docs/resources/release) | resource |
2730
| [kubernetes_service_account.service-account](https://registry.terraform.io/providers/hashicorp/kubernetes/latest/docs/resources/service_account) | resource |
31+
| [aws_iam_policy_document.polytomic](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/iam_policy_document) | data source |
2832

2933
## Inputs
3034

@@ -39,4 +43,6 @@ No requirements.
3943

4044
## Outputs
4145

42-
No outputs.
46+
| Name | Description |
47+
|------|-------------|
48+
| <a name="output_polytomic_role_arn"></a> [polytomic\_role\_arn](#output\_polytomic\_role\_arn) | n/a |

terraform/modules/eks-addons/main.tf

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -146,3 +146,34 @@ storageClasses:
146146
EOF
147147
]
148148
}
149+
150+
151+
module "polytomic_role" {
152+
source = "terraform-aws-modules/iam/aws//modules/iam-role-for-service-accounts-eks"
153+
role_name = "${var.prefix}_iam_eks"
154+
155+
role_policy_arns = {
156+
policy = aws_iam_policy.polytomic.arn
157+
}
158+
159+
oidc_providers = {
160+
ex = {
161+
provider_arn = var.oidc_provider_arn
162+
namespace_service_accounts = ["polytomic:polytomic"]
163+
}
164+
}
165+
}
166+
167+
resource "aws_iam_policy" "polytomic" {
168+
name = "${var.prefix}-polytomic"
169+
description = "Policy for Polytomic"
170+
policy = data.aws_iam_policy_document.polytomic.json
171+
}
172+
173+
data "aws_iam_policy_document" "polytomic" {
174+
statement {
175+
actions = ["s3:*"]
176+
resources = ["*"]
177+
effect = "Allow"
178+
}
179+
}
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
output "polytomic_role_arn" {
2+
value = module.polytomic_role.iam_role_arn
3+
}

0 commit comments

Comments
 (0)