{"componentChunkName":"component---src-templates-post-tsx","path":"/argocd-notification/","result":{"data":{"markdownRemark":{"html":"<p><span\n      class=\"gatsby-resp-image-wrapper\"\n      style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 530px; \"\n    >\n      <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/2467631c3503542f429a304ae2cb56ea/b6a9b/2023-05-24-12-30-01.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-background-image\"\n    style=\"padding-bottom: 52.70270270270271%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAALCAYAAAB/Ca1DAAAACXBIWXMAAAsTAAALEwEAmpwYAAABrklEQVQoz3WS3ZKaQBCFff+7PEBu8x6pJGtla1fWReUfFBAUFQaZAc3NSU8DG0wqF18duqc53T0wWzy/45Dtcb5UKE4XVOIKqdqBbqBFI/tYfeQ6zk1RbYfZl0+fsZh/g+X4MFcbJGmG+irZ+FIKaiRQVjWqumE9nUturp913RRtOls7CVzPh+NqAmwsB5btwqbY80PYjseNzJVFccTn640NL4i46bVRj4bznyYWhkEseWVBk4zoYr1afijw/cccL68GGa+5Tr+sTXTNaMqG5jqiCT1k+ZETY8FYpFWvF4RbpPucG435cbIHwxfDoTUsxElGBy3EX/fSo6i44/OaX1b/nH8YLk2aLo1xKgr6ggpKDtBzqyYq5cBjXtNMJ/z67OPJcPH0HmF7lIgODRPkDZx9g/DQq47HMy/rY5fUJy1Kvfa4sq/wltywjDu87SSMrcRr1BMXCsdSse7PEvmFIE1PEhlpQqrzpejvkQ1Xdoog2iHcpvQr7OCHMdwg5jiOEyYK6RepBKTU60lIPc1Er7SuqHvTmajpHlrFxXK4O43UdyP/0N3u/+U2cL//wm9geDmtueksCAAAAABJRU5ErkJggg=='); background-size: cover; display: block;\"\n  ></span>\n  <img\n        class=\"gatsby-resp-image-image\"\n        alt=\"2023 05 24 12 30 01\"\n        title=\"2023 05 24 12 30 01\"\n        src=\"/static/2467631c3503542f429a304ae2cb56ea/b6a9b/2023-05-24-12-30-01.png\"\n        srcset=\"/static/2467631c3503542f429a304ae2cb56ea/12f09/2023-05-24-12-30-01.png 148w,\n/static/2467631c3503542f429a304ae2cb56ea/e4a3f/2023-05-24-12-30-01.png 295w,\n/static/2467631c3503542f429a304ae2cb56ea/b6a9b/2023-05-24-12-30-01.png 530w\"\n        sizes=\"(max-width: 530px) 100vw, 530px\"\n        style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\"\n        loading=\"lazy\"\n      />\n  </a>\n    </span></p>\n<h1 id=\"개요\" style=\"position:relative;\"><a href=\"#%EA%B0%9C%EC%9A%94\" aria-label=\"개요 permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>개요</h1>\n<p>ArgoCD에서는 알림 기능을 제공하는데 해당 기능을 사용하면 ArgoCD에서 사용되는 Application(예: Argo를 통해 배포한 k8s object)을 지속적으로 모니터링하고 상태의 변경 사항을 알릴 수 있다. ArgoCD에서는 Trigger와 Template이라는 매커니즘을 사용해 알림을 보내야하는 시기를 구성할 수 있다. <a href=\"https://argo-cd.readthedocs.io/en/release-2.6/operator-manual/notifications/catalog/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">공식문서</a>에서 참고하면 이런 Trigger와 Template을 이용한 예제가 있으니 참고하거나 사용자가 직접 알림 매커니즘을 구성해서 사용할 수 있다.</p>\n<p>제공하는 여러 서비스들에 알림을 보낼 수 있는데 자주 쓰는거로는 이메일이나, 깃허브, 그라파나, 프로메테우스의 AlertManager, Slack 그리고 Webhook 이 있다.\n이중에서 Webhook을 이용해서 ArgoCD의 배포 상태 변경에 대해 디스코드로 알림을 보내보자!</p>\n<h1 id=\"get-started\" style=\"position:relative;\"><a href=\"#get-started\" aria-label=\"get started permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Get Started</h1>\n<p>이 글에서 운영환경은 다음과 같다.</p>\n<ul>\n<li>argocd v2.6.5</li>\n<li>argo-notifications-controller v2.6.5</li>\n</ul>\n<h2 id=\"argocd-notification-설정\" style=\"position:relative;\"><a href=\"#argocd-notification-%EC%84%A4%EC%A0%95\" aria-label=\"argocd notification 설정 permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>ArgoCD Notification 설정</h2>\n<p>우선 ArgoCD Notification Controller에 알려줘야할 쿠버네티스 시크릿을 다음과 같은 내용을 생성해서 적용한다.</p>\n<h3 id=\"argo-notifications-secretyaml\" style=\"position:relative;\"><a href=\"#argo-notifications-secretyaml\" aria-label=\"argo notifications secretyaml permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>argo-notifications-secret.yaml</h3>\n<div class=\"gatsby-highlight\" data-language=\"yaml\"><pre class=\"language-yaml\"><code class=\"language-yaml\"><span class=\"token key atrule\">apiVersion</span><span class=\"token punctuation\">:</span> v1\n<span class=\"token key atrule\">kind</span><span class=\"token punctuation\">:</span> Secret\n<span class=\"token key atrule\">metadata</span><span class=\"token punctuation\">:</span>\n  <span class=\"token key atrule\">name</span><span class=\"token punctuation\">:</span> argocd<span class=\"token punctuation\">-</span>notifications<span class=\"token punctuation\">-</span>secret\n  <span class=\"token key atrule\">namespace</span><span class=\"token punctuation\">:</span> argocd\n<span class=\"token key atrule\">type</span><span class=\"token punctuation\">:</span> Opaque\n<span class=\"token key atrule\">stringData</span><span class=\"token punctuation\">:</span>\n  <span class=\"token key atrule\">notifiers.yaml</span><span class=\"token punctuation\">:</span> <span class=\"token punctuation\">|</span><span class=\"token scalar string\">\n    webhook:\n    - name: discord-webhook\n      url: &lt;여기에 웹훅 URL 입력>\n      headers:\n      - name: Content-Type\n        value: application/json</span></code></pre></div>\n<p><code class=\"language-text\">argocd-notifications-secret</code> 이라는 이름의 Secret 파일을 생성해준다\n그 후 <code class=\"language-text\">kubectl apply</code>로 Object를 적용한다</p>\n<h3 id=\"argocd-notifications-cmyaml\" style=\"position:relative;\"><a href=\"#argocd-notifications-cmyaml\" aria-label=\"argocd notifications cmyaml permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>argocd-notifications-cm.yaml</h3>\n<div class=\"gatsby-highlight\" data-language=\"yaml\"><pre class=\"language-yaml\"><code class=\"language-yaml\"><span class=\"token key atrule\">apiVersion</span><span class=\"token punctuation\">:</span> v1\n<span class=\"token key atrule\">kind</span><span class=\"token punctuation\">:</span> ConfigMap\n<span class=\"token key atrule\">metadata</span><span class=\"token punctuation\">:</span>\n  <span class=\"token key atrule\">name</span><span class=\"token punctuation\">:</span> argocd<span class=\"token punctuation\">-</span>notifications<span class=\"token punctuation\">-</span>cm\n  <span class=\"token key atrule\">namespace</span><span class=\"token punctuation\">:</span> argocd\n<span class=\"token key atrule\">data</span><span class=\"token punctuation\">:</span>\n  <span class=\"token key atrule\">service.webhook.discord-webhook</span><span class=\"token punctuation\">:</span> <span class=\"token punctuation\">|</span><span class=\"token scalar string\">\n    url: &lt;여기에 윕훅 URL 입력>\n    headers:\n    - name: Content-Type\n      value: application/json</span></code></pre></div>\n<p>그리고 configmap을 작성하는데. <code class=\"language-text\">service.webhook.&lt;webhook-name></code> 형식으 로 아까 작성한 Secret과 동일하게 작성해준다. 이 부분은 ArgoCD에 Webhook을 등록한다.</p>\n<p>그 다음 Notification의 Trigger를 설정해준다.</p>\n<div class=\"gatsby-highlight\" data-language=\"yaml\"><pre class=\"language-yaml\"><code class=\"language-yaml\">  <span class=\"token key atrule\">trigger.sync-operation-change</span><span class=\"token punctuation\">:</span> <span class=\"token punctuation\">|</span><span class=\"token scalar string\">\n    - when: app.status.operationState.phase in ['Running', 'Succeeded', 'Error', 'Failed']\n      send: [ discord-alert ]</span></code></pre></div>\n<p><code class=\"language-text\">sync-operation-change</code> 트리거에서 조건은 \bApplication의 상태가 <code class=\"language-text\">Running, Succeded, Error, Failed</code> 로 설정했고 위와 같은 상태에 도달했을때 discord-alert라는 template을 통해 알림을 전송한다. </p>\n<div class=\"gatsby-highlight\" data-language=\"yaml\"><pre class=\"language-yaml\"><code class=\"language-yaml\">  <span class=\"token key atrule\">template.discord-alert</span><span class=\"token punctuation\">:</span> <span class=\"token punctuation\">|</span><span class=\"token scalar string\">\n    webhook:\n      discord-webhook:\n        method: POST\n        body: |\n          {\n            \"embeds\": [\n              {\n                \"title:\": \"ArgoCD Notification - {{ .app.metadata.name }}\",\n                \"description\": \" **{{ .app.metadata.name }}** 의 상태가 **{{ .app.status.operationState.phase }}** 로 변경되었습니다.\",\n                \"color\": \"{{ if eq .app.status.operationState.phase \"Running\" }} 1127128 {{end}} {{ if eq .app.status.operationState.phase \"Succeeded\" }} 3066993 {{end}} {{ if eq .app.status.operationState.phase \"Error\" }} 15158332 {{end}} {{ if eq .app.status.operationState.phase \"Failed\" }} 15158332 {{end}}\"\n              }\n            ]\n          }</span></code></pre></div>\n<p>그리고 template을 정의하는데 template의 이름은 discord-webhook이고 <code class=\"language-text\">webhook: &lt;wehbook-name></code> 을 통해서 해당 Template의 service를 정의한다. discord에서 webhook 메시지를 작성하는 방법은 <a href=\"https://discord.com/developers/docs/resources/webhook\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">공식문서</a>를 참고하면 된다.</p>\n<p>이렇게 해서 <code class=\"language-text\">argocd-notifications-cm</code> 을 작성했다면 적용해주면 된다.\n그 후 ArgoCD의 대시보드에 접속해서 원하는 애플리케이션을 다음과 같이 따라해서 알림을 적용하면 된다.\n<span\n      class=\"gatsby-resp-image-wrapper\"\n      style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 590px; \"\n    >\n      <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/15680cb4496739790e1d10691b4503d8/58213/2.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-background-image\"\n    style=\"padding-bottom: 39.189189189189186%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAICAYAAAD5nd/tAAAACXBIWXMAAAsTAAALEwEAmpwYAAABQElEQVQoz3VSCW7CMBDM/19Hq3CklBZRaAgpJMTxfUzXTkwlpFpazV6zl1woY6C1hjEW+TnnIKVECAHe+38lxiNPkyjrYIlXKDKEkDDWIswFOdlNe016JKXCMz5LzsHcvFDaTF0IoyO+7j7gWDdJz5Nkovd56pA2iVNNOfgrqJQC5xyegiH41G1kI263Dh1J3/UwdBYhxOQjO2Pf9+lkjwklFXx+TCocmxacGg1cgNEJRpKYG+1RTn4Xp45bzLyIhaKgPh0gvvbgJLo+gh0+cd1tgesFoT3DNd8P8W0NO2OO+UsNdz7BUX4hGYNbLaB3G6j3NexHBbOrMKxLsjfkr8BWrxiWL+CbEuJtiXu5SOj3W2jKMcRRVQlLvrSy1wpOSdCh6M9YsK7DT3NJuqe1k9+aCWc9EAbiRTR0/6h7+im/Arpr1TDtikQAAAAASUVORK5CYII='); background-size: cover; display: block;\"\n  ></span>\n  <img\n        class=\"gatsby-resp-image-image\"\n        alt=\"2\"\n        title=\"2\"\n        src=\"/static/15680cb4496739790e1d10691b4503d8/fcda8/2.png\"\n        srcset=\"/static/15680cb4496739790e1d10691b4503d8/12f09/2.png 148w,\n/static/15680cb4496739790e1d10691b4503d8/e4a3f/2.png 295w,\n/static/15680cb4496739790e1d10691b4503d8/fcda8/2.png 590w,\n/static/15680cb4496739790e1d10691b4503d8/efc66/2.png 885w,\n/static/15680cb4496739790e1d10691b4503d8/58213/2.png 902w\"\n        sizes=\"(max-width: 590px) 100vw, 590px\"\n        style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\"\n        loading=\"lazy\"\n      />\n  </a>\n    </span>\n이미 생성된 애플리케이션이나 새로 생성할 애플리케이션에 Notification Subscriptions을 적용하면 된다. </p>\n<p><code class=\"language-text\">notification.argoproj.io/&lt;trigger-name>.&lt;service-name>= \"\"</code></p>\n<p>이렇게 하여 디스코드로 웹훅 알림을 전송하는 설정은 끝났다 이제 확인을 해보자</p>\n<h2 id=\"notification-result\" style=\"position:relative;\"><a href=\"#notification-result\" aria-label=\"notification result permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Notification Result</h2>\n<p><span\n      class=\"gatsby-resp-image-wrapper\"\n      style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 467px; \"\n    >\n      <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/3d3bd168b9bcf53725ced936d2e831cb/85ff8/2023-05-24-12-32-44.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-background-image\"\n    style=\"padding-bottom: 40.54054054054054%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAICAYAAAD5nd/tAAAACXBIWXMAAAsTAAALEwEAmpwYAAABbUlEQVQoz22SCW6DQAxFc+qepmepeoAogZCVAllIOuzrQAJh5tcMBKlqQV+2bOt5gZmUEgBJ2f8eMXld1yEIQjDPB2MeypIPFUJMmvXAIH2ibQXSJEEURYjjmBTCvcbwQ4HHo0ZVk6oKRVGCc65gTdMooByH6e3MYS3e3n18GgUsZwtdN2DbDsnEUjvCOlKjjMBBhCzL/8wvR1DXiQHI7wIfixpmWMIqr7gcb7BPZ5zO5Lsu6YL9wcKXdYTtnHAwbWx2B+xNC+vtHtudCdNykOWlajB7dWrotdMbvq8eThcX1xujlRmCMEEYxaRExS4u1TAfcZJRLobnB2Qj8KoegK/9Sy7guBXu95r8GkVZ0Z0q5AVHkuZKKsaHWBSnKpbTZD1MCPkbmBUScz3Cer3CfKFDNzbQVxu1orHeqfXmCw0LbaViS83Aimr6lZkXTB9mAjatJOhTnbmjbmJUf+yXL+SQUzE55ulXeT67CfgDpJlfwrMIPg8AAAAASUVORK5CYII='); background-size: cover; display: block;\"\n  ></span>\n  <img\n        class=\"gatsby-resp-image-image\"\n        alt=\"2023 05 24 12 32 44\"\n        title=\"2023 05 24 12 32 44\"\n        src=\"/static/3d3bd168b9bcf53725ced936d2e831cb/85ff8/2023-05-24-12-32-44.png\"\n        srcset=\"/static/3d3bd168b9bcf53725ced936d2e831cb/12f09/2023-05-24-12-32-44.png 148w,\n/static/3d3bd168b9bcf53725ced936d2e831cb/e4a3f/2023-05-24-12-32-44.png 295w,\n/static/3d3bd168b9bcf53725ced936d2e831cb/85ff8/2023-05-24-12-32-44.png 467w\"\n        sizes=\"(max-width: 467px) 100vw, 467px\"\n        style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\"\n        loading=\"lazy\"\n      />\n  </a>\n    </span>\nArgoCD로 배포된 애플리케이션 상태가 변경되면 알림이 전송되는데 <code class=\"language-text\">Sync</code>  버튼을 눌러 강제로 상태 변경을 일으키면 위와 같이 알림이 전송된다.</p>\n<p>간단하게 Discord로 알림을 전송하는 방법을 알아봤고 ArgoCD의 애플리케이션 상태를 자세히 분기해 알림을 적용하고 싶다면 <a href=\"https://argo-cd.readthedocs.io/en/release-2.6/operator-manual/notifications/catalog/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">공식문서</a>를 참조하면 좋을 것 같다. 그리고 Template을 작성할때 <code class=\"language-text\">{{ ... }}</code> 로 Kubernetes 애플리케이션에 대한 내부 속성들을 가져왔는데 이러한 속성들을 사용하는 방법에 대해서 궁금하면 \b<a href=\"https://kubernetes.io/ko/docs/reference/kubectl/jsonpath/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">K8S JSONPATH</a> 를 참고하면 된다.!</p>\n<h1 id=\"레퍼런스\" style=\"position:relative;\"><a href=\"#%EB%A0%88%ED%8D%BC%EB%9F%B0%EC%8A%A4\" aria-label=\"레퍼런스 permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>레퍼런스</h1>\n<p><a href=\"https://argo-cd.readthedocs.io/en/release-2.6/operator-manual/notifications/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">https://argo-cd.readthedocs.io/en/release-2.6/operator-manual/notifications/</a></p>","excerpt":"개요 ArgoCD에서는 알림 기능을 제공하는데 해당 기능을 사용하면 ArgoCD에서 사용되는 Application(예: Argo를 통해 배포한 k8s object)을 지속적으로 모니터링하고 상태의 변경 사항을 알릴 수 있다. ArgoCD에서는 Tri…","tableOfContents":"<ul>\n<li><a href=\"/argocd-notification/#%EA%B0%9C%EC%9A%94\">개요</a></li>\n<li>\n<p><a href=\"/argocd-notification/#get-started\">Get Started</a></p>\n<ul>\n<li>\n<p><a href=\"/argocd-notification/#argocd-notification-%EC%84%A4%EC%A0%95\">ArgoCD Notification 설정</a></p>\n<ul>\n<li><a href=\"/argocd-notification/#argo-notifications-secretyaml\">argo-notifications-secret.yaml</a></li>\n<li><a href=\"/argocd-notification/#argocd-notifications-cmyaml\">argocd-notifications-cm.yaml</a></li>\n</ul>\n</li>\n<li><a href=\"/argocd-notification/#notification-result\">Notification Result</a></li>\n</ul>\n</li>\n<li><a href=\"/argocd-notification/#%EB%A0%88%ED%8D%BC%EB%9F%B0%EC%8A%A4\">레퍼런스</a></li>\n</ul>","fields":{"slug":"/argocd-notification/"},"frontmatter":{"title":"[K8S] ArgoCD Notification을 이용해 Discord Webhook으로 알림을 보내보자","date":"May 24, 2023","tags":["Kubernetes","ArgoCD"],"keywords":["Kubernetes","쿠버네티스","ArgoCD","Notification","Discord","Webhook"],"update":"Jan 01, 0001"}}},"pageContext":{"slug":"/argocd-notification/","series":[],"lastmod":"2023-05-24"}},"staticQueryHashes":["2027115977","694178885"]}