I want to set the following annotation using Terraform
nginx.ingress.kubernetes.io/server-snippet: |-
location ~* /admin {
allow xxx.xxx.xxx.xxx;
deny all;
}
I can set the annotation as long as it is a string like mentioned below
resource "helm_release" "keycloak" {
repository = "https://charts.bitnami.com/bitnami"
chart = "keycloak"
namespace = kubernetes_namespace.keycloak.metadata[0].name
name = "keycloak"
set {
name = "replicaCount"
value = 1
}
}
but I don't see any reference for "nginx.ingress.kubernetes.io/server-snippet:"
nginx.ingress.kubernetes.io/server-snippet: |-
location ~* /admin {
allow xxx.xxx.xxx.xxx;
deny all;
}
What about to use yamlencode? Here is just an example:
set {
name = "server\\.resources"
value = yamlencode({
limits = {
cpu = "200m"
memory = "50Mi"
}
requests = {
cpu = "100m"
memory = "30Mi"
}
})
}