Just reference the documented terraform solution using jsonencode
:
resource "kubernetes_secret" "example" {
metadata {
name = "docker-cfg"
}
type = "kubernetes.io/dockerconfigjson"
data = {
".dockerconfigjson" = jsonencode({
auths = {
"${var.registry_server}" = {
"username" = var.registry_username
"password" = var.registry_password
"email" = var.registry_email
"auth" = base64encode("${var.registry_username}:${var.registry_password}")
}
}
})
}
}
which is equivalent to:
$ kubectl create secret docker-registry docker-cfg --docker-server=${registry_server} --docker-username=${registry_username} --docker-password=${registry_password} --docker-email=${registry_email}