feat: add CodiMD database port-forward helper scripts
Add three scripts to simplify CodiMD database access via port-forward: - db-port-forward.sh: Start SSH tunnel and kubectl port-forward - db-port-forward-stop.sh: Stop port-forward processes - db-status.sh: Check port-forward status Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
31
apps/codimd/db-port-forward-stop.sh
Executable file
31
apps/codimd/db-port-forward-stop.sh
Executable file
@@ -0,0 +1,31 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
# 停止 CodiMD 資料庫 Port Forward
|
||||||
|
|
||||||
|
echo "=== 停止 CodiMD 資料庫 Port Forward ==="
|
||||||
|
|
||||||
|
# 方法 1: 使用保存的 PID
|
||||||
|
if [ -f /tmp/codimd-db-port-forward.pid ]; then
|
||||||
|
PID=$(cat /tmp/codimd-db-port-forward.pid)
|
||||||
|
if ps -p $PID > /dev/null 2>&1; then
|
||||||
|
kill $PID
|
||||||
|
echo "✅ 已終止 PID: $PID"
|
||||||
|
rm -f /tmp/codimd-db-port-forward.pid
|
||||||
|
exit 0
|
||||||
|
else
|
||||||
|
echo "⚠️ PID $PID 不存在,嘗試其他方法..."
|
||||||
|
rm -f /tmp/codimd-db-port-forward.pid
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
# 方法 2: 使用 pgrep
|
||||||
|
PIDS=$(pgrep -f "port-forward.*codimd-db")
|
||||||
|
if [ -n "$PIDS" ]; then
|
||||||
|
echo "找到運行中的 port-forward process(es):"
|
||||||
|
echo "$PIDS"
|
||||||
|
pkill -f "port-forward.*codimd-db"
|
||||||
|
echo "✅ 已終止所有相關 process"
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "❌ 沒有找到運行中的 port-forward"
|
||||||
|
exit 1
|
||||||
51
apps/codimd/db-port-forward.sh
Executable file
51
apps/codimd/db-port-forward.sh
Executable file
@@ -0,0 +1,51 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
# 啟動 CodiMD 資料庫 Port Forward
|
||||||
|
|
||||||
|
DB_SVC="codimd-db"
|
||||||
|
DB_NAMESPACE="default"
|
||||||
|
LOCAL_PORT="5432"
|
||||||
|
REMOTE_PORT="5432"
|
||||||
|
REMOTE_HOST="ubuntu@192.168.42.120"
|
||||||
|
|
||||||
|
echo "=== 啟動 CodiMD 資料庫 Port Forward ==="
|
||||||
|
|
||||||
|
# 檢查是否已經在運行
|
||||||
|
if pgrep -f "port-forward.*${DB_SVC}" > /dev/null; then
|
||||||
|
echo "⚠️ Port-forward 已經在運行中"
|
||||||
|
echo " 使用 ./db-port-forward-stop.sh 來停止"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# 透過 SSH 執行 kubectl port-forward
|
||||||
|
ssh -L ${LOCAL_PORT}:localhost:${REMOTE_PORT} ${REMOTE_HOST} \
|
||||||
|
"sudo kubectl port-forward -n ${DB_NAMESPACE} svc/${DB_SVC} ${LOCAL_PORT}:${REMOTE_PORT}" \
|
||||||
|
&
|
||||||
|
|
||||||
|
PF_PID=$!
|
||||||
|
echo $PF_PID > /tmp/codimd-db-port-forward.pid
|
||||||
|
|
||||||
|
# 等待 port 開始監聽
|
||||||
|
echo "⏳ 等待 port-forward 建立..."
|
||||||
|
for i in {1..10}; do
|
||||||
|
if nc -z localhost ${LOCAL_PORT} 2>/dev/null; then
|
||||||
|
echo "✅ Port-forward 已建立: localhost:${LOCAL_PORT} -> ${DB_SVC}:${REMOTE_PORT}"
|
||||||
|
echo " PID: $PF_PID"
|
||||||
|
echo ""
|
||||||
|
echo "現在可以使用 cli-anything-codimd:"
|
||||||
|
echo ""
|
||||||
|
echo " cli-anything-codimd admin list-users \\"
|
||||||
|
echo " --db-type postgresql \\"
|
||||||
|
echo " --db-host localhost \\"
|
||||||
|
echo " --db-name codimd \\"
|
||||||
|
echo " --db-user codimd \\"
|
||||||
|
echo " --db-password 8xG94tL0uKlGiBEd"
|
||||||
|
echo ""
|
||||||
|
echo "停止方式: ./db-port-forward-stop.sh"
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
sleep 1
|
||||||
|
done
|
||||||
|
|
||||||
|
echo "❌ Port-forward 建立失敗"
|
||||||
|
rm -f /tmp/codimd-db-port-forward.pid
|
||||||
|
exit 1
|
||||||
23
apps/codimd/db-status.sh
Executable file
23
apps/codimd/db-status.sh
Executable file
@@ -0,0 +1,23 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
# 檢查 CodiMD 資料庫 Port Forward 狀態
|
||||||
|
|
||||||
|
echo "=== CodiMD 資料庫 Port Forward 狀態 ==="
|
||||||
|
|
||||||
|
if pgrep -f "port-forward.*codimd-db" > /dev/null; then
|
||||||
|
PIDS=$(pgrep -f "port-forward.*codimd-db")
|
||||||
|
echo "✅ Port-forward 正在運行"
|
||||||
|
echo " PID(s): $PIDS"
|
||||||
|
|
||||||
|
# 檢查 port 是否可連接
|
||||||
|
if nc -z localhost 5432 2>/dev/null; then
|
||||||
|
echo "✅ Port 5432 可連接"
|
||||||
|
else
|
||||||
|
echo "⚠️ Port 5432 無法連接"
|
||||||
|
fi
|
||||||
|
exit 0
|
||||||
|
else
|
||||||
|
echo "❌ Port-forward 未運行"
|
||||||
|
echo ""
|
||||||
|
echo "啟動方式: ./db-port-forward.sh"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
Reference in New Issue
Block a user