fix(dev): 워커 CP 오분류 수정 + 마법사 워커 수 질문(기본1) + 템플릿 workers:1 — 0.22.1
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
11
bin/yakcloud
11
bin/yakcloud
@ -16,7 +16,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.22.0"
|
||||
VERSION="0.22.1"
|
||||
# 로컬 개발 클러스터(kind) — 개발 후 운영까지 '직선 배포'의 dev 구간.
|
||||
DEV_CTX="${YAK_DEV_CONTEXT:-kind-yak-dev}"
|
||||
DEV_CLUSTER="${YAK_DEV_CLUSTER:-yak-dev}"
|
||||
@ -192,12 +192,13 @@ cmd_project_init() {
|
||||
|
||||
# 매니페스트 채우기 마법사 — ctl 은 API 미접속(YAKCLOUD_TOKEN 비움)으로 매니페스트만 편집.
|
||||
_init_wizard() {
|
||||
local dflt_app="$1" app devc devp valc prodc pdom port health cpu mem reps path kv
|
||||
local dflt_app="$1" app devc devp devw valc prodc pdom port health cpu mem reps path kv
|
||||
echo "── 프로젝트 설정 (엔터=기본값) · 개발(로컬 kind) → 검증/운영(관리형) ──"
|
||||
printf "앱 이름 [%s]: " "$dflt_app"; read -r app; app="$(_sanitize_name "${app:-$dflt_app}")"
|
||||
printf "개발 클러스터 = 로컬 kind, 이름 [dev]: "; read -r devc; devc="$(_sanitize_name "${devc:-dev}")"
|
||||
devp=80
|
||||
if [ "$devc" != "dev" ]; then printf "로컬 인그레스 포트 [8080]: "; read -r devp; devp="${devp:-8080}"; fi
|
||||
printf "워커 노드 수 [1]: "; read -r devw; devw="${devw:-1}"; case "$devw" in ''|*[!0-9]*) devw=1 ;; esac
|
||||
printf "검증 클러스터(관리형, 선택, 엔터=생략): "; read -r valc
|
||||
printf "운영 클러스터(관리형, 선택, 엔터=생략): "; read -r prodc
|
||||
printf "운영 도메인(선택, 예 app.example.com): "; read -r pdom
|
||||
@ -209,8 +210,8 @@ _init_wizard() {
|
||||
printf "노출 경로(ingress path) [/]: "; read -r path; path="${path:-/}"
|
||||
sed -i.bak "s/my-app/$app/g" yakcloud.yaml && rm -f yakcloud.yaml.bak # project·워크로드명·image = 앱(프로젝트)명
|
||||
[ -n "${GITEA_USER:-}" ] && { sed -i.bak "s#CHANGE_ME_GITEA_USER#${GITEA_USER}#" yakcloud.yaml 2>/dev/null; rm -f yakcloud.yaml.bak; }
|
||||
# dev = 로컬 kind: environments.dev 줄의 cluster/port 를 치환(주석·나머지 보존).
|
||||
sed -i.bak -E "s#^( dev:[[:space:]]*\{ cluster: )[^,}]*(, port: )[0-9]+#\1$devc\2$devp#" yakcloud.yaml && rm -f yakcloud.yaml.bak
|
||||
# dev = 로컬 kind: environments.dev 줄 전체를 입력값(cluster/port/workers)으로 재작성. (구분자 | — 치환문의 # 주석과 충돌 회피)
|
||||
sed -i.bak -E "s|^ dev:.*| dev: { cluster: $devc, port: $devp, workers: $devw } # 로컬 kind (project deploy)|" yakcloud.yaml && rm -f yakcloud.yaml.bak
|
||||
[ -n "$prodc" ] && { sed -i.bak "s#my-prod-cluster#$prodc#" yakcloud.yaml && rm -f yakcloud.yaml.bak; }
|
||||
[ -n "$pdom" ] && { sed -i.bak "s#domains: \[\]#domains: [$pdom]#" yakcloud.yaml && rm -f yakcloud.yaml.bak; }
|
||||
if [ -n "$valc" ]; then sed -i.bak "s#my-val-cluster#$valc#" yakcloud.yaml && rm -f yakcloud.yaml.bak
|
||||
@ -226,7 +227,7 @@ _init_wizard() {
|
||||
printf " env> "; read -r kv || break; [ -z "$kv" ] && break
|
||||
YAKCLOUD_TOKEN= python3 "$(_engine ctl)" env "$app" "$kv" >/dev/null 2>&1 || echo " (형식: KEY=VALUE)"
|
||||
done
|
||||
echo "✓ 매니페스트 반영: app=$app · dev(로컬 kind)=$devc:$devp · val=${valc:-<생략>} · prod=${prodc:-<생략>} · port=$port path=$path cpu=$cpu mem=$mem replicas=$reps"
|
||||
echo "✓ 매니페스트 반영: app=$app · dev(로컬 kind)=$devc:$devp(워커 $devw) · val=${valc:-<생략>} · prod=${prodc:-<생략>} · port=$port path=$path cpu=$cpu mem=$mem replicas=$reps"
|
||||
}
|
||||
|
||||
_maybe_login_prompt() {
|
||||
|
||||
Reference in New Issue
Block a user