#docker #terraform-provider-gcp #terraform-template-file
#docker #terraform-provider-gcp #terraform-template-file
Вопрос:
resource "google_compute_instance_template" "envoy_instance_template" {
disk {
source_image = "gce-uefi-images/cos-stable"
disk_size_gb = var.disk_size
disk_type = var.disk_type
boot = true
}
metadata = {
gce-container-declaration = yamlencode({
apiVersion = "v1",
kind = "Pod",
metadata = {
name = "envoy"
}
spec = {
containers = [{
name = "envoy",
image = "myimage",
imagePullPolicy = "Always",
ports = {
containerPort = "443",
hostPort = "443",
},
env = [
{
name = "ENVOY_CONFIG",
value = templatefile("${path.module}/envoy.tmpl",
{
routes = var.envoy_config.routes
clusters = var.envoy_config.clusters
}),
}
]
}]
}
})
google-logging-enabled = "TRUE"
enable-oslogin = "TRUE"
}
Я просто хочу запустить контейнер docker поверх gce-uefi-images/cos-stable
.
С помощью приведенного выше кода вышеуказанное запускается, как и ожидалось.
Однако символы новой строки и отступы в ENVOY_CONFIG
исчезают при запуске контейнера.
templatefile
Функция работает корректно и выдает yaml
ожидаемый файл. Однако внутри контейнера ENVOY_CONFIG
все отступы теряются.
Я пытался использовать yamlencode
, но это тоже не сработало.
Как правильно сохранить содержимое файла yaml (отступы и символы новой строки) в переменной среды ENVOY_CONFIG
?
Комментарии:
1. Вы пробовали использовать
indent
?