eks-for-prod
Version:
EKS Cluster + EFS Filesystem + Aurora Serverless Cluster
22 lines (21 loc) • 1.24 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.ClusterAutoscaler = void 0;
const core_1 = require("@aws-cdk/core");
const service_account_with_policy_1 = require("./service-account-with-policy");
const cluster_autoscaler_policy_1 = require("./service-account-policies/cluster-autoscaler-policy");
const utils_1 = require("./utils");
class ClusterAutoscaler extends core_1.Construct {
constructor(scope, id, props) {
super(scope, id);
const serviceAccount = new service_account_with_policy_1.ServiceAccountWithPolicy(this, 'ClusterAutoScalerServiceAccount', {
cluster: props.cluster,
jsonPolicy: cluster_autoscaler_policy_1.clusterAutoscalerPolicy,
serviceAccountName: 'cluster-autoscaler'
});
core_1.Tags.of(serviceAccount).add('k8s-addon', 'cluster-autoscaler.addons.k8s.io');
core_1.Tags.of(serviceAccount).add('k8s-app', 'cluster-autoscaler');
utils_1.Utils.applyYamlManifest(props.cluster, 'cluster-autoscaler-autodiscover', manifestContent => manifestContent.replace('<YOUR CLUSTER NAME>', props.cluster.clusterName)).node.addDependency(serviceAccount);
}
}
exports.ClusterAutoscaler = ClusterAutoscaler;