Size: a a a

2020 February 02

YA

Yurii Abramkin in terraform_ru
вот такое значение из yaml
источник

YA

Yurii Abramkin in terraform_ru
annotations = {
 "scheduler.alpha.kubernetes.io/tolerations" = "[{"operator": "Exists", "effect": "NoSchedule”},{“operator": "Exists", "effect": "NoExecute"}]"}

вот так не позполяет валидация
источник

AK

Andrey Kartashov in terraform_ru
Yurii Abramkin
annotations = {
 "scheduler.alpha.kubernetes.io/tolerations" = "[{"operator": "Exists", "effect": "NoSchedule”},{“operator": "Exists", "effect": "NoExecute"}]"}

вот так не позполяет валидация
аннотация это ключ (строка) и значение (строка).
источник

YA

Yurii Abramkin in terraform_ru
tostring([{"operator": "Exists", "effect": "NoSchedule"},{"operator": "Exists", "effect": "NoExecute"}])
источник

YA

Yurii Abramkin in terraform_ru
типа такого?
источник

AK

Andrey Kartashov in terraform_ru
нет
источник

AK

Andrey Kartashov in terraform_ru
просто строкой
источник

AK

Andrey Kartashov in terraform_ru
'[{"operator": "Exists", "effect": "NoSchedule”},{“operator": "Exists", "effect": "NoExecute"}]'
источник

AR

Alexey Remizov in terraform_ru
Можно тоже как here string:
"scheduler.alpha.kubernetes.io/tolerations" = <<EOF
[{"operator": "Exists", "effect": "NoSchedule"},{"operator": "Exists", "effect": "NoExecute"}]
EOF
источник

YA

Yurii Abramkin in terraform_ru
о спасибо
источник

YA

Yurii Abramkin in terraform_ru
@alxrem  спасибо работает. а вариант от Андрея не проходит валидацию
источник

A

Andor in terraform_ru
Ещё можно jsonencode()
источник

AK

Andrey Kartashov in terraform_ru
Yurii Abramkin
@alxrem  спасибо работает. а вариант от Андрея не проходит валидацию
возможно надо кавычки просто экранировать
источник

AK

Andrey Kartashov in terraform_ru
для терраформа это просто строка, а не хитрый объект. Впрочем, для k8s тоже
источник

YA

Yurii Abramkin in terraform_ru
еще такой вопросик по поводу
lifecycle {
   ignore_changes = []
}

посоветуйте где почитать игнор  изменинй. не понимаю что конкретно прописывать сюда

 ~ resource "kubernetes_secret" "dashboard-key-holder" {
     ~ data = (sensitive value)
       id   = "kubernetes-dashboard/kubernetes-dashboard-key-holder"
       type = "Opaque"

     ~ metadata {
           annotations      = {}
           generation       = 0
         ~ labels           = {
             + "k8s-app" = "kubernetes-dashboard"
           }
           name             = "kubernetes-dashboard-key-holder"
           namespace        = "kubernetes-dashboard"
           resource_version = "1041407"
           self_link        = "/api/v1/namespaces/kubernetes-dashboard/secrets/kubernetes-dashboard-key-holder"
           uid              = "3ddec3de-43ae-11ea-a72e-0a3515cb7204"
       }
   }

а то как-то в офф доке тут https://www.terraform.io/docs/configuration/resources.html#lifecycle-lifecycle-customizations совсем мало инфы
источник

A

Andor in terraform_ru
Yurii Abramkin
еще такой вопросик по поводу
lifecycle {
   ignore_changes = []
}

посоветуйте где почитать игнор  изменинй. не понимаю что конкретно прописывать сюда

 ~ resource "kubernetes_secret" "dashboard-key-holder" {
     ~ data = (sensitive value)
       id   = "kubernetes-dashboard/kubernetes-dashboard-key-holder"
       type = "Opaque"

     ~ metadata {
           annotations      = {}
           generation       = 0
         ~ labels           = {
             + "k8s-app" = "kubernetes-dashboard"
           }
           name             = "kubernetes-dashboard-key-holder"
           namespace        = "kubernetes-dashboard"
           resource_version = "1041407"
           self_link        = "/api/v1/namespaces/kubernetes-dashboard/secrets/kubernetes-dashboard-key-holder"
           uid              = "3ddec3de-43ae-11ea-a72e-0a3515cb7204"
       }
   }

а то как-то в офф доке тут https://www.terraform.io/docs/configuration/resources.html#lifecycle-lifecycle-customizations совсем мало инфы
Там же чётко написано всё
источник

A

Andor in terraform_ru
Непонятно что ты хочешь игнорить в этом случае, хочешь чтобы в кубере не появилось изменений, которые есть в терраформе?
источник

YA

Yurii Abramkin in terraform_ru
data = (sensitive value)
это прописывает сам сервис. а деплой это сбрасывает все время. и сервис перезаписывает все время. Хочу игнорировать именно эти измения
источник

A

Andor in terraform_ru
Репорти баг в провайдера
источник

AR

Alexey Remizov in terraform_ru
Так поможет?
resource "kubernetes_secret" "dashboard-key-holder" {
 . . .
 lifecycle {
   ignore_changes = [
     data,
   ]
 }
}
источник