Skip to content

ministryofjustice/cloud-platform-terraform-cluster-autoscaler

Repository files navigation

cloud-platform-terraform-cluster-autoscaler

Releases

This is the cluster-autoscaler terraform module

Usage

module "cluster_autoscaler" {
  source = "github.com/ministryofjustice/cloud-platform-terraform-cluster-autoscaler?ref=1.0.3"

  enable_overprovision        = lookup(local.prod_workspace, terraform.workspace, false)
  cluster_domain_name         = data.terraform_remote_state.cluster.outputs.cluster_domain_name
  eks_cluster_id              = data.terraform_remote_state.cluster.outputs.cluster_id
  eks_cluster_oidc_issuer_url = data.terraform_remote_state.cluster.outputs.cluster_oidc_issuer_url
}

Requirements

Name Version
terraform >= 1.2.5
aws >=3.0.0
helm >=2.6.0
kubernetes >=2.12.1

Providers

Name Version
aws >=3.0.0
helm >=2.6.0
kubernetes >=2.12.1

Modules

Name Source Version
iam_assumable_role_admin terraform-aws-modules/iam/aws//modules/iam-assumable-role-with-oidc 3.13.0

Resources

Name Type
aws_iam_policy.cluster_autoscaler resource
helm_release.cluster-overprovisioner resource
helm_release.cluster-proportional-autoscaler-cpu resource
helm_release.cluster-proportional-autoscaler-memory resource
helm_release.cluster_autoscaler resource
kubernetes_namespace.overprovision resource
aws_iam_policy_document.cluster_autoscaler data source

Inputs

Name Description Type Default Required
cluster_domain_name The cluster domain used for externalDNS annotations and certmanager any n/a yes
eks_cluster_id The EKS cluster ID used by the autoscaler any n/a yes
eks_cluster_oidc_issuer_url If EKS variable is set to true this is going to be used when we create the IAM OIDC role string "" no
enable_overprovision Enable or disbale creation of overprovisioner bool true no
live_cpu_request Overprovisioner cpu request for live pods string "200m" no
live_memory_request Overprovisioner memory request for live pods string "1800Mi" no

Outputs

No outputs.

Reading Material