feat(relay): 로컬 클러스터 데이터툴 라이브 릴레이 — 콘솔에서 로컬 소스 관리(원격 파리티)
dev deploy 시 릴레이 에이전트(.yakcloud/agent.py) 기동 — 콘솔에서 ds-token 받아 프로덕션 백엔드 ds-actions 롱폴 → 로컬 kind Secret 읽고 공유 컨테이너의 격리 DB 에 접속(docker exec, 무설치) → 결과만 반환. 자격은 노트북 밖으로 안 나감. dev.py 가 소스 secret 리포트 + 데몬 라이프사이클(dev down 중지). 콘솔의 SQL/Mongo/Redis 매니저를 로컬 소스에 그대로 사용. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
13
bin/yakcloud
13
bin/yakcloud
@ -495,6 +495,17 @@ cmd_dev() {
|
||||
# 공유 데이터 소스 컨테이너(yak-dev-*)도 정리(머신 레벨 전체 teardown).
|
||||
local scs; scs="$("${rt:-docker}" ps -aq -f label=yakcloud.dev/shared=1 2>/dev/null)"
|
||||
[ -n "$scs" ] && { info "공유 소스 컨테이너 정리…"; echo "$scs" | xargs "${rt:-docker}" rm -f >/dev/null 2>&1; }
|
||||
# 릴레이 에이전트 데몬(모든 프로젝트) 정리 — kind 삭제되면 폴링해도 무의미.
|
||||
local agd="${YAK_CONFIG_DIR:-$HOME/.config/yakcloud}/agent"
|
||||
if [ -d "$agd" ]; then
|
||||
for pf in "$agd"/*.pid; do
|
||||
[ -f "$pf" ] || continue
|
||||
local apid; apid="$(cat "$pf" 2>/dev/null)"
|
||||
[ -n "$apid" ] && kill "$apid" 2>/dev/null
|
||||
rm -f "$pf"
|
||||
done
|
||||
info "릴레이 에이전트 정리"
|
||||
fi
|
||||
_dev_deregister
|
||||
;;
|
||||
*) echo "yakcloud dev <up|deploy [tag]|status|clean|down>"; exit 1 ;;
|
||||
@ -506,7 +517,7 @@ cmd_dev() {
|
||||
install_global_assets() {
|
||||
local bust n ok=1; bust="$(date +%s 2>/dev/null || echo 0)"
|
||||
mkdir -p "$LIB_DIR" 2>/dev/null || true
|
||||
for n in deploy ctl dev; do
|
||||
for n in deploy ctl dev agent; do
|
||||
curl -fsSL -H 'Cache-Control: no-cache' -H 'Pragma: no-cache' \
|
||||
"$REPO/raw/branch/$BRANCH/.yakcloud/$n.py?nocache=$bust" -o "$LIB_DIR/$n.py" 2>/dev/null || ok=0
|
||||
done
|
||||
|
||||
Reference in New Issue
Block a user