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>
44 lines
2.5 KiB
Bash
Executable File
44 lines
2.5 KiB
Bash
Executable File
#!/usr/bin/env sh
|
|
# yakcloud CLI 설치 — PATH 의 bin 디렉터리에 내려받는다.
|
|
# curl -fsSL https://gitea.yakenator.io/yakenator/yakcloud-starter/raw/branch/main/install.sh | sh
|
|
# 설치 위치 변경: DEST=/usr/local/bin sh install.sh
|
|
set -e
|
|
REPO="${YAKCLOUD_STARTER_REPO:-https://gitea.yakenator.io/yakenator/yakcloud-starter}"
|
|
BRANCH="${YAKCLOUD_STARTER_BRANCH:-main}"
|
|
DEST="${DEST:-$HOME/.local/bin}"
|
|
mkdir -p "$DEST"
|
|
echo "▸ yakcloud CLI 설치 → $DEST/yakcloud"
|
|
# 캐시 우회(no-cache + 캐시버스터) — 항상 최신 bin 획득.
|
|
BUST="$(date +%s 2>/dev/null || echo 0)"
|
|
curl -fsSL -H 'Cache-Control: no-cache' -H 'Pragma: no-cache' \
|
|
"$REPO/raw/branch/$BRANCH/bin/yakcloud?nocache=$BUST" -o "$DEST/yakcloud"
|
|
chmod +x "$DEST/yakcloud"
|
|
|
|
# 전역 엔진(deploy/ctl/dev.py) → ~/.config/yakcloud/lib — 프로젝트에 복제하지 않는다(전역 1벌).
|
|
LIB_DIR="${YAKCLOUD_LIB_DIR:-$HOME/.config/yakcloud/lib}"
|
|
mkdir -p "$LIB_DIR"
|
|
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 \
|
|
|| echo " ⚠ 엔진 $n 다운로드 실패(무시 가능 — CLI 가 자동 재시도)"
|
|
done
|
|
echo "✓ 엔진 설치 → $LIB_DIR (deploy/ctl/dev.py)"
|
|
|
|
# Claude Code 전역 스킬 + 슬래시 명령(/yakcloud) 설치 — opt-out: YAKCLOUD_NO_CLAUDE_CMD=1
|
|
if [ -z "${YAKCLOUD_NO_CLAUDE_CMD:-}" ]; then
|
|
SKILL_DIR="${CLAUDE_SKILLS_DIR:-$HOME/.claude/skills}/yakcloud-deploy"
|
|
CMD_DIR="${CLAUDE_COMMANDS_DIR:-$HOME/.claude/commands}"
|
|
mkdir -p "$SKILL_DIR" "$CMD_DIR" 2>/dev/null || true
|
|
curl -fsSL -H 'Cache-Control: no-cache' -H 'Pragma: no-cache' \
|
|
"$REPO/raw/branch/$BRANCH/.claude/skills/yakcloud-deploy/SKILL.md?nocache=$BUST" -o "$SKILL_DIR/SKILL.md" 2>/dev/null \
|
|
&& echo "✓ 배포 스킬 설치 → $SKILL_DIR/SKILL.md" || echo " ⚠ 스킬 설치 건너뜀(무시 가능)"
|
|
curl -fsSL -H 'Cache-Control: no-cache' -H 'Pragma: no-cache' \
|
|
"$REPO/raw/branch/$BRANCH/.claude/commands/yakcloud.md?nocache=$BUST" -o "$CMD_DIR/yakcloud.md" 2>/dev/null \
|
|
&& echo "✓ /yakcloud 슬래시 명령 설치 → $CMD_DIR/yakcloud.md" || echo " ⚠ 슬래시 명령 설치 건너뜀(무시 가능)"
|
|
fi
|
|
|
|
echo "✓ 완료. PATH 에 $DEST 가 있는지 확인하세요:"
|
|
echo ' export PATH="$HOME/.local/bin:$PATH"'
|
|
echo " 터미널: yakcloud project init my-app → 개발 → yakcloud project deploy"
|
|
echo " Claude Code: /yakcloud project init my-app (전역 슬래시 명령)"
|