From b1f896642b18a1249dab1f1ad31ce58f7f350221 Mon Sep 17 00:00:00 2001 From: runalsh <21105673+runalsh@users.noreply.github.com> Date: Wed, 3 Jul 2024 23:32:52 +0300 Subject: [PATCH] add cilium instead kube-proxy and some refactor --- cilium-module.tf | 7 ++ cilium/cilium.tf | 102 +++++++++++++++++++++++++++ cilium/providers.tf | 10 +++ cilium/vars.tf | 4 ++ kind-config | 16 ----- kind-module.tf | 8 +++ kind(NO).tf => kind/kind.tf | 135 ++++++++++++++++-------------------- kind/output.tf | 3 + kind/providers.tf | 18 +++++ kind/vars.tf | 21 ++++++ main.tf | 4 +- readme.md | 1 + terraform.tfvars | 8 ++- values/cilium.yaml | 21 ++++++ vars.tf | 20 ++++++ 15 files changed, 285 insertions(+), 93 deletions(-) create mode 100644 cilium-module.tf create mode 100644 cilium/cilium.tf create mode 100644 cilium/providers.tf create mode 100644 cilium/vars.tf create mode 100644 kind-module.tf rename kind(NO).tf => kind/kind.tf (64%) create mode 100644 kind/output.tf create mode 100644 kind/providers.tf create mode 100644 kind/vars.tf create mode 100644 values/cilium.yaml diff --git a/cilium-module.tf b/cilium-module.tf new file mode 100644 index 0000000..ba7897c --- /dev/null +++ b/cilium-module.tf @@ -0,0 +1,7 @@ +module "cilium" { + source = "./cilium" + + kind_local_domain=var.kind_local_domain + + count = var.cilium ? 1 : 0 +} \ No newline at end of file diff --git a/cilium/cilium.tf b/cilium/cilium.tf new file mode 100644 index 0000000..b14b789 --- /dev/null +++ b/cilium/cilium.tf @@ -0,0 +1,102 @@ +locals { + cilium_cert_secret = "cilium-https-cert" +} + +resource "helm_release" "cilium" { +# count = var.use_cilium ? 1 : 0 + name = "cilium" + repository = "https://helm.cilium.io/" + chart = "cilium" + version = "1.15.6" + namespace = "cilium" + create_namespace = true + + set { + name = "image.pullPolicy" + value = "IfNotPresent" + } + + set { + name = "ipam.mode" + value = "kubernetes" + } + + set { + name = "hubble.enabled" + value = "true" + } + + set { + name = "hubble.ui.enabled" + value = "true" + } + + set { + name = "hubble.relay.enabled" + value = "true" + } +# # Make sure `kind` has written the `kubeconfig` before we move forward +# # with installing helm. +} + +# module "cilium_tls" { +# # count = var.use_cilium ? 1 : 0 +# source = "./modules/tls-cert" +# namespace = helm_release.cilium[0].namespace +# dns_names = [ +# "hubble.${var.base_domain}" +# ] +# # certs_path = var.certs_path +# } + +resource "kubectl_manifest" "hubble_grpc_service" { +# count = var.use_cilium ? 1 : 0 + yaml_body = <