zioinfo-mail/setup/.claude/skills/guardia-install/SKILL.md
DESKTOP-TKLFCPR\ython bae659adba feat(setup): Claude Code Desktop 자동 설치 + 30일 라이선스 + 서비스 자동 실행
[Claude Code Desktop 자동 설치 환경]
- setup/CLAUDE.md: 트리거 키워드 + 설치 패키지 설명
- setup/.claude/skills/guardia-install/SKILL.md: 6단계 설치 오케스트레이터
  Phase 0: 의도 파악 → Phase 1: OS 감지 → Phase 2: 사전 확인
  Phase 3: 설치 실행 → Phase 4: 라이선스 발급 → Phase 5: 검증 → Phase 6: 완료보고

[통합 자동 설치 스크립트]
- setup/install_auto.sh: Linux 통합 (OS 자동 감지 ubuntu/centos/rhel)
  - --license trial30|trial7|<key> 파라미터
  - 설치 완료 후 GUARDiA 자동 실행 + 브라우저 자동 열기
  - --test 검증 모드
- setup/install_auto.ps1: Windows 통합 (ASCII 전용, PS 5.1 호환)
  - 설치 후 NSSM 서비스 자동 시작 + 브라우저 자동 열기
  - -Test 파라미터로 검증 전용 실행

[라이선스 엔진 개선]
- core/license.py: generate_trial_key(days=None) 파라미터 추가
- TRIAL_DURATION_DAYS = TRIAL_DURATION_DAYS 환경변수로 조정 가능
- routers/license.py: TrialRequest.days 필드 + 30일 체험판 지원
  POST /api/license/trial {"days": 30} 로 30일 발급

사용자 경험:
  1. setup/ 폴더를 새 PC에 복사
  2. Claude Code Desktop 열고 해당 폴더 open
  3. "GUARDiA 시스템 1달 사용자로 설치해 줘" 입력
  4. 자동으로 OS 감지 → 설치 → 30일 라이선스 → 브라우저 열림

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-30 09:06:14 +09:00

151 lines
4.1 KiB
Markdown

---
name: guardia-install
description: >
GUARDiA ITSM 자동 설치 오케스트레이터.
다음 상황에서 반드시 이 스킬을 사용:
(1) "GUARDiA 설치", "GUARDiA 시스템 설치", "설치해 줘" 요청;
(2) "1달 사용자", "체험판", "trial" 포함 설치 요청;
(3) "GUARDiA 운영 설치", "개발 환경 설치" 요청;
(4) setup 폴더에서 설치 관련 모든 요청.
이 스킬 없이 설치를 직접 진행하지 말 것.
---
# GUARDiA ITSM 자동 설치 오케스트레이터
## 실행 순서
### Phase 0: 사용자 의도 파악
먼저 요청을 분석하여 설치 종류를 결정한다.
| 요청 키워드 | 설치 종류 | 라이선스 |
|-----------|---------|---------|
| 1달, 한달, 30일, 체험, trial | TRIAL_30 | 30일 체험판 자동 발급 |
| 7일, 1주일, 개발 | TRIAL_7 | 7일 체험판 |
| 운영, production | PROD | 라이선스 키 입력 필요 |
| 대상서버, WAS서버 | TARGET | 라이선스 불필요 |
---
### Phase 1: OS 자동 감지
**반드시 먼저 OS를 감지**하고 설치 스크립트를 선택한다.
```bash
# OS 감지 명령
uname -s 2>/dev/null # Linux/Mac
[System.Environment]::OSVersion # Windows (PowerShell)
```
| OS | 사용할 스크립트 |
|----|--------------|
| Windows (PowerShell) | `install_auto.ps1` |
| Ubuntu 20/22/24 | `install_auto.sh ubuntu` |
| CentOS 7/Stream | `install_auto.sh centos` |
| RHEL 8/9 | `install_auto.sh rhel` |
| macOS | `install_auto.sh mac` |
---
### Phase 2: 설치 전 확인
설치 시작 전에 반드시 다음을 확인하고 사용자에게 보고한다:
```
감지된 OS: Windows 10 / Ubuntu 22.04 / ...
설치 종류: 1달 체험판
설치 항목:
✓ Python 3.11 + FastAPI (GUARDiA ITSM 백엔드)
✓ OpenJDK 17 + Tomcat 9 (WAS)
✓ PostgreSQL 또는 SQLite (DB)
✓ Ollama (온프레미스 AI, 약 4GB)
✓ Gitea (형상관리)
✓ Nginx (웹서버)
✓ 30일 체험 라이선스 자동 발급
예상 소요시간: 약 10~30분 (인터넷 속도에 따라)
디스크 필요: 약 10GB
설치를 시작할까요? (예/아니오)
```
사용자가 확인하면 Phase 3 진행.
---
### Phase 3: 설치 실행
**Windows:**
```powershell
# 관리자 권한 확인 후 실행
Set-ExecutionPolicy Bypass -Scope Process -Force
.\install_auto.ps1 -LicenseType trial30
```
**Linux:**
```bash
chmod +x install_auto.sh
sudo bash install_auto.sh --license trial30
```
설치 중 실시간 진행 상황을 사용자에게 보고한다:
- `[1/N] 패키지 설치...` 단계별 진행
- 오류 발생 시 즉시 보고 + 해결 방법 제시
---
### Phase 4: 라이선스 발급
설치 완료 후 체험 라이선스를 자동 발급한다.
```bash
# GUARDiA API로 30일 체험 라이선스 발급
curl -sf -X POST http://localhost:8001/api/license/trial \
-H "Content-Type: application/json" \
-d '{"customer": "체험판 사용자 (30일)"}'
```
라이선스 키를 발급받아 `.env`에 자동 저장.
---
### Phase 5: 설치 검증
`install_auto.sh --test` (또는 `install_auto.ps1 -Test`) 실행하여 모든 서비스 상태 확인.
---
### Phase 6: 완료 보고
설치 완료 후 반드시 다음 정보를 사용자에게 제공:
```
✅ GUARDiA ITSM 설치 완료!
접속 정보:
GUARDiA 대시보드: http://[서버IP]
초기 계정: admin / 1111 (최초 로그인 시 변경)
라이선스 만료: 30일 후 (YYYY-MM-DD)
서비스 현황:
GUARDiA ITSM: ✅ 실행 중 (포트 8001)
Tomcat: ✅ 실행 중 (포트 8080)
Ollama: ✅ 실행 중 (포트 11434)
Gitea: ✅ 실행 중 (포트 3000)
다음 단계:
1. http://[IP] 접속 → admin/1111 로그인
2. 비밀번호 변경
3. CMDB에 서버 등록
4. 메신저 봇 연결 (선택)
```
---
## 오류 처리 원칙
- 설치 중 오류 → 즉시 사용자에게 보고, 단계 재시도 여부 확인
- 네트워크 오류 → 폐쇄망 패키지 사용 안내 (`download_packages.sh`)
- 권한 오류 → 관리자 권한으로 재실행 안내
- 포트 충돌 → 사용 중인 포트 프로세스 확인 후 조치