Nats

Nats

이 알림 서비스는 Nats를 통해 간단한 메시지를 보낼 수 있어요. Nats 서버 URL과 인증 정보, 추가 헤더를 설정해서 원하는 토픽으로 알림을 전달할 수 있어요. 설정은 ConfigMap의 service.nats 키로 관리해요.

출처: 문서

본문

파라미터 (Parameters)

이 알림 서비스는 Nats를 통해 간단한 메시지를 보낼 수 있어요.

  • Url — Nats 서버 URL, 예: nats://nats:4222
  • Headers — 선택 사항, 메시지와 함께 보낼 추가 헤더
  • User — 선택 사항, 비밀번호와 조합해서 쓰는 Nats 인증 사용자
  • Password — 선택 사항, 사용자와 조합해서 쓰는 Nats 인증 비밀번호
  • Nkey — 선택 사항, 인증에 사용하는 Nats 키

예시 (Example)

리소스 어노테이션 (Resource Annotation):

apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx-deployment
  annotations:
    notifications.argoproj.io/subscribe.on-deployment-ready.nats: "mytopic"

ConfigMap:

apiVersion: v1
kind: ConfigMap
metadata:
  name: argocd-notifications-cm
data:
  service.nats: |
    url: "nats://nats:4222"
    headers:
      my-header: "my-value"

  template.deployment-ready: |
      message: |
        Deployment {{.obj.metadata.name}} is ready!

    trigger.on-deployment-ready: |
      - when: any(obj.status.conditions, {.type == 'Available' && .status == 'True'})
        send: [deployment-ready]
      - oncePer: obj.metadata.annotations["generation"]

service.nats로 Nats 서버 연결 설정을, template.deployment-readytrigger.on-deployment-ready로 배포가 준비됐을 때 알림을 보내는 트리거·템플릿을 정의하는 구조예요.

더 알아보기 (Learn more)

  • 다른 알림 서비스 설정: email, slack, github 같은 서비스 문서도 함께 보시면 원하는 채널에 맞게 알림을 연결할 수 있어요.