Skip to content

Instantly share code, notes, and snippets.

@sambonbonne
Last active July 7, 2021 09:22
Show Gist options
  • Save sambonbonne/34f06f54c7d166f8ab446ece42680dcf to your computer and use it in GitHub Desktop.
Save sambonbonne/34f06f54c7d166f8ab446ece42680dcf to your computer and use it in GitHub Desktop.
Terraform Kubernetes-alpha 0.5.0 to install RabbitMQ CRD - configuration
terraform {
required_providers {
kubernetes-alpha = {
source = "kubernetes-alpha"
version = "0.5.0"
}
http = {
source = "http"
version = "2.1.0"
}
}
required_version = ">= 0.15"
}
# skipped Kubernetes configuration
locals {
rabbitmq_operator_version = "1.8.0"
}
data "http" "rabbitmq_manifests_download" {
url = "https://github.com/rabbitmq/cluster-operator/releases/download/v${local.rabbitmq_operator_version}/cluster-operator.yml"
}
locals {
rabbitmq_manifests = tolist(split("---", data.http.rabbitmq_manifests_download.body))
rabbitmq_namespace_manifest = element(local.rabbitmq_manifests, 0)
rabbitmq_crd_manifest = element(local.rabbitmq_manifests, 1)
}
resource "kubernetes_manifest" "rabbitmq_namespace" {
provider = kubernetes-alpha
depends_on = [
data.http.rabbitmq_manifests_download,
local.rabbitmq_namespace_manifest
]
manifest = yamldecode(local.rabbitmq_namespace_manifest)
}
resource "kubernetes_manifest" "rabbitmq_crd" {
provider = kubernetes-alpha
depends_on = [
data.http.rabbitmq_manifests_download,
local.rabbitmq_crd_manifest,
kubernetes_manifest.rabbitmq_namespace
]
manifest = yamldecode(local.rabbitmq_crd_manifest)
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment