Skip to content

Commit d32db09

Browse files
committed
feta: improve variables
1 parent 95fe3d7 commit d32db09

File tree

7 files changed

+92
-25
lines changed

7 files changed

+92
-25
lines changed

README.md

Lines changed: 19 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -16,16 +16,18 @@ A non-official Linkerd2 Terraform Module
1616

1717
| Name | Version |
1818
|------|---------|
19-
| <a name="requirement_time"></a> [time](#requirement\_time) | 0.11.1 |
19+
| <a name="requirement_helm"></a> [helm](#requirement\_helm) | >= 2.13.2 |
20+
| <a name="requirement_kubernetes"></a> [kubernetes](#requirement\_kubernetes) | >= 2.30.0 |
21+
| <a name="requirement_time"></a> [time](#requirement\_time) | >= 0.11.1 |
2022

2123
## Providers
2224

2325
| Name | Version |
2426
|------|---------|
25-
| <a name="provider_helm"></a> [helm](#provider\_helm) | n/a |
26-
| <a name="provider_kubernetes"></a> [kubernetes](#provider\_kubernetes) | n/a |
27+
| <a name="provider_helm"></a> [helm](#provider\_helm) | 2.13.2 |
28+
| <a name="provider_kubernetes"></a> [kubernetes](#provider\_kubernetes) | 2.30.0 |
2729
| <a name="provider_time"></a> [time](#provider\_time) | 0.11.1 |
28-
| <a name="provider_tls"></a> [tls](#provider\_tls) | n/a |
30+
| <a name="provider_tls"></a> [tls](#provider\_tls) | 4.0.5 |
2931

3032
## Modules
3133

@@ -52,9 +54,9 @@ No modules.
5254
| [kubernetes_secret.linkerd_root_ca](https://registry.terraform.io/providers/hashicorp/kubernetes/latest/docs/resources/secret) | resource |
5355
| [kubernetes_secret.linkerd_viz_root_ca](https://registry.terraform.io/providers/hashicorp/kubernetes/latest/docs/resources/secret) | resource |
5456
| [kubernetes_secret.linkerd_webhook_root_ca](https://registry.terraform.io/providers/hashicorp/kubernetes/latest/docs/resources/secret) | resource |
55-
| [time_sleep.wait_control_plane_certificate_provisioning](https://registry.terraform.io/providers/hashicorp/time/0.11.1/docs/resources/sleep) | resource |
56-
| [time_sleep.wait_viz_certificate_provisioning](https://registry.terraform.io/providers/hashicorp/time/0.11.1/docs/resources/sleep) | resource |
57-
| [time_sleep.wait_webhook_certificate_provisioning](https://registry.terraform.io/providers/hashicorp/time/0.11.1/docs/resources/sleep) | resource |
57+
| [time_sleep.wait_control_plane_certificate_provisioning](https://registry.terraform.io/providers/hashicorp/time/latest/docs/resources/sleep) | resource |
58+
| [time_sleep.wait_viz_certificate_provisioning](https://registry.terraform.io/providers/hashicorp/time/latest/docs/resources/sleep) | resource |
59+
| [time_sleep.wait_webhook_certificate_provisioning](https://registry.terraform.io/providers/hashicorp/time/latest/docs/resources/sleep) | resource |
5860
| [tls_private_key.linkerd_private_key](https://registry.terraform.io/providers/hashicorp/tls/latest/docs/resources/private_key) | resource |
5961
| [tls_private_key.linkerd_viz_private_key](https://registry.terraform.io/providers/hashicorp/tls/latest/docs/resources/private_key) | resource |
6062
| [tls_private_key.linkerd_webhook_private_key](https://registry.terraform.io/providers/hashicorp/tls/latest/docs/resources/private_key) | resource |
@@ -72,13 +74,22 @@ No modules.
7274

7375
| Name | Description | Type | Default | Required |
7476
|------|-------------|------|---------|:--------:|
77+
| <a name="input_control_plane_ca_validity"></a> [control\_plane\_ca\_validity](#input\_control\_plane\_ca\_validity) | Control plane Issuer CA validity in hours eg: 175200 for 20 years | `string` | `"175200"` | no |
78+
| <a name="input_control_plane_cert_duration"></a> [control\_plane\_cert\_duration](#input\_control\_plane\_cert\_duration) | Control plane TLS cert duration eg: 24h0m0s | `string` | `"72h0m0s"` | no |
79+
| <a name="input_control_plane_cert_renew_before"></a> [control\_plane\_cert\_renew\_before](#input\_control\_plane\_cert\_renew\_before) | Control plane TLS cert renew before eg: 1h0m0s | `string` | `"24h0m0s"` | no |
7580
| <a name="input_control_plane_helm_version"></a> [control\_plane\_helm\_version](#input\_control\_plane\_helm\_version) | Control plane helm version | `string` | `"1.16.11"` | no |
7681
| <a name="input_control_plane_namespace"></a> [control\_plane\_namespace](#input\_control\_plane\_namespace) | Control plane namespace | `string` | `"linkerd"` | no |
7782
| <a name="input_crds_helm_vesion"></a> [crds\_helm\_vesion](#input\_crds\_helm\_vesion) | Crds helm version | `string` | `"1.8.0"` | no |
78-
| <a name="input_kubernetes"></a> [kubernetes](#input\_kubernetes) | n/a | <pre>object({<br> host : string,<br> cluster_ca_certificate : string,<br> token : string,<br> })</pre> | n/a | yes |
83+
| <a name="input_kubernetes"></a> [kubernetes](#input\_kubernetes) | Kubernetes connection configuration | <pre>object({<br> host : string,<br> cluster_ca_certificate : string,<br> token : string,<br> })</pre> | n/a | yes |
7984
| <a name="input_linkerd_repository"></a> [linkerd\_repository](#input\_linkerd\_repository) | stable \| edge \| enterprise | `string` | `"stable"` | no |
85+
| <a name="input_viz_ca_validity"></a> [viz\_ca\_validity](#input\_viz\_ca\_validity) | Viz Issuer CA validity in hours eg: 175200 for 20 years | `string` | `"175200"` | no |
86+
| <a name="input_viz_cert_duration"></a> [viz\_cert\_duration](#input\_viz\_cert\_duration) | Viz TLS cert duration eg: 24h0m0s | `string` | `"48h0m0s"` | no |
87+
| <a name="input_viz_cert_renew_before"></a> [viz\_cert\_renew\_before](#input\_viz\_cert\_renew\_before) | Viz TLS cert renew before eg: 1h0m0s | `string` | `"24h0m0s"` | no |
8088
| <a name="input_viz_helm_version"></a> [viz\_helm\_version](#input\_viz\_helm\_version) | Viz helm version | `string` | `"30.12.11"` | no |
8189
| <a name="input_viz_namespace"></a> [viz\_namespace](#input\_viz\_namespace) | Viz namespace | `string` | `"linkerd-viz"` | no |
90+
| <a name="input_webhook_ca_validity"></a> [webhook\_ca\_validity](#input\_webhook\_ca\_validity) | Webhook Issuer CA validity in hours eg: 175200 for 20 years | `string` | `"175200"` | no |
91+
| <a name="input_webhook_cert_duration"></a> [webhook\_cert\_duration](#input\_webhook\_cert\_duration) | Webhook TLS cert duration eg: 24h0m0s | `string` | `"48h0m0s"` | no |
92+
| <a name="input_webhook_cert_renew_before"></a> [webhook\_cert\_renew\_before](#input\_webhook\_cert\_renew\_before) | Webhook TLS cert renew before eg: 1h0m0s | `string` | `"24h0m0s"` | no |
8293

8394
## Outputs
8495

main.tf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@ resource "helm_release" "linkerd_control_plane" {
7979

8080
set {
8181
name = "cniEnabled"
82-
value = "true"
82+
value = "false"
8383
}
8484

8585
set {

providers.tf

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,15 @@ terraform {
22
required_providers {
33
kubernetes = {
44
source = "hashicorp/kubernetes"
5+
version = ">= 2.30.0"
56
}
67
helm = {
78
source = "hashicorp/helm"
9+
version = ">= 2.13.2"
810
}
911
time = {
1012
source = "hashicorp/time"
11-
version = "0.11.1"
13+
version = ">= 0.11.1"
1214
}
1315
}
1416
}

tls-control-plane.tf

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ resource "tls_self_signed_cert" "linkerd_root_ca" {
77
private_key_pem = tls_private_key.linkerd_private_key.private_key_pem
88
is_ca_certificate = true
99
set_subject_key_id = true
10-
validity_period_hours = 175200 # 20 years
10+
validity_period_hours = var.control_plane_ca_validity
1111
dns_names = ["root.linkerd.cluster.local"]
1212

1313
subject {
@@ -62,8 +62,8 @@ resource "kubernetes_manifest" "linkerd_identity_issuer_certificate" {
6262
}
6363
"spec" = {
6464
"secretName" = "linkerd-identity-issuer"
65-
"duration" = "48h0m0s"
66-
"renewBefore" = "6h0m0s"
65+
"duration" = "${var.control_plane_cert_duration}"
66+
"renewBefore" = "${var.control_plane_cert_renew_before}"
6767
"issuerRef" = {
6868
"name" = "linkerd-trust-anchor"
6969
"kind" = "Issuer"

tls-viz.tf

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ resource "tls_self_signed_cert" "linkerd_viz_root_ca" {
77
private_key_pem = tls_private_key.linkerd_viz_private_key.private_key_pem
88
is_ca_certificate = true
99
set_subject_key_id = true
10-
validity_period_hours = 175200 # 20 years
10+
validity_period_hours = var.viz_ca_validity
1111
dns_names = ["webhook.linkerd.cluster.local"]
1212

1313
subject {
@@ -62,8 +62,8 @@ resource "kubernetes_manifest" "linkerd_viz_certificate" {
6262
}
6363
"spec" = {
6464
"secretName" = "tap-k8s-tls"
65-
"duration" = "24h0m0s"
66-
"renewBefore" = "1h0m0s"
65+
"duration" = "${var.viz_cert_duration}"
66+
"renewBefore" = "${var.viz_cert_renew_before}"
6767
"issuerRef" = {
6868
"name" = "webhook-issuer"
6969
"kind" = "Issuer"
@@ -97,8 +97,8 @@ resource "kubernetes_manifest" "linkerd_tap_injector_certificate" {
9797
}
9898
"spec" = {
9999
"secretName" = "tap-injector-k8s-tls"
100-
"duration" = "24h0m0s"
101-
"renewBefore" = "1h0m0s"
100+
"duration" = "${var.viz_cert_duration}"
101+
"renewBefore" = "${var.viz_cert_renew_before}"
102102
"issuerRef" = {
103103
"name" = "webhook-issuer"
104104
"kind" = "Issuer"

tls-webhook.tf

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ resource "tls_self_signed_cert" "linkerd_webhook_root_ca" {
77
private_key_pem = tls_private_key.linkerd_private_key.private_key_pem
88
is_ca_certificate = true
99
set_subject_key_id = true
10-
validity_period_hours = 175200 # 20 years
10+
validity_period_hours = var.webhook_ca_validity
1111
dns_names = ["webhook.linkerd.cluster.local"]
1212

1313
subject {
@@ -62,8 +62,8 @@ resource "kubernetes_manifest" "linkerd_policy_validator_certificate" {
6262
}
6363
"spec" = {
6464
"secretName" = "linkerd-policy-validator-k8s-tls"
65-
"duration" = "24h0m0s"
66-
"renewBefore" = "1h0m0s"
65+
"duration" = "${var.webhook_cert_duration}"
66+
"renewBefore" = "${var.webhook_cert_renew_before}"
6767
"issuerRef" = {
6868
"name" = "webhook-issuer"
6969
"kind" = "Issuer"
@@ -98,8 +98,8 @@ resource "kubernetes_manifest" "linkerd_proxy_injector_certificate" {
9898
}
9999
"spec" = {
100100
"secretName" = "linkerd-proxy-injector-k8s-tls"
101-
"duration" = "24h0m0s"
102-
"renewBefore" = "1h0m0s"
101+
"duration" = "${var.webhook_cert_duration}"
102+
"renewBefore" = "${var.webhook_cert_renew_before}"
103103
"issuerRef" = {
104104
"name" = "webhook-issuer"
105105
"kind" = "Issuer"
@@ -133,8 +133,8 @@ resource "kubernetes_manifest" "linkerd_sp_validator_certificate" {
133133
}
134134
"spec" = {
135135
"secretName" = "linkerd-sp-validator-k8s-tls"
136-
"duration" = "24h0m0s"
137-
"renewBefore" = "1h0m0s"
136+
"duration" = "${var.webhook_cert_duration}"
137+
"renewBefore" = "${var.webhook_cert_renew_before}"
138138
"issuerRef" = {
139139
"name" = "webhook-issuer"
140140
"kind" = "Issuer"

variables.tf

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
variable "kubernetes" {
2+
description = "Kubernetes connection configuration"
23
type = object({
34
host : string,
45
cluster_ca_certificate : string,
@@ -23,6 +24,41 @@ variable "control_plane_namespace" {
2324
default = "linkerd"
2425
}
2526

27+
variable "control_plane_ca_validity" {
28+
description = "Control plane Issuer CA validity in hours eg: 175200 for 20 years"
29+
type = string
30+
default = "175200"
31+
}
32+
33+
variable "control_plane_cert_duration" {
34+
description = "Control plane TLS cert duration eg: 24h0m0s"
35+
type = string
36+
default = "72h0m0s"
37+
}
38+
39+
variable "control_plane_cert_renew_before" {
40+
description = "Control plane TLS cert renew before eg: 1h0m0s"
41+
type = string
42+
default = "24h0m0s"
43+
}
44+
45+
variable "webhook_ca_validity" {
46+
description = "Webhook Issuer CA validity in hours eg: 175200 for 20 years"
47+
type = string
48+
default = "175200"
49+
}
50+
51+
variable "webhook_cert_duration" {
52+
description = "Webhook TLS cert duration eg: 24h0m0s"
53+
type = string
54+
default = "48h0m0s"
55+
}
56+
57+
variable "webhook_cert_renew_before" {
58+
description = "Webhook TLS cert renew before eg: 1h0m0s"
59+
type = string
60+
default = "24h0m0s"
61+
}
2662
variable "viz_helm_version" {
2763
description = "Viz helm version"
2864
type = string
@@ -35,6 +71,24 @@ variable "viz_namespace" {
3571
default = "linkerd-viz"
3672
}
3773

74+
variable "viz_ca_validity" {
75+
description = "Viz Issuer CA validity in hours eg: 175200 for 20 years"
76+
type = string
77+
default = "175200"
78+
}
79+
80+
variable "viz_cert_duration" {
81+
description = "Viz TLS cert duration eg: 24h0m0s"
82+
type = string
83+
default = "48h0m0s"
84+
}
85+
86+
variable "viz_cert_renew_before" {
87+
description = "Viz TLS cert renew before eg: 1h0m0s"
88+
type = string
89+
default = "24h0m0s"
90+
}
91+
3892
variable "crds_helm_vesion" {
3993
description = "Crds helm version"
4094
type = string

0 commit comments

Comments
 (0)