Skip to content

DeimosCloud/terraform-kubernetes-cert-manager

Repository files navigation

Terraform Kubernetes Cert Manager Module

A terraform module to setup Cert-Manager for issuing ACME Certificates to services running in cluster

Usage

# Kubernetes Provider settings for AKS
provider kubernetes {
  host                   = module.aks.host
  client_certificate     = base64decode(module.aks.client_certificate)
  client_key             = base64decode(module.aks.client_key)
  cluster_ca_certificate = base64decode(module.aks.cluster_ca_certificate)
  load_config_file       = false
}

# Kubernetes Provider settings for AKS
provider helm {
  kubernetes {
    host                   = module.aks.host
    client_certificate     = base64decode(module.aks.client_certificate)
    client_key             = base64decode(module.aks.client_key)
    cluster_ca_certificate = base64decode(module.aks.cluster_ca_certificate)
    load_config_file       = false
  }
}

module "cert_manager" {
  source             = "../modules/cert_manager"
  cert_manager_email = var.cert_manager_email
  namespace          = "cert-manager"

  module_depends_on = [module.aks]
}

Contributing

Report issues/questions/feature requests on in the issues section.

Full contributing guidelines are covered here.

Requirements

Name Version
terraform >= 0.12
helm >=1.2.3
kubernetes >=1.11.3

Providers

Name Version
helm >=1.2.3

Inputs

Name Description Type Default Required
acme_server The acme server to use. ACME Production server: https://acme-v02.api.letsencrypt.org/directory and ACME Staging: https://acme-staging-v02.api.letsencrypt.org/directory string "https://acme-staging-v02.api.letsencrypt.org/directory" no
cert_manager_chart_version The version of Cert-manager to install string "v0.15.1" no
cert_manager_email Email to be used for ACME any n/a yes
cert_manager_namespace The namespace to deploy cert-manager and CRDs to any null no
ingress_class The ingress class to monitor for ingress string "nginx" no
module_depends_on Resources that the module depends on, AKS, namespace creation etc any null no
namespace The namespace to deploy the cert-manager to kubernetes object string "default" no
suffix The suffix to use when creating resources any null no
tags Tags to be passed to created instances map {} no

Outputs

Name Description
cert_issuer_namespace the kubernetes namespace of the cert-issuer release
cert_issuer_release_name name of the cert-issuer release
cert_manager_namespace the kubernetes namespace of the cert-manager release
cert_manager_release_name name of the Cert Manager release
issuer Name of the Issuer to be used in annotations

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published