[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>
151 lines
4.1 KiB
Markdown
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`)
|
|
- 권한 오류 → 관리자 권한으로 재실행 안내
|
|
- 포트 충돌 → 사용 중인 포트 프로세스 확인 후 조치
|