Skip to content

Commit

Permalink
move cluster-autoscaler to a directory
Browse files Browse the repository at this point in the history
  • Loading branch information
badra001 committed Sep 18, 2023
1 parent 9b17545 commit 644f35c
Show file tree
Hide file tree
Showing 11 changed files with 146 additions and 22 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# .tf-control
# allows for setting a specific command to be used for tf-* commands under this git repo
# see tf-control.sh help for more info

TFCONTROL_VERSION="1.0.5"

TFCOMMAND="terraform_latest"
# TF_CLI_CONFIG_FILE=PATH-TO-FILE/.tf-control.tfrc
# TFARGS=""
# TFNOLOG=""
# TFNOCOLOR=""

# use the following to force a specific version. An upgrade of an existing 0.12.31 to 1.x
# needs you to cycle through 0.13.17, 0.14.11, and then latest (0.15.5 not needed). Other
# steps in between. See https://github.e.it.census.gov/terraform/support/tree/master/docs/how-to/terraform-upgrade for details
#
#TFCOMMAND="terraform_0.12.31"
#TFCOMMAND="terraform_0.13.7"
#TFCOMMAND="terraform_0.14.11"
#TFCOMMAND="terraform_0.15.5"
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
TFCONTROL_VERSION="1.0.5"

# https://www.terraform.io/docs/cli/config/config-file.html
plugin_cache_dir = "/data/terraform/terraform.d/plugin-cache"
#disable_checkpoint = true

provider_installation {
# filesystem_mirror {
# path = "/apps/terraform/terraform.d/providers"
# include = [ "*/*/*" ]
# }
filesystem_mirror {
path = "/data/terraform/terraform.d/providers"
include = [ "*/*/*" ]
}
# filesystem_mirror {
# path = "/apps/terraform/terraform.d/providers"
# include = [ "external.terraform.census.gov/*/*" ]
# }
direct {
include = [ "*/*/*" ]
}
}

Original file line number Diff line number Diff line change
Expand Up @@ -28,21 +28,39 @@ module "role_cluster-autoscaler" {
)
}

locals {
cluster_autoscaler_image_output = { for k, v in module.images_cluster_autoscaler.images : v.name => v }
}

module "images_cluster_autoscaler" {
source = "git@github.e.it.census.gov:terraform-modules/aws-ecr-copy-images.git?ref=tf-upgrade"

profile = var.profile
application_list = []
application_name = format("eks/%v", var.cluster_name)
image_config = [for k, v in var.cluster_autoscaler_images : v if v.enabled]
tags = merge(
local.base_tags,
local.common_tags,
var.application_tags,
)
}

resource "helm_release" "cluster-autoscaler" {
chart = "cluster-autoscaler"
name = "cluster-autoscaler"
namespace = "kube-system"
repository = local.charts["cluster-autoscaler"].use_remote ? local.charts["cluster-autoscaler"].repository : "${path.module}/charts"
version = local.charts["cluster-autoscaler"].use_remote ? local.charts["cluster-autoscaler"].version : null
repository = var.cluster_autoscaler_charts["cluster-autoscaler"].use_remote ? var.cluster_autoscaler_charts["cluster-autoscaler"].repository : "${path.module}/charts"
version = var.cluster_autoscaler_charts["cluster-autoscaler"].use_remote ? var.cluster_autoscaler_charts["cluster-autoscaler"].version : null
depends_on = [module.images]
depends_on = [module.images_cluster_autoscaler]
set {
name = "image.repository"
value = split(":", local.image_output["cluster-autoscaler"].dest_full_path)[0]
value = split(":", local.cluster_autoscaler_image_output["cluster-autoscaler"].dest_full_path)[0]
}
set {
name = "image.tag"
value = local.image_output["cluster-autoscaler"].tag
value = local.cluster_autoscaler_image_output["cluster-autoscaler"].tag
}
set {
name = "autoDiscovery.clusterName"
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
locals {
base_tags = {
"eks-cluster-name" = var.cluster_name
"boc:tf_module_version" = local._module_version
"boc:created_by" = "terraform"
}
}

# replace TF remote state accordingly in parent_rs with that from the parent directory, and be sure to make the link
locals {
vpc_id = local.parent_rs.cluster_vpc_id
subnet_ids = local.parent_rs.cluster_subnet_ids
cluster_worker_sg_id = local.parent_rs.cluster_worker_sg_id

oidc_provider_url = local.parent_rs.oidc_provider_url
oidc_provider_arn = local.parent_rs.oidc_provider_arn
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
locals {
region = var.region
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
VERSION 1.4.2
REMOTE-STATE
COMMAND tf-directory-setup.py -l none -f
COMMAND setup-new-directory.sh

LINKTOP init
LINKTOP includes.d/variables.account_tags.tf
LINKTOP includes.d/variables.account_tags.auto.tfvars
LINKTOP includes.d/variables.infrastructure_tags.tf
LINKTOP includes.d/variables.infrastructure_tags.auto.tfvars
LINKTOP includes.d/variables.application_tags.tf
# LINKTOP includes.d/variables.application_tags.auto.tfvars
LINK variables.application_tags.auto.tfvars
LINKTOP provider_configs.d/provider.ldap_new.auto.tfvars
LINKTOP provider_configs.d/provider.ldap_new.tf
LINKTOP provider_configs.d/provider.ldap_new.variables.tf
LINK settings.auto.tfvars
LINK includes.d/parent_rs.tf
LINK includes.d/data.eks-subdirectory.tf
LINK includes.d/kubeconfig.eks-subdirectory.tf
LINK variables.eks.tf
LINK prefixes.tf
LINK providers.tf
LINK variables.addons.tf
LINK versions.tf
LINK version.tf
LINK variables.vpc.tf
LINK variables.vpc.auto.tfvars
COMMAND tf-init

ALL
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
VERSION 1.0.1
BACKUP-STATE
COMMAND tf-init
COMMAND tf-state list

ALL
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
cluster_autoscaler_charts = {
"cluster-autoscaler" = {
name = "cluster-autoscaler"
repository = "https://kubernetes.github.io/autoscaler"
version = "9.29.3"
use_remote = true
}
}

cluster_autoscaler_images = {
"cluster-autoscaler" = {
name = "cluster-autoscaler"
image = "registry.k8s.io/autoscaling/cluster-autoscaler"
dest_path = null
source_registry = "registry.k8s.io"
source_image = "autoscaling/cluster-autoscaler"
source_tag = null
# tag = "v1.27.3"
tag = "v1.28.0"
enabled = true
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -11,12 +11,6 @@ chart_details = {
version = "6.2.6"
use_remote = true
}
"cluster-autoscaler" = {
name = "cluster-autoscaler"
repository = "https://kubernetes.github.io/autoscaler"
version = "9.29.3"
use_remote = true
}
}

image_details = {
Expand Down Expand Up @@ -60,17 +54,6 @@ image_details = {
tag = "v1.12.3"
enabled = true
}
"cluster-autoscaler" = {
name = "cluster-autoscaler"
image = "registry.k8s.io/autoscaling/cluster-autoscaler"
dest_path = null
source_registry = "registry.k8s.io"
source_image = "autoscaling/cluster-autoscaler"
source_tag = null
# tag = "v1.27.3"
tag = "v1.28.0"
enabled = true
}
"metrics-server" = {
name = "metrics-server"
image = "docker.io/bitnami/metrics-server"
Expand Down

0 comments on commit 644f35c

Please sign in to comment.