ArgoCD Gevşek Bildirim Kurulumu

Jan 12 2023
Tüm Argo hareketleriniz için bildirim alın :) 1- Aşağıdaki URL'yi kullanarak bir Slack uygulaması oluşturun. Ardından “Sıfırdan” öğesini seçin Uygulama adını “argocd” gibi doldurun ve aşağıdaki gibi Slack çalışma alanınızı seçin.

Tüm Argo hareketleriniz için bildirim alın :)

ArgoCD Slack'e Bildirim Gönderiyor

1- Aşağıdaki URL'yi kullanarak bir Slack uygulaması oluşturun.

https://api.slack.com/apps?new_app=1

Ardından “Sıfırdan”ı Seçin

Uygulama adını “argocd” gibi doldurun ve aşağıdaki gibi Slack çalışma alanınızı seçin.

Uygulama oluşturulduktan sonra şuraya gidin:Enter OAuth & Permissions & Choose Permissions

Şimdi, bu Bot (argocd uygulaması) için bir kapsam ekleyin, bu nedenle şimdilik İki kapsam seçin.

Bot İzni

Kapsam yapılandırıldıktan sonra en başa kaydırın, 'Uygulamayı Çalışma Alanına Yükle' düğmesine tıklayın ve Kurulumu onaylayın.

Yükleme tamamlandıktan sonra OAuth belirtecini kopyalayın.

Auth Token'ı kopyalayın ve güvenli bir yerde saklayın.

2- Şimdi Bir Slack Kanalı Oluşturun — örneğin argocd

Önemli- argocd kanalınıza göz atın ve önceki adımda oluşturduğunuz botu ekleyin, bu durumda bot adı “argocd”

### Bunu eklemeyi unutursanız, bildirim ALMAYACAKSINIZ. ###

Bildirim almak istiyorsanız Botunuzu Slack kanalınıza ekleyin

Botu Slack kanalına ekledikten sonra. ArgoCD konfigürasyon dosyalarımızda bazı değişiklikler yapmamız gerekiyor .

3- ArgoCD Yapılandırma Değişiklikleri.

Slack jetonunuzun — xoxp-12345678912345–5467834251-jGQASEDJGNCDHTIv9ZcY olduğunu varsayarsak

argocd yapılandırmanızda, Gizli argocd-bildirimleri-sırrı arayın.

apiVersion: v1
kind: Secret
metadata:
  name: argocd-notifications-secret
stringData:
  slack-token: "xoxp-12345678912345–5467834251-jGQASEDJGNCDHTIv9ZcY"

Şimdi Uygula—

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}}
          ]
        }]

Şimdi Uygula —

kubectl apply -f argocd-notifications-cm.yaml

Aşağıdaki gibi hizmet uygulama dosyanızı açın ve bolluk ek açıklamasını ekleyin.

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"

Test yapmak -

Şimdi hizmetinizi dağıtın ve bildirimi test edin. ms-echoserver-application'ı dağıtıyorum.

gevşek Bildirim

Beni tıkla-

ArgoCD Hepsi Bir Arada Kurulum Kılavuzu.

ArgoCD Yüksek Kullanılabilirlik (HA) [Üretime Hazır].

ArgoCD Giriş Kurulumu

ArgoCD Okta Kurulumu.

ArgoCD Görüntü güncelleyici

ArgoCD Kaynak Kancaları.

Umarım bu yazı sizin için bilgilendirici ve faydalı olmuştur :)

Benim Tarafımdan Bir Kahve ← — — — Blogdan hoşlanıyorsanız, lütfen bana bir Alkış verin :) ve daha fazla bu tür içerik için beni takip edin.

Alkışlarınız beni bu tür bloglar yazmaya devam etmem için motive ediyor.