Skip to content

Commit

Permalink
refactor: use dedicated file to set some helm charts options (name, r…
Browse files Browse the repository at this point in the history
…epository, version) (#156)
  • Loading branch information
mglotov authored Nov 4, 2021
1 parent c2cc34d commit f650386
Show file tree
Hide file tree
Showing 20 changed files with 317 additions and 200 deletions.
14 changes: 11 additions & 3 deletions terraform/layer2-k8s/eks-aws-node-termination-handler.tf
Original file line number Diff line number Diff line change
@@ -1,8 +1,16 @@
locals {
aws-node-termination-handler = {
chart = local.helm_charts[index(local.helm_charts.*.id, "aws-node-termination-handler")].chart
repository = lookup(local.helm_charts[index(local.helm_charts.*.id, "aws-node-termination-handler")], "repository", null)
chart_version = lookup(local.helm_charts[index(local.helm_charts.*.id, "aws-node-termination-handler")], "version", null)
}
}

resource "helm_release" "aws_node_termination_handler" {
name = "aws-node-termination-handler"
chart = "aws-node-termination-handler"
version = var.aws_node_termination_handler_version
repository = local.helm_repo_eks
chart = local.aws-node-termination-handler.chart
repository = local.aws-node-termination-handler.repository
version = local.aws-node-termination-handler.chart_version
namespace = module.sys_namespace.name
wait = false
max_history = var.helm_release_history_size
Expand Down
14 changes: 11 additions & 3 deletions terraform/layer2-k8s/eks-calico.tf
Original file line number Diff line number Diff line change
@@ -1,12 +1,20 @@
locals {
aws-calico = {
chart = local.helm_charts[index(local.helm_charts.*.id, "aws-calico")].chart
repository = lookup(local.helm_charts[index(local.helm_charts.*.id, "aws-calico")], "repository", null)
chart_version = lookup(local.helm_charts[index(local.helm_charts.*.id, "aws-calico")], "version", null)
}
}

data "template_file" "calico_daemonset" {
template = file("${path.module}/templates/calico-values.yaml")
}

resource "helm_release" "calico_daemonset" {
name = "aws-calico"
chart = "aws-calico"
repository = local.helm_repo_eks
version = var.calico_daemonset
chart = local.aws-calico.chart
repository = local.aws-calico.repository
version = local.aws-calico.chart_version
namespace = "kube-system"
max_history = var.helm_release_history_size
wait = false
Expand Down
33 changes: 33 additions & 0 deletions terraform/layer2-k8s/eks-cert-manager-certificate.tf
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
locals {
cert-mananger-certificate = {
chart = local.helm_charts[index(local.helm_charts.*.id, "cert-mananger-certificate")].chart
repository = lookup(local.helm_charts[index(local.helm_charts.*.id, "cert-mananger-certificate")], "repository", null)
chart_version = lookup(local.helm_charts[index(local.helm_charts.*.id, "cert-mananger-certificate")], "version", null)
}
}

data "template_file" "certificate" {
template = file("${path.module}/templates/certificate-values.yaml")

vars = {
domain_name = "*.${local.domain_name}"
common_name = local.domain_name
}
}

resource "helm_release" "certificate" {
name = "certificate"
chart = local.cert-mananger-certificate.chart
repository = local.cert-mananger-certificate.repository
version = local.cert-mananger-certificate.chart_version
namespace = module.ing_namespace.name
wait = false
max_history = var.helm_release_history_size

values = [
data.template_file.certificate.rendered,
]

# This dep needs for correct apply
depends_on = [helm_release.cert_manager, helm_release.cluster_issuer]
}
34 changes: 34 additions & 0 deletions terraform/layer2-k8s/eks-cert-manager-cluster-issuer.tf
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
locals {
cert-manager-cluster-issuer = {
chart = local.helm_charts[index(local.helm_charts.*.id, "cert-manager-cluster-issuer")].chart
repository = lookup(local.helm_charts[index(local.helm_charts.*.id, "cert-manager-cluster-issuer")], "repository", null)
chart_version = lookup(local.helm_charts[index(local.helm_charts.*.id, "cert-manager-cluster-issuer")], "version", null)
}
}

data "template_file" "cluster_issuer" {
template = file("${path.module}/templates/cluster-issuer-values.yaml")

vars = {
region = local.region
zone = local.domain_name
zone_id = local.zone_id
}
}

resource "helm_release" "cluster_issuer" {
name = "cluster-issuer"
chart = local.cert-manager-cluster-issuer.chart
repository = local.cert-manager-cluster-issuer.repository
version = local.cert-manager-cluster-issuer.chart_version
namespace = module.certmanager_namespace.name
wait = false
max_history = var.helm_release_history_size

values = [
data.template_file.cluster_issuer.rendered,
]

# This dep needs for correct apply
depends_on = [helm_release.cert_manager]
}
14 changes: 11 additions & 3 deletions terraform/layer2-k8s/eks-cert-manager.tf
Original file line number Diff line number Diff line change
@@ -1,3 +1,11 @@
locals {
cert-manager = {
chart = local.helm_charts[index(local.helm_charts.*.id, "cert-manager")].chart
repository = lookup(local.helm_charts[index(local.helm_charts.*.id, "cert-manager")], "repository", null)
chart_version = lookup(local.helm_charts[index(local.helm_charts.*.id, "cert-manager")], "version", null)
}
}

data "template_file" "cert_manager" {
template = file("${path.module}/templates/cert-manager-values.yaml")

Expand All @@ -8,10 +16,10 @@ data "template_file" "cert_manager" {

resource "helm_release" "cert_manager" {
name = "cert-manager"
chart = "cert-manager"
repository = local.helm_repo_certmanager
chart = local.cert-manager.chart
repository = local.cert-manager.repository
version = local.cert-manager.chart_version
namespace = module.certmanager_namespace.name
version = var.cert_manager_version
wait = true
max_history = var.helm_release_history_size

Expand Down
23 changes: 0 additions & 23 deletions terraform/layer2-k8s/eks-certificate.tf

This file was deleted.

14 changes: 11 additions & 3 deletions terraform/layer2-k8s/eks-cluster-autoscaler.tf
Original file line number Diff line number Diff line change
@@ -1,3 +1,11 @@
locals {
cluster-autoscaler = {
chart = local.helm_charts[index(local.helm_charts.*.id, "cluster-autoscaler")].chart
repository = lookup(local.helm_charts[index(local.helm_charts.*.id, "cluster-autoscaler")], "repository", null)
chart_version = lookup(local.helm_charts[index(local.helm_charts.*.id, "cluster-autoscaler")], "version", null)
}
}

data "template_file" "cluster_autoscaler" {
template = file("${path.module}/templates/cluster-autoscaler-values.yaml")

Expand All @@ -11,9 +19,9 @@ data "template_file" "cluster_autoscaler" {

resource "helm_release" "cluster_autoscaler" {
name = "cluster-autoscaler"
chart = "cluster-autoscaler"
repository = local.helm_repo_cluster_autoscaler
version = var.cluster_autoscaler_chart_version
chart = local.cluster-autoscaler.chart
repository = local.cluster-autoscaler.repository
version = local.cluster-autoscaler.chart_version
namespace = module.sys_namespace.name
max_history = var.helm_release_history_size

Expand Down
24 changes: 0 additions & 24 deletions terraform/layer2-k8s/eks-cluster-issuer.tf

This file was deleted.

14 changes: 11 additions & 3 deletions terraform/layer2-k8s/eks-external-dns.tf
Original file line number Diff line number Diff line change
@@ -1,3 +1,11 @@
locals {
external-dns = {
chart = local.helm_charts[index(local.helm_charts.*.id, "external-dns")].chart
repository = lookup(local.helm_charts[index(local.helm_charts.*.id, "external-dns")], "repository", null)
chart_version = lookup(local.helm_charts[index(local.helm_charts.*.id, "external-dns")], "version", null)
}
}

data "template_file" "external_dns" {
template = file("${path.module}/templates/external-dns.yaml")

Expand All @@ -11,9 +19,9 @@ data "template_file" "external_dns" {

resource "helm_release" "external_dns" {
name = "external-dns"
chart = "external-dns"
repository = local.helm_repo_bitnami
version = var.external_dns_version
chart = local.external-dns.chart
repository = local.external-dns.repository
version = local.external-dns.chart_version
namespace = module.dns_namespace.name
max_history = var.helm_release_history_size

Expand Down
25 changes: 19 additions & 6 deletions terraform/layer2-k8s/eks-external-secrets.tf
Original file line number Diff line number Diff line change
@@ -1,3 +1,16 @@
locals {
external-secrets = {
chart = local.helm_charts[index(local.helm_charts.*.id, "external-secrets")].chart
repository = lookup(local.helm_charts[index(local.helm_charts.*.id, "external-secrets")], "repository", null)
chart_version = lookup(local.helm_charts[index(local.helm_charts.*.id, "external-secrets")], "version", null)
}
reloader = {
chart = local.helm_charts[index(local.helm_charts.*.id, "reloader")].chart
repository = lookup(local.helm_charts[index(local.helm_charts.*.id, "reloader")], "repository", null)
chart_version = lookup(local.helm_charts[index(local.helm_charts.*.id, "reloader")], "version", null)
}
}

data "template_file" "external_secrets" {
template = file("${path.module}/templates/external-secrets-values.yaml")

Expand All @@ -9,9 +22,9 @@ data "template_file" "external_secrets" {

resource "helm_release" "external_secrets" {
name = "external-secrets"
chart = "kubernetes-external-secrets"
repository = local.helm_repo_external_secrets
version = var.external_secrets_version
chart = local.external-secrets.chart
repository = local.external-secrets.repository
version = local.external-secrets.chart_version
namespace = module.sys_namespace.name
max_history = var.helm_release_history_size

Expand All @@ -22,9 +35,9 @@ resource "helm_release" "external_secrets" {

resource "helm_release" "reloader" {
name = "reloader"
chart = "reloader"
repository = local.helm_repo_stakater
version = var.reloader_version
chart = local.reloader.chart
repository = local.reloader.repository
version = local.reloader.chart_version
namespace = module.sys_namespace.name
wait = false
max_history = var.helm_release_history_size
Expand Down
11 changes: 8 additions & 3 deletions terraform/layer2-k8s/eks-kube-prometheus-stack.tf
Original file line number Diff line number Diff line change
@@ -1,4 +1,9 @@
locals {
kube-prometheus-stack = {
chart = local.helm_charts[index(local.helm_charts.*.id, "kube-prometheus-stack")].chart
repository = lookup(local.helm_charts[index(local.helm_charts.*.id, "kube-prometheus-stack")], "repository", null)
chart_version = lookup(local.helm_charts[index(local.helm_charts.*.id, "kube-prometheus-stack")], "version", null)
}
grafana_password = random_string.grafana_password.result
grafana_domain_name = "grafana-${local.domain_suffix}"
prometheus_domain_name = "prometheus-${local.domain_suffix}"
Expand Down Expand Up @@ -28,10 +33,10 @@ resource "random_string" "grafana_password" {

resource "helm_release" "prometheus_operator" {
name = "kube-prometheus-stack"
chart = "kube-prometheus-stack"
repository = local.helm_repo_prometheus_community
chart = local.kube-prometheus-stack.chart
repository = local.kube-prometheus-stack.repository
version = local.kube-prometheus-stack.chart_version
namespace = module.monitoring_namespace.name
version = var.prometheus_operator_version
wait = false
max_history = var.helm_release_history_size

Expand Down
11 changes: 8 additions & 3 deletions terraform/layer2-k8s/eks-loki-stack.tf
Original file line number Diff line number Diff line change
@@ -1,4 +1,9 @@
locals {
loki-stack = {
chart = local.helm_charts[index(local.helm_charts.*.id, "loki-stack")].chart
repository = lookup(local.helm_charts[index(local.helm_charts.*.id, "loki-stack")], "repository", null)
chart_version = lookup(local.helm_charts[index(local.helm_charts.*.id, "loki-stack")], "version", null)
}
grafana_loki_password = random_string.grafana_loki_password.result

loki_stack_template = templatefile("${path.module}/templates/loki-stack-values.yaml",
Expand All @@ -13,10 +18,10 @@ locals {

resource "helm_release" "loki_stack" {
name = "loki-stack"
chart = "loki-stack"
repository = local.helm_repo_grafana
chart = local.loki-stack.chart
repository = local.loki-stack.repository
version = local.loki-stack.chart_version
namespace = module.monitoring_namespace.name
version = var.loki_stack
wait = false
max_history = var.helm_release_history_size

Expand Down
11 changes: 8 additions & 3 deletions terraform/layer2-k8s/eks-nginx-ingress-controller.tf
Original file line number Diff line number Diff line change
@@ -1,4 +1,9 @@
locals {
ingress-nginx = {
chart = local.helm_charts[index(local.helm_charts.*.id, "ingress-nginx")].chart
repository = lookup(local.helm_charts[index(local.helm_charts.*.id, "ingress-nginx")], "repository", null)
chart_version = lookup(local.helm_charts[index(local.helm_charts.*.id, "ingress-nginx")], "version", null)
}
ssl_certificate_arn = var.nginx_ingress_ssl_terminator == "lb" ? data.terraform_remote_state.layer1-aws.outputs.ssl_certificate_arn : ""

template_name = (
Expand All @@ -20,10 +25,10 @@ data "template_file" "nginx_ingress" {

resource "helm_release" "nginx_ingress" {
name = "ingress-nginx"
chart = "ingress-nginx"
repository = local.helm_repo_ingress_nginx
chart = local.ingress-nginx.chart
repository = local.ingress-nginx.repository
version = local.ingress-nginx.chart_version
namespace = module.ing_namespace.name
version = var.nginx_ingress_controller_version
wait = false
max_history = var.helm_release_history_size

Expand Down
9 changes: 8 additions & 1 deletion terraform/layer2-k8s/examples/eks-elk.tf
Original file line number Diff line number Diff line change
@@ -1,4 +1,9 @@
locals {
elk = {
chart = local.helm_charts[index(local.helm_charts.*.id, "elk")].chart
repository = lookup(local.helm_charts[index(local.helm_charts.*.id, "elk")], "repository", null)
chart_version = lookup(local.helm_charts[index(local.helm_charts.*.id, "elk")], "version", null)
}
kibana_domain_name = "kibana-${local.domain_suffix}"
apm_domain_name = "apm-${local.domain_suffix}"
elastic_stack_bucket_name = data.terraform_remote_state.layer1-aws.outputs.elastic_stack_bucket_name
Expand All @@ -22,7 +27,9 @@ data "template_file" "elk" {

resource "helm_release" "elk" {
name = "elk"
chart = "../../helm-charts/elk"
chart = local.elk.chart
repository = local.elk.repository
version = local.elk.chart_version
namespace = module.elk_namespace.name
wait = false
max_history = var.helm_release_history_size
Expand Down
11 changes: 8 additions & 3 deletions terraform/layer2-k8s/examples/eks-gitlab-runner.tf
Original file line number Diff line number Diff line change
@@ -1,4 +1,9 @@
locals {
gitlab-runner = {
chart = local.helm_charts[index(local.helm_charts.*.id, "gitlab-runner")].chart
repository = lookup(local.helm_charts[index(local.helm_charts.*.id, "gitlab-runner")], "repository", null)
chart_version = lookup(local.helm_charts[index(local.helm_charts.*.id, "gitlab-runner")], "version", null)
}
gitlab_runner_cache_bucket_name = data.terraform_remote_state.layer1-aws.outputs.gitlab_runner_cache_bucket_name

gitlab_runner_template = templatefile("${path.module}/templates/gitlab-runner-values.tmpl",
Expand All @@ -23,9 +28,9 @@ module "eks_rbac_gitlab_runner" {

resource "helm_release" "gitlab_runner" {
name = "gitlab-runner"
chart = "gitlab-runner"
repository = local.helm_repo_gitlab
version = var.gitlab_runner_version
chart = local.gitlab-runner.chart
repository = local.gitlab-runner.repository
version = local.gitlab-runner.chart_version
namespace = module.ci_namespace.name
wait = false
max_history = var.helm_release_history_size
Expand Down
Loading

0 comments on commit f650386

Please sign in to comment.