Skip to content

run-x/terraform-helm-linkerd2

Repository files navigation

terraform-helm-linkerd2

Install Linkerd2 using Terraform

  • Install Linkerd2 using Helm
  • Configure Control Plane TLS Credentials (this)
  • Optional: Configure High Availability
  • Optional: Install Linkerd2 Viz using Helm

Usage

provider "helm" {
  kubernetes {
    config_path = "~/.kube/config"
  }
}

# install linkerd2 in high availability (HA) mode with Linkerd Viz 
module "linkerd2" {
  source  = "run-x/linkerd2/helm"
  version = "0.1.1"

  high_availability = true
  viz_enabled       = true
  values            = ["enablePodAntiAffinity: false"]
}

Requirements

Name Version
terraform >= 0.13

Providers

Name Version
helm n/a
tls n/a

Modules

No modules.

Resources

Name Type
helm_release.linkerd resource
helm_release.linkerd_viz resource
tls_cert_request.issuer_req resource
tls_locally_signed_cert.issuer_cert resource
tls_private_key.issuer_key resource
tls_private_key.trustanchor_key resource
tls_self_signed_cert.trustanchor_cert resource

Inputs

Name Description Type Default Required
cert_validity_period_hours The number of hours after initial issuing that the certificate will become invalid. number 8760 no
chart_version Specify the exact Linkerd chart version to install. string "2.11.1" no
high_availability Install Linkerd in high availability (HA) mode bool false no
values List of values in raw yaml to pass to helm. Values will be merged, in order, as Helm does with multiple -f options. Example: ["enablePodAntiAffinity: false"] list(string) [] no
viz_enabled Install Linkerd-Viz: extension contains observability and visualization components bool false no

Outputs

No outputs.

Credits