Skip to content
This repository has been archived by the owner on Jun 19, 2021. It is now read-only.

Commit

Permalink
Migrate from k8sraw_yaml to kubectl provider for managing CRDs
Browse files Browse the repository at this point in the history
  • Loading branch information
kostyaplis committed Jan 8, 2020
1 parent e8fc70d commit 8e5f8e1
Show file tree
Hide file tree
Showing 2 changed files with 46 additions and 36 deletions.
80 changes: 45 additions & 35 deletions main.tf
Original file line number Diff line number Diff line change
Expand Up @@ -4,58 +4,68 @@ data "helm_repository" "jetstack" {
}

# k8sraw_yaml doesn't support multiple yaml documents in one file, so can't use remote http resource directly
# data "http" "cert-manager-crd" {
# url = "https://raw.githubusercontent.com/jetstack/cert-manager/release-0.11/deploy/manifests/00-crds.yaml"
# }
data "http" "cert-manager-crd" {
url = "https://raw.githubusercontent.com/jetstack/cert-manager/release-${var.cm_version}/deploy/manifests/00-crds.yaml"
}

data "kubectl_file_documents" "cert-manager-crd" {
content = data.http.cert-manager-crd.body
}

resource "kubectl_manifest" "cert-manager-crd" {
count = length(data.kubectl_file_documents.cert-manager-crd.documents)
yaml_body = file(element(data.kubectl_file_documents.cert-manager-crd.documents, count.index))
}

# resource "k8sraw_yaml" "cert-manager-crd" {
# yaml_body = data.http.cert-manager-crd.body
# }

# List of CRDs required for cert-manager
resource "k8sraw_yaml" "certificaterequests" {
depends_on = [var.cm_depends_on]
yaml_body = file("${path.module}/files/certificaterequests.yaml")
}
# resource "k8sraw_yaml" "certificaterequests" {
# depends_on = [var.cm_depends_on]
# yaml_body = file("${path.module}/files/certificaterequests.yaml")
# }

resource "k8sraw_yaml" "certificates" {
depends_on = [var.cm_depends_on]
yaml_body = file("${path.module}/files/certificates.yaml")
}
# resource "k8sraw_yaml" "certificates" {
# depends_on = [var.cm_depends_on]
# yaml_body = file("${path.module}/files/certificates.yaml")
# }

resource "k8sraw_yaml" "challenges" {
depends_on = [var.cm_depends_on]
yaml_body = file("${path.module}/files/challenges.yaml")
}
# resource "k8sraw_yaml" "challenges" {
# depends_on = [var.cm_depends_on]
# yaml_body = file("${path.module}/files/challenges.yaml")
# }

resource "k8sraw_yaml" "clusterissuers" {
depends_on = [var.cm_depends_on]
yaml_body = file("${path.module}/files/clusterissuers.yaml")
}
# resource "k8sraw_yaml" "clusterissuers" {
# depends_on = [var.cm_depends_on]
# yaml_body = file("${path.module}/files/clusterissuers.yaml")
# }

resource "k8sraw_yaml" "issuers" {
depends_on = [var.cm_depends_on]
yaml_body = file("${path.module}/files/issuers.yaml")
}
# resource "k8sraw_yaml" "issuers" {
# depends_on = [var.cm_depends_on]
# yaml_body = file("${path.module}/files/issuers.yaml")
# }

resource "k8sraw_yaml" "orders" {
depends_on = [var.cm_depends_on]
yaml_body = file("${path.module}/files/orders.yaml")
}
# resource "k8sraw_yaml" "orders" {
# depends_on = [var.cm_depends_on]
# yaml_body = file("${path.module}/files/orders.yaml")
# }

resource "helm_release" "cert-manager" {
depends_on = [
k8sraw_yaml.certificaterequests,
k8sraw_yaml.certificates,
k8sraw_yaml.challenges,
k8sraw_yaml.clusterissuers,
k8sraw_yaml.issuers,
k8sraw_yaml.orders
kubectl_manifest.cert-manager-crd
# k8sraw_yaml.certificaterequests,
# k8sraw_yaml.certificates,
# k8sraw_yaml.challenges,
# k8sraw_yaml.clusterissuers,
# k8sraw_yaml.issuers,
# k8sraw_yaml.orders
]
name = "cert-manager"
repository = data.helm_repository.jetstack.metadata.0.name
chart = "cert-manager"
version = var.cm_version
version = "v.${var.cm_version}"
namespace = var.namespace
wait = true
}
}
2 changes: 1 addition & 1 deletion variables.tf
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ variable "namespace" {

variable "cm_version" {
type = string
default = "v0.11.0"
default = "0.11" # "v0.11.0"
description = "Cert-manager version. NOTE: CRD files has to be generated manually accordingly to choosen version"
}

0 comments on commit 8e5f8e1

Please sign in to comment.