Size: a a a

2020 June 04

AK

Andrey Kartashov in terraform_ru
Anton Babenko
не надо использовать -target и depends_on (даже на data-source)
Что делать в случае, когда у модуля нет вывода, который можно запихнуть в ввод зависящего модуля?
источник

AK

Andrey Kartashov in terraform_ru
Или у зависящего нет такого ввода
источник

AR

Alexey Remizov in terraform_ru
Сделать эти вывод и ввод?
источник

AK

Andrey Kartashov in terraform_ru
Alexey Remizov
Сделать эти вывод и ввод?
Если это сторонние модули?
источник

AB

Anton Babenko in terraform_ru
тогда не понятно что именно должно от чего зависеть? если сам факт создания модуля, то это в 0.13 вроде есть (`depends_on = [module.vpc]`)
источник

AK

Andrey Kartashov in terraform_ru
Алексей пытается доказать, что и без depends_on для модулей всё было прекрасно
источник

AK

Andrey Kartashov in terraform_ru
Я кстати пропустил это нововведение, давно tf не пользуюсь
источник

AR

Alexey Remizov in terraform_ru
Так-то, что без depends_on было хорошо, пишет Антон. Но я скорее согласен, чем нет. Модули совсем без ввода и вывода я ещё не встречал. Если хоть какой-то выхлоп у модуля есть, зависимость можно скрафтить хаком. Если выхлопа нет, но от модуля реально что-то зависит, это кривой модуль и его надо патчить. Патчить кривые сторонние модули это нормально.
источник

AK

Andrey Kartashov in terraform_ru
Решения были, Но концептуально модуль - это комплексный ресурс и он должен поддерживать общие для ресурсов операции, кмк
источник

EM

Egor Mikheev in terraform_ru
Я так понял, что если в модуле прописаны output то в main можно сперва запустить первый модуль, а уже во второй модуль, который принимает эти значения сработает синхронно после появления этих данных? Потому что если писать все в одном потоке, то данные от провайдера создания кластера не передаются синхронно зависимым от него другим провайдерам? (в моем случае это scaleway provider => kubernetes_provider
источник

AK

Andrey Kartashov in terraform_ru
Tf не будет создавать ресурсы, пока провайдер не настроен. По крайней мере, так работает при создании кластера в других облаках - Гугле, Амазоне, ажуре
источник

AK

Andrey Kartashov in terraform_ru
Egor Mikheev
Я так понял, что если в модуле прописаны output то в main можно сперва запустить первый модуль, а уже во второй модуль, который принимает эти значения сработает синхронно после появления этих данных? Потому что если писать все в одном потоке, то данные от провайдера создания кластера не передаются синхронно зависимым от него другим провайдерам? (в моем случае это scaleway provider => kubernetes_provider
Ты вообще где проблему видишь? У тебя все должно просто работать, у тебя даже зависимости вручную прописаны
источник

EM

Egor Mikheev in terraform_ru
Andrey Kartashov
Ты вообще где проблему видишь? У тебя все должно просто работать, у тебя даже зависимости вручную прописаны
Спасибо, проблема решилась с помощью вынесения все в модули и проброс данных через входящие и исходящие данные

module "cluster" {
 source = "./modules/kuber"
}

resource "local_file" "config" {
 content = jsonencode(module.cluster.kubeconfig)
 filename = "cluster_config"
}

module "gitlab" {
 source = "./modules/gitlab"
 cluster_ca_certificate = module.cluster.cluster_ca_certificate
 host = module.cluster.host
 token = module.cluster.token
}

Только почему то сохранение локального файла все равно из потока вышло и встало на первое место
источник

AK

Andrey Kartashov in terraform_ru
Egor Mikheev
Спасибо, проблема решилась с помощью вынесения все в модули и проброс данных через входящие и исходящие данные

module "cluster" {
 source = "./modules/kuber"
}

resource "local_file" "config" {
 content = jsonencode(module.cluster.kubeconfig)
 filename = "cluster_config"
}

module "gitlab" {
 source = "./modules/gitlab"
 cluster_ca_certificate = module.cluster.cluster_ca_certificate
 host = module.cluster.host
 token = module.cluster.token
}

Только почему то сохранение локального файла все равно из потока вышло и встало на первое место
В выводе tf plan?
источник

EM

Egor Mikheev in terraform_ru
Да
источник

AK

Andrey Kartashov in terraform_ru
Так порядок вывода не говорит о порядке создания
источник

AK

Andrey Kartashov in terraform_ru
Есть tf graph для этого
источник

AK

Andrey Kartashov in terraform_ru
Либо сделать tf plan -target и будет видно, от каких ресурсов зависит таргет
источник

AK

Andrey Kartashov in terraform_ru
По моему, вы решаете несуществующую проблему
источник

YA

Yury Alexandrov in terraform_ru
Может у кого-то есть лайфхак - создаем секреты в амазоне терраформом. Их там несколько десятков и любая команда читает их один за другим, что медленно. Можно как-то это ускорить?
источник