From de83541dcdfd331da154305e1d8690256015814d Mon Sep 17 00:00:00 2001 From: Nga <92612527+NgaNaNa@users.noreply.github.com> Date: Sat, 24 May 2025 18:10:07 +0930 Subject: [PATCH] k8s provider --- infra/eks/.terraform.lock.hcl | 19 +++++++++++++++++++ infra/eks/_providers.tf | 16 ++++++++++++++++ infra/eks/_versions.tf | 1 + 3 files changed, 36 insertions(+) diff --git a/infra/eks/.terraform.lock.hcl b/infra/eks/.terraform.lock.hcl index 964d099..1d42c6e 100644 --- a/infra/eks/.terraform.lock.hcl +++ b/infra/eks/.terraform.lock.hcl @@ -44,6 +44,25 @@ provider "registry.terraform.io/hashicorp/cloudinit" { ] } +provider "registry.terraform.io/hashicorp/kubernetes" { + version = "2.37.1" + hashes = [ + "h1:+37jC6JlkPyPvDHudK3qaj7ZVJ0Zy9zc9+oq8h1WayA=", + "zh:0ed097413c7fc804479e325966886b405dc0b75ad2b4f54ce4df1d8e4802b397", + "zh:17dcf4a685a00d2d048671124e8a1a8e836b58ecd2ef628a1c666fe0ced2e598", + "zh:36891284e5bced57c438f12d0b27856b0d4b70b562bd200b01919a6a89545be9", + "zh:3e49d86b508e641ba122d1b0af24cdc4d8ffa2ec1b30022436fb1d7c6ba696ea", + "zh:40be623e116708bdcb0fac32989db43720f031c5fe9a4dc63395078185d24403", + "zh:44fc0ac3bc39e289b67f9dde7ee9fef29eb8192197e5e68fee69098573021722", + "zh:957aa451573bcde5d57f6f8338ea3139010c7f61fefe8f6a140a8c267f056511", + "zh:c55fd85b7e8acaac17e30670ac3574b88b3530820dd004bcd2a5daa8624a46e9", + "zh:c743f06843a1f5ecde2b8ef639f4d3db654a334ef248dee57261c719ea843f3a", + "zh:c93cc71c64b838d89522ac5fb60f68e0e1e7f2fc39db6b0ead7afd78795e79ed", + "zh:eda1163c2266905adc54bc78cc3e7b606a164fbc6b59be607db933b302015ccd", + "zh:f569b65999264a9416862bca5cd2a6177d94ccb0424f3a4ef424428912b9cb3c", + ] +} + provider "registry.terraform.io/hashicorp/null" { version = "3.2.4" constraints = ">= 3.0.0" diff --git a/infra/eks/_providers.tf b/infra/eks/_providers.tf index f101193..eb6dbb8 100644 --- a/infra/eks/_providers.tf +++ b/infra/eks/_providers.tf @@ -2,3 +2,19 @@ provider "aws" { region = var.aws_region # Optionally pick credentials/profile via CLI flags or ENV vars } + +provider "kubernetes" { + host = module.eks.cluster_endpoint + cluster_ca_certificate = base64decode(module.eks.cluster_certificate_authority_data) + exec { + api_version = "client.authentication.k8s.io/v1beta1" + command = "aws" + args = ["eks", "get-token", "--cluster-name", module.eks.cluster_name] + } +} + +resource "kubernetes_namespace" "app" { + metadata { name = "node-api" } +} + +# Kustomize, kubectl_manifest, or Helm chart can follow here for Deployment/Service/Ingress diff --git a/infra/eks/_versions.tf b/infra/eks/_versions.tf index 4a7c24d..7328ad6 100644 --- a/infra/eks/_versions.tf +++ b/infra/eks/_versions.tf @@ -5,5 +5,6 @@ terraform { source = "hashicorp/aws" version = "~> 5.0" } + } }