diff --git a/nodejs/eks/cluster.ts b/nodejs/eks/cluster.ts index b481023b6..988deaa9d 100644 --- a/nodejs/eks/cluster.ts +++ b/nodejs/eks/cluster.ts @@ -705,6 +705,21 @@ export function createCore( { parent: parent }, ); + // Add CSI Driver for Storage + + const ebsCsiDriver = new k8s.helm.v3.Chart( + "aws-ebs-csi-driver", + { + namespace: "kube-system", + chart: "aws-ebs-csi-driver", + fetchOpts: { + repo: "https://kubernetes-sigs.github.io/aws-ebs-csi-driver", + }, + }, + { + provider: k8sProvider, + } + ) // Add any requested StorageClasses. const storageClasses = args.storageClasses || {}; const userStorageClasses = {} as UserStorageClasses; @@ -780,6 +795,10 @@ export function createCore( id: "arn:aws:iam::aws:policy/AmazonEC2ContainerRegistryReadOnly", arn: pulumi.interpolate`arn:${partition}:iam::aws:policy/AmazonEC2ContainerRegistryReadOnly`, }, + { + id: "arn:aws:iam::aws:policy/service-role/AmazonEBSCSIDriverPolicy", + arn: pulumi.interpolate`arn:${partition}:iam::aws:policy/service-role/AmazonEBSCSIDriverPolicy`, + }, ], }, { parent, provider }, diff --git a/nodejs/eks/storageclass.ts b/nodejs/eks/storageclass.ts index 8ed212af0..b63dd3baf 100644 --- a/nodejs/eks/storageclass.ts +++ b/nodejs/eks/storageclass.ts @@ -20,7 +20,7 @@ import * as pulumi from "@pulumi/pulumi"; /** * EBSVolumeType lists the set of volume types accepted by an EKS storage class. */ -export type EBSVolumeType = "io1" | "gp2" | "sc1" | "st1"; +export type EBSVolumeType = "io1" | "gp2" | "gp3" | "sc1" | "st1"; /** * StorageClass describes the inputs to a single Kubernetes StorageClass provisioned by AWS. Any number of storage