jungwoo choi 89fca872c0 cli v0.13.0: 공유 외부 소스 CLI 선언(source add --shared, mode:shared) + 문서 3계층·cluster create 정리
source add --shared / requires[].mode:shared 로 공유 외부 소스를 매니페스트에 선언 → 배포 시 백엔드가 클러스터별 격리 DB/계정 민팅(인클러스터 StatefulSet 없음, 소용량 클러스터용). reconcile_source 가 mode 를 POST /services 로 전달(local 하드코딩 제거). 문서(슬래시명령·매니페스트 템플릿·DATA-SOURCES·SKILL·bin help): 로컬 dev/migrate 제거·dev/val/prod 3계층 승격(promote --to)·cluster create/ls·project check --env 반영.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-08-28 12:08:11 +09:00

yakcloud 스타터 (프레임워크 중립)

의존성 0의 최소 HTTP 서버. 배포 계약만 지키면 어떤 스택으로 바꿔도 된다:

  • PORT 환경변수로 리슨(기본 8080)
  • GET /healthz → 200 (매니페스트 health 경로)
  • (선택) 바인딩된 소스는 <ALIAS>_URL 등 env로 접속

로컬 실행

PORT=8080 python3 app.py
curl localhost:8080/healthz     # {"ok":true}
curl localhost:8080/            # 앱 정보 + 연결된 소스 키

매니페스트 매핑 (yakcloud.yaml)

workloads:
  - name: web
    build: ./            # 이 디렉터리(Dockerfile)를 CI 가 빌드
    image: gitea.yakenator.io/<GITEA_USER>/<project>-web:${TAG}
    port: 8080
    health: /healthz
    binds:
      - { alias: db, source: appdb }   # → 앱에서 os.environ["DB_URL"] 로 접속

다른 스택으로 교체

app.py(+Dockerfile)를 원하는 언어/프레임워크로 교체하되 위 3계약 유지. 소스별 주입 env 전체 목록은 ../reference/DATA-SOURCES.md 참고.

Description
YakCloud 배포 기반 스타터 + Claude Code 스킬(yakcloud-deploy)
Readme 1.5 MiB
Languages
Python 65.6%
Shell 34.3%
Dockerfile 0.1%