Получить Slack auth_token для ресурса Terraform google_monitoring_notification_channel - PullRequest
0 голосов
/ 26 февраля 2019

Я пытаюсь настроить некоторые оповещения от gcloud -> slack, и пока у меня есть тест и запуск, следуя этим инструкциям:

https://cloud.google.com/monitoring/support/notification-options?_ga=2.190773474.-879257953.1550134526#slack

Однако, в идеалеЯ бы сохранил конфигурацию для этих уведомлений в скрипте terraform, чтобы у меня не было шагов, которые нужно выполнить вручную, если что-то потребуется настроить заново.Похоже, это должно быть возможно: https://www.terraform.io/docs/providers/google/r/monitoring_notification_channel.html

Я запустил gcloud alpha monitoring channel-descriptors describe projects/<My Project>/notificationChannelDescriptors/slack, который производит следующий вывод для меток + тип:

labels:
- description: A permanent authentication token provided by Slack. This field is obfuscated
    by returning only a few characters of the key when fetched.
  key: auth_token
- description: The Slack channel to which to post notifications.
  key: channel_name
type: slack

Итак, я думаю, что мойКонфигурация terraform для канала уведомлений должна быть:

resource "google_monitoring_notification_channel" "basic" {
  display_name = "My slack notifications"
  type = "slack"
  labels = {
    auth_token = "????????"
    channel_name = "#notification-channel"
  }
}

Однако я не могу понять, как получить токен аутентификации для этого сценария?Кажется, я не могу извлечь тот, который я уже настроил, из Slack или gcloud, и не могу найти никаких инструкций по его созданию с нуля ...

NB Это не проблема, связанная с Terraform, поскольку скрипт просто подключается к Google REST API.Таким образом, любой, кто использует API напрямую, также должен был бы получить этот auth_token откуда-то.Должен быть намеченный способ его получения или почему он вообще есть в API ...?

1 Ответ

0 голосов
/ 09 июня 2019
  1. Посетите https://app.google.stackdriver.com/settings/accounts/notifications/slack?project=YOUR_PROJECT_NAME
  2. Выберите «Добавить свободный канал»
  3. Выберите «Авторизовать Stackdriver»
  4. Выберите «Установить»
  5. Выбудет перенаправлен обратно на URL-адрес в виде: https://app.google.stackdriver.com/settings/accounts/notifications/slack/add?project=YOUR_PROJECT_NAME&auth_token=AUTH_TOKEN_HERE
  6. Сохранить канал уведомлений (это необходимо для завершения потока oauth)
  7. Copy /вставьте токен аутентификации из параметра &auth_token= в строку запроса

В результате вы получите дополнительный канал уведомлений, т.е. тот, который вы создали в консоли, но после этого вы сможетеповторно использовать токен аутентификации в каналах уведомлений, управляемых terraform.

...