File tree 7 files changed +63
-26
lines changed
7 files changed +63
-26
lines changed Original file line number Diff line number Diff line change @@ -54,6 +54,7 @@ resource "aws_eks_addon" "core" {
54
54
" vpc-cni" ,
55
55
" coredns" ,
56
56
" aws-ebs-csi-driver" ,
57
+ var . s3_csi_driver_enabled ? [" aws-mountpoint-s3-csi-driver" ] : [],
57
58
var . efs_enabled ? [" aws-efs-csi-driver" ] : [],
58
59
]))
59
60
Original file line number Diff line number Diff line change @@ -25,17 +25,11 @@ provider "kubernetes" {
25
25
config_path = " ./kubeconfig"
26
26
}
27
27
28
- module "encrypted-launch-template" {
29
- source = " github.com/opszero/terraform-aws-kubespot//module/encrypted-launch-template?ref=developv8"
30
28
31
- eks_cluster = module. eks_cluster
32
- eks_cluster_version = " 1.29"
33
- }
34
29
35
30
module "opszero-eks" {
36
31
source = " github.com/opszero/terraform-aws-kubespot"
37
32
38
- aws_profile = local. profile
39
33
zones = [
40
34
" us-east-1a" ,
41
35
" us-east-1b"
@@ -78,21 +72,16 @@ module "opszero-eks" {
78
72
nodes_max_size = 3 ,
79
73
nodes_min_size = 3
80
74
ami_type = " CUSTOM"
81
- launch_template = [{
82
- id = module.encrypted- launch- template.launch_template_id
83
- version = " $Latest"
84
- }]
85
75
},
86
76
" t3a-medium-spot2" = {
87
77
instance_types = [
88
78
" t3a.medium" ,
89
79
]
90
- capacity_type = " SPOT"
91
- node_disk_size = 20
80
+ node_disk_size = 32
92
81
nodes_in_public_subnet = false
93
- node_desired_capacity = 3 ,
94
- nodes_max_size = 3 ,
95
- nodes_min_size = 3
82
+ node_desired_capacity = 1 ,
83
+ nodes_max_size = 1 ,
84
+ nodes_min_size = 1
96
85
}
97
86
}
98
87
@@ -103,6 +92,9 @@ module "opszero-eks" {
103
92
nat_enabled = true
104
93
vpc_flow_logs_enabled = false
105
94
efs_enabled = false
95
+ # csi
96
+ s3_csi_driver_enabled = false
97
+ s3_csi_bucket_names = [" test-6647373dd" ] # name of s3
106
98
}
107
99
108
100
module "helm-common" {
@@ -113,12 +105,3 @@ module "helm-common" {
113
105
nginx_max_replicas = 3
114
106
}
115
107
116
-
117
- # resource "aws_ecr_repository" "opszero" {
118
- # name = "opszero"
119
- # image_tag_mutability = "MUTABLE"
120
-
121
- # # image_scanning_configuration {
122
- # # scan_on_push = true
123
- # # }
124
- # }
Original file line number Diff line number Diff line change @@ -384,3 +384,43 @@ resource "aws_iam_policy" "ebs" {
384
384
}
385
385
EOF
386
386
}
387
+
388
+
389
+ resource "aws_iam_policy" "s3_policy" {
390
+ count = var. s3_csi_driver_enabled ? 1 : 0
391
+ name = " ${ var . environment_name } -s3-access-policy"
392
+ description = " IAM policy for S3 access"
393
+
394
+ policy = jsonencode ({
395
+ Version = " 2012-10-17" ,
396
+ Statement = [
397
+ {
398
+ Sid = " MountpointFullBucketAccess" ,
399
+ Effect = " Allow" ,
400
+ Action = [
401
+ " s3:ListBucket"
402
+ ],
403
+ Resource = [for bucket in var . s3_csi_bucket_names : " arn:aws:s3:::$bucket" ]
404
+ },
405
+ {
406
+ Sid = " MountpointFullObjectAccess" ,
407
+ Effect = " Allow" ,
408
+ Action = [
409
+ " s3:GetObject" ,
410
+ " s3:PutObject" ,
411
+ " s3:AbortMultipartUpload" ,
412
+ " s3:DeleteObject" ,
413
+ ],
414
+ Resource = [for bucket in var . s3_csi_bucket_names : " arn:aws:s3:::$bucket/*" ]
415
+ },
416
+ ],
417
+ })
418
+ }
419
+
420
+
421
+ resource "aws_iam_role_policy_attachment" "csi" {
422
+ count = var. s3_csi_driver_enabled ? 1 : 0
423
+
424
+ policy_arn = join (" " , aws_iam_policy. s3_policy . * . arn )
425
+ role = aws_iam_role. node . name
426
+ }
Original file line number Diff line number Diff line change 1
1
resource "helm_release" "metrics-server" {
2
+ depends_on = [aws_eks_cluster . cluster ]
2
3
name = " metrics-server"
3
4
repository = " https://kubernetes-sigs.github.io/metrics-server/"
4
5
chart = " metrics-server"
Original file line number Diff line number Diff line change @@ -100,4 +100,4 @@ resource "aws_autoscaling_group" "asg_nodes" {
100
100
value = var. environment_name
101
101
propagate_at_launch = true
102
102
}
103
- }
103
+ }
Original file line number Diff line number Diff line change @@ -42,7 +42,7 @@ resource "aws_launch_template" "encrypted_launch_template" {
42
42
no_device = true
43
43
ebs {
44
44
delete_on_termination = true
45
- volume_size = 2
45
+ volume_size = 32
46
46
volume_type = " gp3"
47
47
encrypted = true
48
48
}
Original file line number Diff line number Diff line change @@ -442,3 +442,15 @@ variable "access_policies" {
442
442
description = " access policies"
443
443
default = []
444
444
}
445
+
446
+ variable "s3_csi_driver_enabled" {
447
+ description = " Enable or disable the S3 CSI driver"
448
+ type = bool
449
+ default = false
450
+ }
451
+
452
+ variable "s3_csi_bucket_names" {
453
+ description = " The name of the S3 bucket for the CSI driver"
454
+ type = list (string )
455
+ default = [" " ]
456
+ }
You can’t perform that action at this time.
0 commit comments