From fb9d3a4f9e5884171c2ae2d86a8fa0820d037309 Mon Sep 17 00:00:00 2001 From: WeRockStar Date: Tue, 14 May 2024 20:01:12 +0700 Subject: [PATCH] introduce module concept for eks --- infra/iac/.terraform.lock.hcl | 142 ++++++++++++++++++++++++++++++++++ infra/iac/eks/main.tf | 4 +- infra/iac/main.tf | 6 ++ infra/iac/variables.tf | 11 +++ 4 files changed, 161 insertions(+), 2 deletions(-) create mode 100644 infra/iac/.terraform.lock.hcl create mode 100644 infra/iac/main.tf create mode 100644 infra/iac/variables.tf diff --git a/infra/iac/.terraform.lock.hcl b/infra/iac/.terraform.lock.hcl new file mode 100644 index 0000000..c414af6 --- /dev/null +++ b/infra/iac/.terraform.lock.hcl @@ -0,0 +1,142 @@ +# This file is maintained automatically by "terraform init". +# Manual edits may be lost in future updates. + +provider "registry.terraform.io/cloudflare/cloudflare" { + version = "4.31.0" + constraints = "4.31.0" + hashes = [ + "h1:Nsm0WZ3Bb4qVAPHC3Xn69L9emWYkKIFpZqIGi+p8gNU=", + "zh:02a3642b1adcd7a764b0f82e9f2b39bf0faee9b5f34e344a4f88edb71cf9968e", + "zh:3e7e045312ac03bdd8bc2d6f377672c9a938cdddd343b71cb219450154b26ac7", + "zh:4375358b7d696861732874ce8f4e4be084052509ec48792c1b3621221b294c58", + "zh:45fbb45bd91098bbbb79ac6610960f559f8b3011e0134a22d7f816cfe5a0b7fa", + "zh:6ee7424ebfb9f9a98e41059236a2cf7f71faa8035c0599dc2cb689c3c1405d27", + "zh:890df766e9b839623b1f0437355032a3c006226a6c200cd911e15ee1a9014e9f", + "zh:b36a66010f6c32db9d037a23de53c5d575c8ccf68f168daa62890f0b6b642b0e", + "zh:bca7d355b5ec3172645fd63b76b3df1866e534a6dc6869208e92f254f64d69c3", + "zh:cb5e110d642ce534d280d71b4a3ed0d57fe9f2cbe9694d4a18a753a7024aae44", + "zh:d3bb6ebccc9c33c580d0600bdb690f53afece6444ecc23989c6d3fb5c79341e3", + "zh:de8a1350433d58c1aeb08aeb9305b48585a7e18e3181b9b79d27dede4fbc324c", + "zh:def7112d9425dd1022ce74cb58721be889668bf3704e2202fd22bac687b46f2b", + "zh:f817486858e4ca3fcf78f158e3719f71cc0947d213a013a3bbd5317a363e9734", + "zh:fa0b69a118cba9103417ede05b2bffc7eb61e0b3b864fa95c41d7d5e66e1df0e", + "zh:fdcf9db35f2613bb5cbb36cbd6308f484e70ef7c55d069f6df9f73040e70c80f", + ] +} + +provider "registry.terraform.io/gavinbunney/kubectl" { + version = "1.14.0" + constraints = "1.14.0" + hashes = [ + "h1:mX2AOFIMIxJmW5kM8DT51gloIOKCr9iT6W8yodnUyfs=", + "zh:0350f3122ff711984bbc36f6093c1fe19043173fad5a904bce27f86afe3cc858", + "zh:07ca36c7aa7533e8325b38232c77c04d6ef1081cb0bac9d56e8ccd51f12f2030", + "zh:0c351afd91d9e994a71fe64bbd1662d0024006b3493bb61d46c23ea3e42a7cf5", + "zh:39f1a0aa1d589a7e815b62b5aa11041040903b061672c4cfc7de38622866cbc4", + "zh:428d3a321043b78e23c91a8d641f2d08d6b97f74c195c654f04d2c455e017de5", + "zh:4baf5b1de2dfe9968cc0f57fd4be5a741deb5b34ee0989519267697af5f3eee5", + "zh:6131a927f9dffa014ab5ca5364ac965fe9b19830d2bbf916a5b2865b956fdfcf", + "zh:c62e0c9fd052cbf68c5c2612af4f6408c61c7e37b615dc347918d2442dd05e93", + "zh:f0beffd7ce78f49ead612e4b1aefb7cb6a461d040428f514f4f9cc4e5698ac65", + ] +} + +provider "registry.terraform.io/hashicorp/aws" { + version = "5.48.0" + constraints = "~> 5.48.0" + hashes = [ + "h1:+JXJA9o1r4i9XKQW9T+VldstdAHOngaFxpH5gOSwig0=", + "zh:0876d94be46be905d1f6c149461979cd6e9bec80d5ffad43fd6267fe7c3a924d", + "zh:3a853f887e6f61c2ba383c46e71bcec97ecd31d25a78dab08958f43bbbaecb86", + "zh:43235595e26dd131f00704b5b64a65c4e7c4984a559b30d4272170e1b78e99b7", + "zh:6866f7535ec2ef8fe6ed16eecee2e31418a2bd86cec73e1d18e47bd3bb87f68e", + "zh:756a4ed97f30ea6e8871c16446b24ce55601143a715e067b7f9ebdae8349da34", + "zh:793e8414962934be9805186874f207ca1dc8d162b6665e4938893ad827a545c6", + "zh:79b2f886507f21ff1b752ff140ed95ed551f389abf0c8177c7b5f5bbbd95da8e", + "zh:8653b1bc6f7e62404e02f940d962d0c2ba0c4dd4c28bd595945454cf348c2697", + "zh:9b12af85486a96aedd8d7984b0ff811a4b42e3d88dad1a3fb4c0b580d04fa425", + "zh:9bd612f013c075685c129e5d0ec9243572cd51359599b7218459babe0e9b6ac7", + "zh:aabafe758ee8392f56d2c894017203de4dae38c1e3e0d274c54e194b9b8fccff", + "zh:aded7d6034115ca512b79ca17da65ebb8906e3b8def78dcbc0640142b0c05ca0", + "zh:ce383ee19b37666aba60db6b01cbe7a1fcbb40c6dd54d0cb36b2ba114ee5ae62", + "zh:ceaf1b998b9ced4b63f35da386358e4c7ad6def582438987c91bceffefb9e258", + "zh:d79225a9ae6a7391c33aa2d794bf9b167db66398c4f054f94d557615b051a40d", + ] +} + +provider "registry.terraform.io/hashicorp/helm" { + version = "2.13.2" + constraints = "~> 2.13" + hashes = [ + "h1:Gg4LNanV0uqXlq3IKNsymvI4gi7FgwAD4wnODQFcv8Q=", + "zh:06c0663031ef5aa19e238fe50be5d3cbf5fb00548d2b26e779c607dfd2dc69a7", + "zh:1850b8f2e729553ba8b96d69dce035b814ce959c6805c25484f407c4e720c497", + "zh:1ec76814a99461cd79ee4c879ed455ab338a3cb9e63fbe9308f91b5515e72e42", + "zh:78546b2f0b2e9072370c017d8056a2ffda908c2e463d2792244e4be6562ab772", + "zh:9205eef438aa3d5e49505655b7c300f7cecfa30f8fa37ed84679f674420403f2", + "zh:9335c7300675e5088ab4090af3c8150701c0bb8ea67ad23ebd753f6ab3a922a9", + "zh:9722d8b419e9615a04b8fc9acb50e52d6ba988c7565cc517bc16faa0a9e895b3", + "zh:aa93d9fc7db91f261b6e41970453926341eaa4222c1b8d507cdeabd0be0af4eb", + "zh:c59a2af538de99c37e4ffe988f33633a9fb064e5360230adac5f6eb0fd473be8", + "zh:d6323f61f255131a7d9f5a645982eb0f0d12f685270f54beade95c0b51a7a6c9", + "zh:e7f46dd2aac9537d20aaac217806f2ebb3a347aaf6bbd28192c042286103635c", + "zh:f569b65999264a9416862bca5cd2a6177d94ccb0424f3a4ef424428912b9cb3c", + ] +} + +provider "registry.terraform.io/hashicorp/kubernetes" { + version = "2.29.0" + constraints = "2.29.0" + hashes = [ + "h1:Igs0JTtmzn5q7RHqrvrTMCD/DCSLPMinvUnhYZ2oITw=", + "zh:3edd5dc319b95fe94e61b82d10c1ce7fb53a2f21b067ddb742f2d7d0d19dd113", + "zh:4b9096e6d0cfa0efd4c89270e3d25fea49db570e2cfbe49c5d1de085a15f2578", + "zh:5397573838bcb8844248c8d6ac93cca7f39a0b707ac3ce7a7b306c50c261c195", + "zh:5d635370720d356b7bcb5756ca28de3275ca32ca1ef0201414caecd3a14759ac", + "zh:71a52280408f3fb0ff1866a9ab8059b0d9bde5481869658798e0773461f22eff", + "zh:748663ef0248d2d95f5dea2974332432a395165657856878c5dc6f000b37cc25", + "zh:7fbc1e084bbbb51e31afd3df0c77e833ae59e88cf42b9e2c17b0b1a1e3894723", + "zh:ae89b4be473b446270fa24dc1ef51b0cc4c2a528d9838ec15246d28bac165df3", + "zh:b6433970d680a0cc9898f915224508b5ece86ae4418372fa6bebd2a9d344f226", + "zh:bf871955cf49015e6a0433e814a22a109c1537a775b8b5dc7b37ad05c324904a", + "zh:c16fac91b2197b443a191d98cf37424feed550387ab11bd1427bde819722005e", + "zh:f569b65999264a9416862bca5cd2a6177d94ccb0424f3a4ef424428912b9cb3c", + ] +} + +provider "registry.terraform.io/hashicorp/null" { + version = "3.2.2" + constraints = "3.2.2" + hashes = [ + "h1:vWAsYRd7MjYr3adj8BVKRohVfHpWQdvkIwUQ2Jf5FVM=", + "zh:3248aae6a2198f3ec8394218d05bd5e42be59f43a3a7c0b71c66ec0df08b69e7", + "zh:32b1aaa1c3013d33c245493f4a65465eab9436b454d250102729321a44c8ab9a", + "zh:38eff7e470acb48f66380a73a5c7cdd76cc9b9c9ba9a7249c7991488abe22fe3", + "zh:4c2f1faee67af104f5f9e711c4574ff4d298afaa8a420680b0cb55d7bbc65606", + "zh:544b33b757c0b954dbb87db83a5ad921edd61f02f1dc86c6186a5ea86465b546", + "zh:696cf785090e1e8cf1587499516b0494f47413b43cb99877ad97f5d0de3dc539", + "zh:6e301f34757b5d265ae44467d95306d61bef5e41930be1365f5a8dcf80f59452", + "zh:78d5eefdd9e494defcb3c68d282b8f96630502cac21d1ea161f53cfe9bb483b3", + "zh:913a929070c819e59e94bb37a2a253c228f83921136ff4a7aa1a178c7cce5422", + "zh:aa9015926cd152425dbf86d1abdbc74bfe0e1ba3d26b3db35051d7b9ca9f72ae", + "zh:bb04798b016e1e1d49bcc76d62c53b56c88c63d6f2dfe38821afef17c416a0e1", + "zh:c23084e1b23577de22603cff752e59128d83cfecc2e6819edadd8cf7a10af11e", + ] +} + +provider "registry.terraform.io/oboukili/argocd" { + version = "6.1.1" + constraints = "6.1.1" + hashes = [ + "h1:Mt1kOLqObTO7531rGV6kSkILcYS2mgoV3PrVmdb4Vs8=", + "zh:0eeb24ae36d29296e0e4fd0bbaa90bbbb051d6894e1920fe960cb73bf60d68b4", + "zh:4b842983692ff7bc2c40c74feccb902718c59f536fc376ab4d646178ef325b0e", + "zh:576640a6cbba7dfd20ac5399c47b2eb0d25a42c6aa23cf1c00ceb2bc32873a46", + "zh:76a5a1f0c5d2c4b97f51211c14f2abe3bb9ef7e855d44501bf7f661fab31dd55", + "zh:797c14187b2afad3d12a071c002a3ba20366777cecab2e3664cb7cb160658563", + "zh:9f1bb4ee552bc027a54ff99f68b867f76e0567761fe3703d9b7606464ad74276", + "zh:bec504dd356e9b15be2a737a54bdeaebab11c0c23b50d3fc22d01f8d3a4de086", + "zh:c89d3d174b7ef463b0c79e6d5f691a63c9a71973e3e460b8f319e9d6672f15b3", + "zh:d0b410bf208fdb818897109543de7ebcafe479b8de5e7af05a8b0cd5449b4edf", + ] +} diff --git a/infra/iac/eks/main.tf b/infra/iac/eks/main.tf index e56ea73..c69482b 100644 --- a/infra/iac/eks/main.tf +++ b/infra/iac/eks/main.tf @@ -54,7 +54,7 @@ resource "helm_release" "nginx_ingress" { chart = "ingress-nginx" version = "v4.10.1" - values = [file("values/nginx.yaml")] + values = [file("${path.module}/values/nginx.yaml")] } resource "helm_release" "argocd" { @@ -68,7 +68,7 @@ resource "helm_release" "argocd" { chart = "argo-cd" version = "6.7.17" - values = [file("values/argocd.yaml")] + values = [file("${path.module}/values/argocd.yaml")] depends_on = [helm_release.nginx_ingress] } diff --git a/infra/iac/main.tf b/infra/iac/main.tf new file mode 100644 index 0000000..795c6e0 --- /dev/null +++ b/infra/iac/main.tf @@ -0,0 +1,6 @@ +module "eks" { + source = "./eks" + vpc_name = "go-workshop-vpc" + cloudflare_api_token = var.cf_api_token + zone_id = var.cf_zone_id +} diff --git a/infra/iac/variables.tf b/infra/iac/variables.tf new file mode 100644 index 0000000..2987747 --- /dev/null +++ b/infra/iac/variables.tf @@ -0,0 +1,11 @@ +variable "cf_zone_id" { + type = string + description = "Cloudflare Zone ID" + default = "460c65b55ec2a251ab45cf8eedac4734" +} + +variable "cf_api_token" { + type = string + description = "Cloudflare API Token" + sensitive = true +}