LineとSlackで相互にメッセージを送受信するためのK8sアプリケーション
このアプリケーションの構成例です。 点線の中身が実際のアプリケーションです。
Slack API と LINE 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 をご覧ください。