自動威脅情資 / n8n

記錄用 helm-manager 部署 n8n chart 的設定要點,以及 n8n 串接 Slack 發送訊息的步驟。

發佈 ~1 分鐘 #no code

目標:用 helm-manager 部署一套 n8n chart

helm charts

helm values

  • n8n hosting:最大的坑在填 n8n container 的環境變數(以下三個都要填):

    • N8N_HOST

    • N8N_PROTOCOL

    • WEBHOOK_URL

    • N8N_ENCRYPTION_KEY:需要給 n8n 指定加密用的 key,否則每次 pod 重開就會無法解密

      作法:把 encryption key 存在 secrets manager,並用 external secret 獲得內容

      如果原本就在 secret 裡的話,值會被放在 control plane 中的 etcd,就不會被換掉了

  • ingress.tls 必須為空

    • helm value 可以填入 null

ArgoCD Application

  • cnpg 設定檔過長,必須開啟 server side apply 才有辦法正確部署

n8n + slack send message

  • Slack app > OAuth & Permissions > Scope:這個 app 需要用到的權限

  • 需要新增兩種 slack credentials:需前往 https://api.slack.com/apps/ 選擇欲使用的 APP

    1. Slack OAuth2 Api

      需要新增的 credential 欄位

      從 slack app 找到對應的值填入前一張圖

      Redirect URL 填回 Slack app(在 OAuth & Permissions 下面)

      然後 install 到 slack workspace 中

      可以選擇安裝到哪個 channel

    2. Slack API

      新增第二個 token

      填入這個 token

記得要把 slack bot app 邀請到 channel 裡面!