Skip to content

Instantly share code, notes, and snippets.

@TylerWanner
Last active March 20, 2023 21:29
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 2 You must be signed in to fork a gist
  • Save TylerWanner/8b38494bea6535fa10936c5a81678c78 to your computer and use it in GitHub Desktop.
Save TylerWanner/8b38494bea6535fa10936c5a81678c78 to your computer and use it in GitHub Desktop.
Cert-Manager Helm Release in Terraform
terraform {
backend "local" {
path = "../states/cert_manager.tfstate"
}
}
data "terraform_remote_state" "cluster" {
backend = "local"
config = {
path = "../states/cluster.tfstate"
}
}
resource "kubernetes_namespace" "cm" {
metadata {
name = "cert-manager"
}
}
resource "helm_release" "cm" {
name = "cm"
namespace = kubernetes_namespace.cm.metadata[0].name
create_namespace = false
chart = "cert-manager"
repository = "https://charts.jetstack.io"
version = "v1.5.3"
values = [
file("values.yaml")
]
}
provider google {}
data "google_client_config" "default" {}
provider kubernetes {
host = "https://${data.terraform_remote_state.cluster.outputs.cluster_endpoint}"
token = data.google_client_config.default.access_token
cluster_ca_certificate = base64decode(data.terraform_remote_state.cluster.outputs.cacert)
}
provider "helm" {
kubernetes {
host = "https://${data.terraform_remote_state.cluster.outputs.cluster_endpoint}"
token = data.google_client_config.default.access_token
cluster_ca_certificate = base64decode(data.terraform_remote_state.cluster.outputs.cacert)
}
}
global:
podSecurityPolicy:
enabled: true
useAppArmor: true
prometheus:
enabled: false
installCRDs: true
terraform {
required_providers {
google = {
source = "hashicorp/google"
version = "3.85.0"
}
helm = {
source = "hashicorp/helm"
version = "2.3.0"
}
kubernetes = {
source = "hashicorp/kubernetes"
version = "2.5.0"
}
}
required_version = ">= 1"
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment