Skip to content

v0.17.0-beta.0

Pre-release
Pre-release
Compare
Choose a tag to compare
@pst pst released this 26 Jun 19:38
· 80 commits to master since this release
a5d2110
  • EKS: Remove duplicate lines by @mark5cinco in #278
  • EKS: Fix deprecation warning for aws_subnet_ids by @mark5cinco in #277
  • Refactor EKS and GKE kubeconfig to not use exec anymore by @pst in #279
  • Remove the kubernetes providers configured inside cluster modules by @pst in #280
  • Update CLI versions in container image by @pst in #281
  • Fix require kubernetes provider in EKS and GKE cluster modules by @pst in #282
  • Update quickstarts to configure provider outside cluster modules by @pst in #283

Full Changelog: v0.16.3-beta.0...v0.17.0-beta.0

Upgrade Notes

EKS and GKE

Both EKS and GKE until now had a kubernetes provider configured inside the cluster module. The change away from exec based kubeconfigs allowed removing the providers configured inside the modules, and correct this anti-pattern.

This change requires that upgrading users configure the kubernetes provider in the root module, and then pass the configured provider into the cluster module.

EKS Example

module "eks_zero" {
  providers = {
    aws = aws.eks_zero
    # pass kubernetes provider to the EKS cluster module
    kubernetes = kubernetes.eks_zero
  }

  #  [...]
}
# configure aliased kubernetes provider EKS
provider "kubernetes" {
  alias = "eks_zero"

  host                   = local.eks_zero_kubeconfig["clusters"][0]["cluster"]["server"]
  cluster_ca_certificate = base64decode(local.eks_zero_kubeconfig["clusters"][0]["cluster"]["certificate-authority-data"])
  token                  = local.eks_zero_kubeconfig["users"][0]["user"]["token"]
}

GKE Example

module "gke_zero" {
  # add providers block and pass kubernetes provider for GKE cluster module
  providers = {
    kubernetes = kubernetes.gke_zero
  }

  #  [...]
}
# configure aliased kubernetes provider for GKE
provider "kubernetes" {
  alias = "gke_zero"

  host                   = local.gke_zero_kubeconfig["clusters"][0]["cluster"]["server"]
  cluster_ca_certificate = base64decode(local.gke_zero_kubeconfig["clusters"][0]["cluster"]["certificate-authority-data"])
  token                  = local.gke_zero_kubeconfig["users"][0]["user"]["token"]
}