Skip to content

Latest commit

 

History

History
82 lines (64 loc) · 3 KB

File metadata and controls

82 lines (64 loc) · 3 KB

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