Remove pseudocode and assumptions from documents
- skill-slack 배포 계획에서 의사코드 제거 - NaverWorks 문서에서 추측 코드 제거 - 실제 구현 필요 사항만 명시
This commit is contained in:
parent
9549b05613
commit
fea3742222
@ -189,35 +189,10 @@ class BaseSkillRequest(BaseModel):
|
|||||||
- 오버라이드로 특정 provider 강제 지정
|
- 오버라이드로 특정 provider 강제 지정
|
||||||
|
|
||||||
### 4.3 DB 조회 로직 구현
|
### 4.3 DB 조회 로직 구현
|
||||||
```python
|
- rb8001/app/skills/email_integration.py에 detect_email_provider 메서드 추가
|
||||||
# rb8001/app/skills/email_integration.py에 추가할 메서드
|
- gmail_token 테이블에서 is_equipped=true인 계정 확인
|
||||||
async def detect_email_provider(self, user_id: str) -> str:
|
- naverworks_token 테이블에서 사용자 계정 확인
|
||||||
"""사용자의 이메일 프로바이더를 DB에서 자동 감지"""
|
- 둘 다 있으면 "both", 하나만 있으면 해당 provider, 없으면 "none" 반환
|
||||||
# Gmail 계정 확인
|
|
||||||
gmail_query = """
|
|
||||||
SELECT * FROM gmail_token
|
|
||||||
WHERE user_id = :user_id AND is_equipped = true
|
|
||||||
"""
|
|
||||||
gmail_result = await self.db.fetch_one(gmail_query, {"user_id": user_id})
|
|
||||||
|
|
||||||
# NaverWorks 계정 확인
|
|
||||||
nw_query = """
|
|
||||||
SELECT * FROM naverworks_token
|
|
||||||
WHERE user_id = :user_id
|
|
||||||
"""
|
|
||||||
nw_result = await self.db.fetch_one(nw_query, {"user_id": user_id})
|
|
||||||
|
|
||||||
# 프로바이더 결정 로직
|
|
||||||
if gmail_result and nw_result:
|
|
||||||
# 둘 다 있으면 사용자에게 선택 요청
|
|
||||||
return "both"
|
|
||||||
elif gmail_result:
|
|
||||||
return "gmail"
|
|
||||||
elif nw_result:
|
|
||||||
return "naverworks"
|
|
||||||
else:
|
|
||||||
return "none"
|
|
||||||
```
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|||||||
@ -49,66 +49,21 @@ skill-slack/
|
|||||||
|
|
||||||
## 3. 구현 계획
|
## 3. 구현 계획
|
||||||
|
|
||||||
### 3.1 deploy.yml 작성 (새 파일 생성)
|
### 3.1 deploy.yml 작성 필요
|
||||||
**경로**: `.gitea/workflows/deploy.yml`
|
**경로**: `.gitea/workflows/deploy.yml`
|
||||||
|
- 51124 서버 배포용 워크플로우 필요
|
||||||
|
- SSH를 통한 원격 배포 방식 사용
|
||||||
|
- 헬스체크 포함
|
||||||
|
|
||||||
```yaml
|
### 3.2 환경변수 설정 필요
|
||||||
name: Deploy skill-slack to 51124
|
**51124 서버 .env 파일**:
|
||||||
|
- Slack 토큰 설정 필요
|
||||||
|
- 서비스 연결 URL 설정 필요
|
||||||
|
- 포트 8502 설정
|
||||||
|
|
||||||
on:
|
### 3.3 docker-compose.yml 확인
|
||||||
push:
|
- 포트 매핑 명시적 설정 필요
|
||||||
branches: [main]
|
- 환경변수 .env 파일에서 로드
|
||||||
workflow_dispatch:
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
deploy:
|
|
||||||
runs-on: self-hosted
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v4
|
|
||||||
|
|
||||||
- name: Deploy to 51124 server
|
|
||||||
run: |
|
|
||||||
ssh happybell@51124 "cd ~/projects/ivada/skill-slack && \
|
|
||||||
git pull && \
|
|
||||||
docker compose down && \
|
|
||||||
docker compose up -d --build"
|
|
||||||
|
|
||||||
- name: Health check on 51124
|
|
||||||
run: |
|
|
||||||
sleep 10
|
|
||||||
curl -f http://51124:8502/health || exit 1
|
|
||||||
```
|
|
||||||
|
|
||||||
### 3.2 환경변수 설정
|
|
||||||
**51124 서버 .env 파일** (수동 생성 필요):
|
|
||||||
```bash
|
|
||||||
# Slack 토큰 (실제 값 필요)
|
|
||||||
SLACK_BOT_TOKEN=xoxb-...
|
|
||||||
SLACK_APP_TOKEN=xapp-...
|
|
||||||
SLACK_BOT_TOKEN_RB8001=xoxb-...
|
|
||||||
|
|
||||||
# 서비스 연결
|
|
||||||
LLM_GATEWAY_URL=http://localhost:8001
|
|
||||||
STATE_SERVICE_URL=http://localhost:8507
|
|
||||||
|
|
||||||
# 기본 설정
|
|
||||||
SERVICE_NAME=skill-slack
|
|
||||||
PORT=8502
|
|
||||||
ENVIRONMENT=production
|
|
||||||
```
|
|
||||||
|
|
||||||
### 3.3 docker-compose.yml 수정
|
|
||||||
```yaml
|
|
||||||
services:
|
|
||||||
skill-slack:
|
|
||||||
# ... 기존 설정 ...
|
|
||||||
ports:
|
|
||||||
- "8502:8502" # 포트 명시적 매핑 추가
|
|
||||||
environment:
|
|
||||||
# 환경변수는 .env 파일에서 로드
|
|
||||||
- SLACK_BOT_TOKEN=${SLACK_BOT_TOKEN}
|
|
||||||
# ...
|
|
||||||
```
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user