Size: a a a

2020 February 04

DK

Dmitry Kireev in terraform_ru
Iurii Medvedev
Дима ты опять с какой-то жестью
Остальное все понятно)
источник

DK

Dmitry Kireev in terraform_ru
😄
источник

DK

Dmitry Kireev in terraform_ru
ладно, на худой конце оставлю пока хардкодные индексы
источник

A

Andor in terraform_ru
Dmitry Kireev
[{value=one},{value=twooo}] и надо найти по содержанию "two"
источник

DK

Dmitry Kireev in terraform_ru
0.12
источник

DK

Dmitry Kireev in terraform_ru
😄
источник

DK

Dmitry Kireev in terraform_ru
как раз
источник

A

Andor in terraform_ru
Этому issue полтора года
источник

A

Andor in terraform_ru
В комментарии прост объяснение как это юзать
источник

DK

Dmitry Kireev in terraform_ru
Ну там чисто comprehensions, вроде
источник
2020 February 05

AK

Andrey Kartashov in terraform_ru
Petr Luzhin
наверное, вопрос платиновый, но кто-нибудь знает способы как завести cert manager в кубере через терраформ?
Через helm provider, а в чем сложность?
источник

JS

John Smith in terraform_ru
Роман Рахманин
Там у него другая проблема
Понять бы это проблема в руках, голове, или в тераформе/Яндексе.
источник

SY

Stanislav Yurchenko in terraform_ru
Доброе утро! Ребят, помогите подсказкой.
Хочу сделать модуль для создания инстансов + дисков для них.
Переменная модуля такая
variable "instance" {
 type = object(
   {
     name=string,
     type=string,
     tags=list(string),
     user_key_to_auth=string,
     attached_disks=list(
       object(
         {
           type=string,
           size=number
         }
       )
     ),
   }
 )
}

Как видно, есть объект инстанса, и лист объектов подключаемых дисков
После этого, в main.tf создаю диски

resource "google_compute_disk" "server_disk" {
 count = length(var.instance.attached_disks)
 name  = "${ var.instance.name }_${count.index}-disk"
 type  = var.instance.attached_disks[count.index].type
 size = var.instance.attached_disks[count.index].size
 labels = {
   environment = "prod"
 }
 physical_block_size_bytes = 4096
}

И затем надо примапить диски к инстансу. Вот тут у меня затык.
Пробую это сделать это через dynamic

 dynamic "attached_disk"{
   for_each = google_compute_disk.server_disk
   content{
     source = attached_disk.self_link
     device_name = attached_disk.name
   }
 }

И тут начинается ругань, типа нету у google_compute_disk.server_disk атрибута self_link
источник

SY

Stanislav Yurchenko in terraform_ru
for_each получает лист, поскольку
google_compute_disk.server_disk[0].self_link
Это работает корректно
источник

A

Andor in terraform_ru
источник

SY

Stanislav Yurchenko in terraform_ru
Спасибо, щас попробую! ))
Вчера полдня потратил на эксперименты, если получится, будет круто )
источник

PL

Petr Luzhin in terraform_ru
Andrey Kartashov
Через helm provider, а в чем сложность?
Сложность в отсутствии поддержки кастомных ресурсов. Ни CRDs, необходимые серт менеджеру, ни issuer/clusterissuer штатными средствами терраформа задеплоить не получится. Как я понял, можно решить проблему только костылями вроде exec_local, но пока не пробовал
источник

AK

Andrey Kartashov in terraform_ru
Petr Luzhin
Сложность в отсутствии поддержки кастомных ресурсов. Ни CRDs, необходимые серт менеджеру, ни issuer/clusterissuer штатными средствами терраформа задеплоить не получится. Как я понял, можно решить проблему только костылями вроде exec_local, но пока не пробовал
Я делал свои чарты с crd и issuer и деплоил тем же helm provider'ом. Между релизами зависимости в tf проставлять только надо, естественно
источник

PL

Petr Luzhin in terraform_ru
Andrey Kartashov
Я делал свои чарты с crd и issuer и деплоил тем же helm provider'ом. Между релизами зависимости в tf проставлять только надо, естественно
Интересное решение, спасибо. Нужно будет попробовать
источник

AK

Andrey Kartashov in terraform_ru
Petr Luzhin
Интересное решение, спасибо. Нужно будет попробовать
resource "helm_release" "cert-manager-crds" {
 name = "cert-manager-crds"
 #chart = "${path.module}/charts/cert-manager-crds"
 chart = "./charts/cert-manager-crds"
}

resource "helm_release" "cert-manager" {
 depends_on = [helm_release.cert-manager-crds]
 name       = "cert-manager"
 chart      = "cert-manager"
 repository = "jetstack"
 version    = "v0.9.1"
 namespace  = "cert-manager"
}

resource "helm_release" "cert-manager-resources" {
 depends_on = [helm_release.cert-manager]
 name       = "cert-manager-resources"

 #chart = "${path.module}/charts/cert-manager-resources"
 chart     = "./charts/cert-manager-resources"
 namespace = "cert-manager"
 values = [
   <<-EOF
   email: andrey@example.com
   EOF
 ]
источник