Настройка уведомлений ArgoCD Slack
Получайте уведомления обо всех ваших перемещениях в Argo :)
1- Создайте приложение Slack, используя указанный ниже URL-адрес.
https://api.slack.com/apps?new_app=1
Затем выберите «С нуля».
Введите имя приложения, например «argocd», и выберите рабочее пространство Slack, как показано ниже.
После создания приложения перейдите кEnter OAuth & Permissions & Choose Permissions
Теперь добавьте область для этого бота (приложение argocd), поэтому пока выберите Две области .
После настройки Scope прокрутите вверх, нажмите кнопку «Установить приложение в рабочую область» и подтвердите установку.
После завершения установки скопируйте токен OAuth.
2- Теперь создайте Slack-канал — например, argocd
Важно. Просмотрите свой канал argocd и добавьте бота, созданного на предыдущем шаге, в данном случае имя бота — «argocd».
### Если вы забудете добавить это, вы НЕ будете получать уведомления. ###
После добавления бота в канал Slack. Нам нужно внести некоторые изменения в файлы конфигурации ArgoCD .
3- Изменения конфигурации ArgoCD.
Предполагая, что ваш слабый токен — xoxp-12345678912345–5467834251-jGQASEDJGNCDHTIv9ZcY
В конфигурации argocd найдите файл Secret argocd-notifications-secret.
apiVersion: v1
kind: Secret
metadata:
name: argocd-notifications-secret
stringData:
slack-token: "xoxp-12345678912345–5467834251-jGQASEDJGNCDHTIv9ZcY"
Теперь применить—
kubectl apply -f argocd-notifications-secret.yaml
apiVersion: v1
kind: ConfigMap
metadata:
name: argocd-notifications-cm
data:
service.slack: |
token: $slack-token # use as it is
defaultTriggers: |
- on-deployed
trigger.on-deployed: |
- description: Application is synced and healthy. Triggered once per commit.
oncePer: app.status.operationState.syncResult.revision
send:
- app-deployed
when: app.status.operationState.phase in ['Succeeded'] and app.status.health.status == 'Healthy' and app.status.sync.status == 'Synced'
template.app-deployed: |
message: |
{{if eq .serviceType "slack"}}:white_check_mark:{{end}} Application {{.app.metadata.name}} is now running new version of deployments manifests.
slack:
attachments: |
[{
"title": "{{ .app.metadata.name}}",
"title_link":"{{.context.argocdUrl}}/applications/{{.app.metadata.name}}",
"color": "#18be52",
"fields": [
{
"title": "Sync Status",
"value": "{{.app.status.sync.status}}",
"short": true
},
{
"title": "Repository",
"value": "{{.app.spec.source.repoURL}}",
"short": true
},
{
"title": "Revision",
"value": "{{.app.status.sync.revision}}",
"short": true
}
{{range $index, $c := .app.status.conditions}}
{{if not $index}},{{end}}
{{if $index}},{{end}}
{
"title": "{{$c.type}}",
"value": "{{$c.message}}",
"short": true
}
{{end}}
]
}]
Теперь подайте заявку —
kubectl apply -f argocd-notifications-cm.yaml
Откройте файл приложения службы, например приведенный ниже, и добавьте аннотацию Slack.
annotations:
notifications.argoproj.io/subscribe.on-deployed.slack: argocd #Slack Channel name
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: ms-echoserver-application
namespace: argocd
annotations:
notifications.argoproj.io/subscribe.on-deployed.slack: argocd #Slack Channel name
argocd-image-updater.argoproj.io/image-list: myalias=gcr.io/project01/ms-echoserver:dev #Write repository name
argocd-image-updater.argoproj.io/myalias.pull-secret: pullsecret:argocd/argocd-gcr-secret # You can remove this annotation if you have already configured the gcr secret and are using the same secret to retrieve all GCR images in your deployments.
argocd-image-updater.argoproj.io/myalias.update-strategy: digest #There are several ways to update the image, but I'm using digest.
argocd-image-updater.argoproj.io/write-back-method: git # We don't need the secret as mentioned in argocd doc because we already set it up via argocd console if you're using the same git repo.
argocd-image-updater.argoproj.io/git-branch: main
argocd-image-updater.argoproj.io/myalias.force-update: "true"
Тестирование -
Теперь разверните свой сервис и протестируйте уведомление. Я развертываю ms-echoserver-application.
Нажми на меня-
Полное руководство по установке ArgoCD.
ArgoCD High Availability (HA) [готов к производству].
Средство обновления изображений ArgoCD
Надеюсь, этот пост будет информативным и полезным для вас :)
От меня Кофе ← — — — Если вам нравится блог, пожалуйста, хлопните мне в ладоши : ) и подпишитесь на меня, чтобы узнать больше такого контента.
Ваши аплодисменты мотивируют меня продолжать писать такие блоги.

![В любом случае, что такое связанный список? [Часть 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)



































