Уведомлять Slack каждый раз, когда кто-то запускает файл terraform

Я пытаюсь выяснить, как уведомлять слабый канал каждый раз, когда кто-то делает

terraform apply

Я прошел через https://github.com/terraform-aws-modules/terraform-aws-notify-slack , но здесь конкретно говорится об оповещениях об облачных наблюдениях. Я думаю о чем-то простом, где я могу просто отправить что-то вроде уведомления в slack, вызвав веб-хук в конце успешного применения terraform.

Может кто-нибудь указать мне в каком-то направлении, я в порядке, чтобы разработать что-то, чтобы понять это. Просто указатели также помогут.


person DeathADDER    schedule 22.05.2018    source источник
comment
Почему вы хотите этого? Чего вы пытаетесь достичь здесь?   -  person ydaetskcoR    schedule 22.05.2018
comment
Если вы запускаете Terraform как часть конвейера, эта проблема становится намного проще.   -  person Matt Schuchard    schedule 22.05.2018
comment
@ydaetskcoR я пытаюсь просто создать небольшой плагин обратного вызова, который мог бы делать уведомления, потому что сейчас я не знаю, кто что раскручивает в моей команде через terraform   -  person DeathADDER    schedule 25.05.2018
comment
И что мешает тогда удалить ваш обратный вызов и запустить его в любом случае? Если вы хотите знать о раскручиваемых вещах, вам нужно, чтобы ваш провайдер знал об этом, например, CloudTrail для AWS, но это совсем другой вопрос, на который, вероятно, уже был дан ответ.   -  person ydaetskcoR    schedule 25.05.2018


Ответы (1)


Этого можно добиться с помощью программы Terraform local-exec, которая позволяет вы запускаете некоторый исполняемый код локально после создания ресурса:

resource "null_resource" "example2" {
  provisioner "local-exec" {
    command = "curl -X POST 'https://yourchannel.slack.com/api/chat.postMessage?channel=CXXXXXXXX&token=xoxp-#####' -F 'text={\"text\": \"Terraform was applied\"}'"
  }
}
person Adil B    schedule 22.05.2018
comment
Однако поставщик запускается только один раз. Даже в null_resource требуется повторный запуск триггеров. Это не решит проблему вопросов, но я не уверен, что ее можно решить с помощью ресурса Terraform. Кроме того. Вопрос требует уведомления об успешных запусках. Провайдер может работать даже в случае сбоя. - person Brandon Miller; 22.05.2018
comment
@BrandonMiller, точно, мне нужен правильный результат, который дает слабину .. кто, что, когда, успех / неудача / откат - person DeathADDER; 25.05.2018
comment
у вас есть какое-нибудь решение для этого? - person smootherbug; 21.05.2020
comment
Если у вас есть Terraform Cloud, вы можете использовать terraform.io/docs/cloud/workspaces. /notifications.html - person Adil B; 21.05.2020