cli v0.8.0: 'yakcloud datasource migrate' — 블랙리스트(.migrateignore) 스냅샷 캡처/빈타깃 적용(부트스트랩). pg/mysql/mariadb/mongo/minio, 미리보기+제외검증+apply-skip+reset복원 docker E2E 검증. dev reset named볼륨 삭제 수정. 문서·/yakcloud 갱신
This commit is contained in:
18
bin/yakcloud
18
bin/yakcloud
@ -18,7 +18,7 @@ set -uo pipefail # -e 미사용: 'test && action' 관용구가 값 없을 때
|
||||
|
||||
REPO="${YAKCLOUD_STARTER_REPO:-https://gitea.yakenator.io/yakenator/yakcloud-starter}"
|
||||
BRANCH="${YAKCLOUD_STARTER_BRANCH:-main}"
|
||||
VERSION="0.7.0"
|
||||
VERSION="0.8.0"
|
||||
CONFIG_DIR="${YAKCLOUD_CONFIG_DIR:-$HOME/.config/yakcloud}"
|
||||
CONFIG_FILE="$CONFIG_DIR/config"
|
||||
|
||||
@ -45,6 +45,12 @@ dev() {
|
||||
python3 scripts/yakcloud_dev.py "$@"
|
||||
}
|
||||
|
||||
migrate() {
|
||||
[ -f scripts/yakcloud_migrate.py ] || die "프로젝트 폴더가 아닙니다 — 'yakcloud project init' 로 초기화하세요."
|
||||
ensure_pyyaml
|
||||
python3 scripts/yakcloud_migrate.py "$@"
|
||||
}
|
||||
|
||||
# ── 자격 저장 ── 비밀(배포토큰·Gitea토큰)=OS 키체인(암호화), 그 외(URL·사용자)=config 파일(600) ──
|
||||
_KC="none"
|
||||
if command -v security >/dev/null 2>&1; then _KC="macos"
|
||||
@ -326,7 +332,8 @@ cmd_project_update() {
|
||||
mkdir -p scripts .gitea/workflows .claude/skills
|
||||
cp "$tmp/s/scripts/yakcloud_deploy.py" scripts/ 2>/dev/null || true
|
||||
cp "$tmp/s/scripts/yakcloud_ctl.py" scripts/ 2>/dev/null || true
|
||||
cp "$tmp/s/scripts/yakcloud_dev.py" scripts/ 2>/dev/null || true
|
||||
cp "$tmp/s/scripts/yakcloud_dev.py" scripts/ 2>/dev/null || true
|
||||
cp "$tmp/s/scripts/yakcloud_migrate.py" scripts/ 2>/dev/null || true
|
||||
cp "$tmp/s/.gitea/workflows/deploy.yml" .gitea/workflows/ 2>/dev/null || true
|
||||
cp "$tmp/s/DATA-SOURCES.md" DATA-SOURCES.md 2>/dev/null || true
|
||||
rm -rf .claude/skills/yakcloud-deploy
|
||||
@ -362,6 +369,8 @@ yakcloud $VERSION — YakCloud 프로젝트 CLI
|
||||
dev up [source…] requires[] 를 로컬 docker 로 기동 + .env.dev 생성
|
||||
dev run -- <명령> up 보장 후 .env.dev 로 앱 실행(배포와 동일 <ALIAS>_* 주입)
|
||||
dev down [--volumes] | status | logs [src] | env | reset [src] | doctor
|
||||
datasource migrate capture [src…] [--dry-run] 소스 전체−블랙리스트(.migrateignore) 스냅샷(읽기전용)
|
||||
datasource migrate apply [src…] 스냅샷을 빈 타깃에 적용(데이터 있으면 스킵) | migrate status
|
||||
env: YAKCLOUD_URL, YAKCLOUD_TOKEN(배포토큰 yakd_…), (선택) YAKCLOUD_CLUSTER
|
||||
EOF
|
||||
}
|
||||
@ -383,7 +392,10 @@ case "${1:-help}" in
|
||||
config) cmd_config ;;
|
||||
logout) cmd_logout ;;
|
||||
dev) shift; dev "$@" ;;
|
||||
datasource|ds) shift; ctl source "$@" ;;
|
||||
migrate) shift; migrate "$@" ;;
|
||||
datasource|ds)
|
||||
shift
|
||||
if [ "${1:-}" = migrate ]; then shift; migrate "$@"; else ctl source "$@"; fi ;;
|
||||
domain|scale|set|env|source|bind|unbind) ctl "$@" ;;
|
||||
upgrade|self-update) cmd_upgrade ;;
|
||||
version|-v|--version) echo "yakcloud $VERSION" ;;
|
||||
|
||||
Reference in New Issue
Block a user