Skip to content

Commit 25a99a4

Browse files
committed
Support for key_vault_secrets_provider and maintenance_window
1 parent bba3ecb commit 25a99a4

2 files changed

Lines changed: 90 additions & 0 deletions

File tree

main.tf

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ resource "azurerm_kubernetes_cluster" "main" {
1616
dns_prefix = var.prefix
1717
sku_tier = var.sku_tier
1818
private_cluster_enabled = var.private_cluster_enabled
19+
private_dns_zone_id = var.private_dns_zone_id
1920

2021
linux_profile {
2122
admin_username = var.admin_username
@@ -147,6 +148,35 @@ resource "azurerm_kubernetes_cluster" "main" {
147148
service_cidr = var.net_profile_service_cidr
148149
}
149150

151+
dynamic "key_vault_secrets_provider" {
152+
for_each = var.key_vault_secrets_provider_enabled ? ["key_vault_secrets_provider"] : []
153+
154+
content {
155+
secret_rotation_enabled = key_vault_secrets_provider.secret_rotation_enabled
156+
secret_rotation_interval = key_vault_secrets_provider.secret_rotation_interval
157+
}
158+
}
159+
160+
maintenance_window {
161+
dynamic "allowed" {
162+
for_each = var.allowed_maintenance_windows
163+
164+
content {
165+
day = allowed.day
166+
hours = allowed.hours
167+
}
168+
}
169+
170+
dynamic "not_allowed" {
171+
for_each = var.not_allowed_maintenance_windows
172+
173+
content {
174+
start = not_allowed.start
175+
end = not_allowed.end
176+
}
177+
}
178+
}
179+
150180
tags = var.tags
151181
}
152182

variables.tf

Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -324,3 +324,63 @@ variable "node_resource_group" {
324324
type = string
325325
default = null
326326
}
327+
328+
variable "key_vault_secrets_provider_enabled" {
329+
description = "Enables Key Vault Secret Provider"
330+
type = bool
331+
default = false
332+
}
333+
334+
variable "key_vault_secrets_provider" {
335+
description = "Config for Key Vault Secret Provider"
336+
type = object({
337+
secret_rotation_enabled = bool
338+
secret_rotation_interval = string
339+
})
340+
default = {
341+
secret_rotation_enabled = true
342+
secret_rotation_interval = "2m"
343+
}
344+
}
345+
346+
variable "allowed_maintenance_windows" {
347+
description = "List of allowed Maintenance Windows for AKS"
348+
type = list(object({
349+
day = string
350+
hours = list(number)
351+
}))
352+
default = []
353+
354+
# Example: [
355+
# {
356+
# day = "Saturday"
357+
# hours = [23]
358+
# },
359+
# {
360+
# day = "Sunday"
361+
# hours = [0, 1, 2, 3, 4]
362+
# }
363+
# ]
364+
}
365+
366+
variable "not_allowed_maintenance_windows" {
367+
description = "List of not allowed Maintenance Windows for AKS"
368+
type = list(object({
369+
start = string
370+
end = string
371+
}))
372+
default = []
373+
374+
# Example: [
375+
# {
376+
# start = "2022-01-01T00:00:00Z"
377+
# end = "2023-01-01T00:00:00Z"
378+
# }
379+
# ]
380+
}
381+
382+
variable "private_dns_zone_id" {
383+
description = "Either the DNS-name of Private DNS Zone which should be delegated to this Cluster, 'System' to have AKS manage this or 'None'."
384+
type = string
385+
default = "System"
386+
}

0 commit comments

Comments
 (0)