eks-for-prod
Version:
EKS Cluster + EFS Filesystem + Aurora Serverless Cluster
38 lines (37 loc) • 1.64 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.AwsEfsCsiDriver = void 0;
const core_1 = require("@aws-cdk/core");
const service_account_with_policy_1 = require("./service-account-with-policy");
const aws_efs_csi_driver_policy_1 = require("./service-account-policies/aws-efs-csi-driver-policy");
class AwsEfsCsiDriver extends core_1.Construct {
constructor(scope, id, props) {
super(scope, id);
const serviceAccount = new service_account_with_policy_1.ServiceAccountWithPolicy(this, 'AwsEfsCsiDriverServiceAccount', {
cluster: props.cluster,
serviceAccountName: 'aws-efs-csi-driver',
serviceAccountNamespace: 'kube-system',
jsonPolicy: aws_efs_csi_driver_policy_1.awsEfsCsiDriverPolicy
});
const helmChart = props.cluster.addHelmChart('AwsEfsCsiDriverHelmChart', {
namespace: 'kube-system',
release: 'aws-efs-csi-driver',
version: '2.0.1',
chart: 'aws-efs-csi-driver',
repository: 'https://kubernetes-sigs.github.io/aws-efs-csi-driver',
values: {
image: {
repository: '602401143452.dkr.ecr.us-east-1.amazonaws.com/eks/aws-efs-csi-driver'
},
controller: {
serviceAccount: {
create: false,
name: serviceAccount.serviceAccount.serviceAccountName
}
}
}
});
helmChart.node.addDependency(serviceAccount);
}
}
exports.AwsEfsCsiDriver = AwsEfsCsiDriver;