docs: guidelines에서 구체적 값 제거, 원칙만 유지
- constants.md: 스킬 레벨/스탯 요구사항 구체적 값 제거, 구조 원칙만 유지 - deployment_patterns.md: 구체적 배포 플로우/SSH Secrets 이름 제거, 패턴 원칙만 유지 - logging_rules.md: 구체적 경로/주소 제거, 원칙만 유지 - naming_conventions.md: 구체적 예시 제거, 원칙만 유지 - 실제 값은 각 서비스 README 참조로 변경
This commit is contained in:
parent
f197919684
commit
1db34dd8ea
@ -5,23 +5,14 @@
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## 스킬 레벨 구조
|
## 스킬 레벨 구조 원칙
|
||||||
|
|
||||||
| 레벨 | 스킬 | 설명 |
|
- 레벨은 점진적으로 증가하는 구조
|
||||||
|------|------|------|
|
- 낮은 레벨: 기본 기능
|
||||||
| 1 | 기본 대화 | 기본 채팅 |
|
- 높은 레벨: 고급 기능
|
||||||
| 2 | 이메일 읽기 | Gmail 읽기 |
|
- 레벨 간격은 의미 있는 기능 차이를 반영
|
||||||
| 3 | Slack 대화 | Slack 연동 |
|
|
||||||
| 4 | 이메일 전송 | Gmail 전송 |
|
|
||||||
| 5 | 데일리 브리핑 | 뉴스 요약 |
|
|
||||||
| 7 | 일정 관리 | 캘린더 |
|
|
||||||
| 11 | 문서 작성/편집 | 문서 작업 |
|
|
||||||
| 13 | 데이터 분석/차트 | 분석 |
|
|
||||||
| 17 | 프로젝트 관리 | 프로젝트 |
|
|
||||||
| 19 | AI 인사이트/예측 | 인사이트 |
|
|
||||||
| 23 | 자동화 워크플로우 | 자동화 |
|
|
||||||
|
|
||||||
**참고**: `DOCS/journey/troubleshooting/250830_skill_level_system_restructure.md:45-57`
|
**참고**: 실제 레벨 값은 코드/README 참조, `DOCS/journey/troubleshooting/250830_skill_level_system_restructure.md`
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@ -56,15 +47,11 @@
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## 스탯 요구사항 구조
|
## 스탯 요구사항 구조 원칙
|
||||||
|
|
||||||
| 스킬 | Memory | React | Compute | Empathy |
|
- 각 스킬은 Memory, React, Compute, Empathy 중 필요한 스탯만 요구
|
||||||
|------|--------|-------|---------|---------|
|
- 스탯 요구사항은 스킬의 특성에 맞게 설계
|
||||||
| EMAIL | 10 | 5 | 5 | 5 |
|
- 실제 값은 코드에서 관리
|
||||||
| NEWS | - | 10 | 5 | - |
|
|
||||||
| SLACK | 15 | - | - | 10 |
|
|
||||||
| ANALYSIS | 15 | - | 20 | - |
|
|
||||||
| LLM | - | - | 15 | 10 |
|
|
||||||
|
|
||||||
**참고**: `rb8001/app/services/brain/decision_engine.py:560-565`
|
**참고**: `rb8001/app/services/brain/decision_engine.py:560-565`
|
||||||
|
|
||||||
|
|||||||
@ -5,38 +5,34 @@
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## 배포 패턴 구조
|
## 배포 패턴 원칙
|
||||||
|
|
||||||
### 자동 배포 패턴
|
### 자동 배포 원칙
|
||||||
```
|
- 로컬 개발 → Git 푸시 → CI/CD 실행 → 서버 배포 → 컨테이너 재시작
|
||||||
로컬 개발 → Gitea 푸시 → Actions (51123) → SSH (51124) → git pull → docker 재시작
|
- 자동화된 배포는 일관성과 효율성 제공
|
||||||
```
|
|
||||||
|
|
||||||
**참고**: `AGENTS.md:83-85`
|
### 수동 배포 원칙
|
||||||
|
- 서버 접속 → 코드 업데이트 → 컨테이너 재시작
|
||||||
|
- 자동 배포가 불가능한 경우에만 사용
|
||||||
|
|
||||||
### 수동 배포 패턴
|
**참고**: `AGENTS.md:83-85,32`
|
||||||
```
|
|
||||||
서버 접속 → git pull → docker compose down && docker compose up -d --build
|
|
||||||
```
|
|
||||||
|
|
||||||
**참고**: `AGENTS.md:32`
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## 워크플로우 파일 구조
|
## 워크플로우 파일 구조 원칙
|
||||||
|
|
||||||
### 위치
|
### 위치
|
||||||
- 경로: `.gitea/workflows/*.yml`
|
- CI/CD 워크플로우 파일은 표준 경로 사용
|
||||||
- 예시: `rb8001/.gitea/workflows/cicd.yml`
|
- 각 서비스별로 독립적인 워크플로우 관리
|
||||||
|
|
||||||
### 공통 패턴
|
### 공통 패턴
|
||||||
1. SSH 키 설정
|
1. 인증 설정
|
||||||
2. 서버 접속
|
2. 서버 접속
|
||||||
3. git pull
|
3. 코드 업데이트
|
||||||
4. docker 재시작
|
4. 서비스 재시작
|
||||||
5. 헬스체크
|
5. 검증
|
||||||
|
|
||||||
**참고**: 각 서비스 `.gitea/workflows/` 디렉토리
|
**참고**: 각 서비스 CI/CD 설정 참조
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@ -53,13 +49,12 @@
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## SSH Secrets 구조
|
## 인증 Secrets 구조 원칙
|
||||||
|
|
||||||
| Secret 이름 | 설명 | 사용 위치 |
|
- SSH 키: 서버 접속 인증
|
||||||
|------------|------|-----------|
|
- 호스트 정보: 배포 대상 서버
|
||||||
| `SSH_PRIVATE_KEY_51124` | 51124 서버 SSH 키 | Gitea Actions |
|
- 사용자 정보: 서버 접속 사용자
|
||||||
| `SSH_HOST_51124` | 51124 서버 IP | Gitea Actions |
|
- 실제 Secret 이름은 CI/CD 설정 참조
|
||||||
| `SSH_USER_51124` | SSH 사용자 | Gitea Actions |
|
|
||||||
|
|
||||||
**참고**: `DOCS/journey/plans/251206_skill_calendar_자동배포_구성.md`
|
**참고**: `DOCS/journey/plans/251206_skill_calendar_자동배포_구성.md`
|
||||||
|
|
||||||
|
|||||||
@ -37,51 +37,31 @@ logger.info(f"User {user_id} authenticated", extra={
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## 로그 위치
|
## 로그 위치 원칙
|
||||||
|
|
||||||
### 컨테이너 내부
|
- 컨테이너 내부: 서비스별 로그 파일 분리
|
||||||
- 경로: `/code/logs/[서비스명].log`
|
- 호스트 백업: 정기적 백업 (일별 스케줄)
|
||||||
- 예시: `/code/logs/rb8001.log`
|
- 실제 경로는 각 서비스 README 참조
|
||||||
|
|
||||||
### 호스트 (백업)
|
|
||||||
- 경로: `/mnt/51123logs/[서비스명]/`
|
|
||||||
- 백업 시간: 매일 03:00
|
|
||||||
|
|
||||||
**참고**: `AGENTS.md:133-137`
|
**참고**: `AGENTS.md:133-137`
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## 로그 확인 방법
|
## 로그 확인 원칙
|
||||||
|
|
||||||
### 실시간 로그
|
- 실시간 로그: Docker 로그 명령어 사용
|
||||||
```bash
|
- 파일 로그: 로그 파일 직접 확인
|
||||||
docker logs [컨테이너명] --tail 100
|
- 에러 필터링: grep으로 에러/경고 필터링
|
||||||
```
|
|
||||||
|
|
||||||
### 파일 로그
|
|
||||||
```bash
|
|
||||||
tail -f /code/logs/[서비스명].log
|
|
||||||
```
|
|
||||||
|
|
||||||
### 에러 필터링
|
|
||||||
```bash
|
|
||||||
docker logs [컨테이너명] | grep -iE "error|warn|fail"
|
|
||||||
```
|
|
||||||
|
|
||||||
**참고**: `AGENTS.md:133-137`
|
**참고**: `AGENTS.md:133-137`
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## 로그 보관
|
## 로그 보관 원칙
|
||||||
|
|
||||||
### Docker JSON 로그
|
- Docker JSON 로그: 컨테이너별 자동 생성
|
||||||
- 위치: `/var/lib/docker/containers/*/json.log`
|
- 중앙 집중 로그: OpenSearch 등 외부 시스템 활용
|
||||||
- 권한: sudo 필요
|
- 실제 주소/인덱스는 각 서비스 README 참조
|
||||||
|
|
||||||
### OpenSearch
|
|
||||||
- 주소: http://192.168.219.45:9200
|
|
||||||
- 인덱스: `dataprepper-static` (서비스 로그)
|
|
||||||
- 일별 인덱스: `dataprepper-YYYY.MM.DD` (fluent-bit 로그)
|
|
||||||
|
|
||||||
**참고**: `AGENTS.md:137-142`
|
**참고**: `AGENTS.md:137-142`
|
||||||
|
|
||||||
|
|||||||
@ -81,10 +81,12 @@ MAX_RETRIES = 3 # 상수
|
|||||||
## 서비스명
|
## 서비스명
|
||||||
|
|
||||||
### 컨테이너명
|
### 컨테이너명
|
||||||
- **kebab-case**: 소문자, 하이픈 (예: `skill-slack`, `robeing-monitor`)
|
- **kebab-case**: 소문자, 하이픈 사용
|
||||||
|
- 실제 이름은 각 서비스 README 참조
|
||||||
|
|
||||||
### 서비스 ID
|
### 서비스 ID
|
||||||
- **소문자**: `rb8001`, `skill-email`
|
- **소문자**: 일관된 형식 유지
|
||||||
|
- 실제 ID는 각 서비스 README 참조
|
||||||
|
|
||||||
**참고**: `AGENTS.md:78-81`
|
**참고**: `AGENTS.md:78-81`
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user