cli v0.7.0: 'yakcloud dev' — 로컬 docker 데이터소스 + 프로덕션 _bind_env_for 바이트 동일 <ALIAS>_* env(.env.dev). up/run/down/status/logs/env/reset/doctor; 결정적 자격 파생; 9종 패리티+6종 docker E2E 검증. .gitignore 에 dev 산출물
This commit is contained in:
@ -36,6 +36,18 @@
|
||||
|
||||
> 비밀번호·키는 인클러스터 Secret으로 주입되고 콘솔/브라우저에 노출되지 않는다. URL의 user/pw는 URL-인코딩됨.
|
||||
|
||||
## 로컬 개발(`yakcloud dev`) — 배포와 동일한 env 계약
|
||||
개발 중에는 `yakcloud dev up` 이 `requires[]` 를 **로컬 docker 컨테이너**로 띄우고, 위 표와 **똑같은 `<ALIAS>_*`**
|
||||
(같은 키·URL 포맷, 값만 로컬 컨테이너를 가리킴)를 `.env.dev` 로 생성한다. 즉 로컬에서 짠 코드가 배포 후에도 무수정 동작.
|
||||
```sh
|
||||
yakcloud dev up # requires[] 기동 + .env.dev 생성(무거운 oracle 은 명시 기동)
|
||||
yakcloud dev run -- python app.py # .env.dev 주입해 앱 실행(= 배포된 파드와 동일한 env)
|
||||
yakcloud dev status | logs | down [--volumes] | reset | doctor
|
||||
```
|
||||
- 자격은 프로젝트 시드에서 **결정적 파생**(재현 가능), `.yakcloud/dev/` 에만 저장(gitignore). 브라우저/원격 미노출.
|
||||
- `.env.dev`·`.yakcloud/`·`docker-compose.yakcloud-dev.yml` 은 커밋 금지(스캐폴드 `.gitignore` 에 포함).
|
||||
- env 계약은 프로덕션 백엔드 `_bind_env_for` 와 **바이트 동일**하게 유지(단일 진실원천).
|
||||
|
||||
## 앱 코드 예시
|
||||
```python
|
||||
# Python — alias=db (postgres)
|
||||
|
||||
Reference in New Issue
Block a user