feat(BAT-005): add broker credential CLI command with persistence and tests

- Add CredentialService for managing broker credentials
- Implement credential CLI commands (create, list, get, update, delete)
- Add postgres repository support for credential operations
- Add comprehensive test coverage for credential CLI
- Update docs/batches/index.md and docs/srs/index.md with BAT-005
- Update docs/project-structure.md to reflect credential service
This commit is contained in:
2026-05-03 12:44:40 +00:00
parent fb555dd72e
commit 222c66bb7f
12 changed files with 670 additions and 4 deletions
@@ -0,0 +1,45 @@
# BAT-005 Index
- Status: release-candidate
- Batch: BAT-005
- Profile: batch-lite
- Created: 2026-05-03
## Included REQ
| REQ | 제목 | Type | Priority |
|-----|------|------|----------|
| REQ-015 | CLI `credential` 명령 그룹 구현 (브로커 인증 정보 관리) | Interface | Medium |
## Source Discovery
- minor-change fast path (Discovery 없음)
## Scope Summary
- CLI `pfhub credential set/list/remove` 명령 그룹 신규 추가
- `app/cli/commands/credential.py` 신규 생성 (`credential_app`)
- `app/cli/main.py`에 `credential_app` 등록
- `app/repositories/postgres.py`에 `delete_broker_credential` 메서드 추가
- 기존 `broker_credentials` 테이블 / `upsert_broker_credential` / `list_broker_credentials` 재사용
- 기존 Fernet 암호화 인프라 (`app/core/encryption.py`) 재사용
- DB 스키마 변경 없음, HTTP API 변경 없음
## Impacted Area
- Docs:
- `docs/project-structure.md` — CLI 모듈 목록에 `credential.py` 추가
- Modules:
- `app/cli/commands/credential.py` (신규)
- `app/cli/main.py` (`credential_app` 등록)
- `app/repositories/postgres.py` (`delete_broker_credential` 추가)
- Tests:
- `tests/test_cli.py` — credential 명령 통합 테스트 추가
## Stage Documents
| Stage | File | Status |
|-------|------|--------|
| Planning | [planning.md](./planning.md) | confirmed |
| Implementation | [implementation.md](./implementation.md) | completed |
| Verification | [verification.md](./verification.md) | passed |