Skip to content

K8s application for sending and receiving messages between Line and Slack.

License

Notifications You must be signed in to change notification settings

tasekida/message-api

Repository files navigation

message-api

LineとSlackで相互にメッセージを送受信するためのK8sアプリケーション

スタートガイド

このアプリケーションの構成例です。 点線の中身が実際のアプリケーションです。

必要条件

Slack APILINE API を設定して、下記の値を取得します。

SLACK_WEBHOOK_CONTEXT = ${ Slackからメッセージを受信するURLのPATH }
SLACK_TARGET_CHANNEL = ${ 受信対象のSlackチャンネル }
SLACK_TARGET_USER = ${ 受信対象のSlackユーザ }
SLACK_API_URL = ${ Slackへメッセージを送信するWebhookのURL }
LINE_WEBHOOK_CONTEXT = ${ LINEからメッセージを受信するURLのPATH }
LINE_WEBHOOK_CHANNEL_SECRET = ${ メッセージ認証コードの秘密鍵 }
LINE_TARGET_GROUP_ID = ${ 受信対象のLINEグループ }
LINE_TARGET_USER_ID = ${ 受信対象のLINEユーザ }
LINE_API_URL = ${ LINEへメッセージを送信するAPIのURL }
LINE_API_TOKEN = ${ LINEへメッセージを送信するAPI利用時に使用するトークン }

取得した値を ConfigMap に設定します。
---
apiVersion: v1
kind: ConfigMap
metadata:
  namespace: message-api
  name: cm-msg-transfer
  labels:
    app: message-transfer
data: ### Setting for your environment
  SLACK_WEBHOOK_CONTEXT = ${ Slackからメッセージを受信するURLのPATH }
  SLACK_TARGET_CHANNEL = ${ 受信対象のSlackチャンネル }
  SLACK_TARGET_USER = ${ 受信対象のSlackユーザ }
  SLACK_API_URL = ${ Slackへメッセージを送信するWebhookのURL }
  LINE_WEBHOOK_CONTEXT = ${ LINEからメッセージを受信するURLのPATH }
  LINE_WEBHOOK_CHANNEL_SECRET = ${ メッセージ認証コードの秘密鍵 }
  LINE_TARGET_GROUP_ID = ${ 受信対象のLINEグループ }
  LINE_TARGET_USER_ID = ${ 受信対象のLINEユーザ }
  LINE_API_URL = ${ LINEへメッセージを送信するAPIのURL }
  LINE_API_TOKEN = ${ LINEへメッセージを送信するAPI利用時に使用するトークン }

デプロイ

下記のコマンドで Kubernetes Cluster へデプロイします。

kubectl apply -f k8s/cert-manager/letsencrypt-clusterissuer.yaml
kubectl apply -f k8s/ingress-nginx-production.yaml
kubectl apply -f k8s/msg-transfer.yaml

開発

このアプリケーションを開発した環境です。 ① Java Development Pleiades All in One Eclipse

② Java Build

./gradlew delJib clean build jib

③ Build Containers ④ Deploy Containers ⑤ Tail Log

skaffold dev

⑥ Application TEST LINEやSlackでメッセージ送受信を実行

⑦ Remove Containers

CTRL + C

ライセンス

このプロジェクトは Apache License, Version 2.0 ライセンスの元にライセンスされています。
詳細は LICENSE.md をご覧ください。

About

K8s application for sending and receiving messages between Line and Slack.

Resources

License

Stars

Watchers

Forks

Packages

No packages published