Files
MyDoc/Baron-SSO 개발환경 재구축_제로베이스에서 재현.md

238 lines
4.8 KiB
Markdown

# \[요청과업1\]\[산출물04\] Baron-SSO 개발환경 재구축(제로베이스) 재현 테스트
## 1. 작업 개요
| 항목 | 내용 |
|-----|-----|
| 작업명 | 요청과업1 - Baron-SSO 개발환경 재구축 |
| 작업일 | 2026-06-11 |
| 시작 | 10:20 |
| 종료 | 13:40 |
| 휴게시간 | 12:00 \~ 13:00 |
| 총 작업시간 | 약1시간 30분 |
| 작업자 | 문형석 책임연구원 |
## 2. 작업 목적
팀장 요청에 따라 Baron-SSO 저장소만 제공된 상태에서 신규 개발 PC 환경을 구성하고 실제 서비스 기동 가능 여부를 재검증하였다.
본 테스트는 기존 구축 과정에서 과도한 시간이 소요된 원인을 확인하고, 표준 구축 절차 기준의 실제 소요시간 및 문제 발생 여부를 확인하기 위함이다.
---
# 3. 테스트 조건
## 시작 상태
### 로컬 PC
```text
WSL 미설치
Ubuntu 미설치
Docker 미설치
개발도구 미설치
Baron-SSO 소스 없음
```
### 제공 정보
```text
Gitea 저장소 주소만 제공
```
```text
https://gitea.hmac.kr/baron/baron-sso.git
```
---
# 4. 작업 타임라인
| 시간 | 작업내용 | 결과 |
|-----|------|-----|
| 10:20 \~ 10:25 | WSL 활성화 | 완료 |
| 10:25 \~ 10:27 | 재부팅 및 WSL 확인 | 완료 |
| 10:27 \~ 10:28 | Ubuntu 설치 | 완료 |
| 10:28 \~ 10:30 | apt update | 완료 |
| 10:30 \~ 10:31 | Git / Make / dos2unix 설치 | 완료 |
| 10:31 \~ 10:32 | 설치 검증 | 완료 |
| 10:32 \~ 10:36 | Docker Engine 설치 | 완료 |
| 10:36 \~ 10:38 | Docker 권한 설정 | 완료 |
| 10:38 \~ 10:40 | Docker 동작 검증 | 완료 |
| 10:40 \~ 10:45 | Baron-SSO Clone | 완료 |
| 10:45 \~ 10:47 | .env 생성 | 완료 |
| 10:47 \~ 10:49 | Auth Config 생성 | 완료 |
| 10:49 \~ 10:50 | Ory Config 생성 | 완료 |
| 10:50 \~ 10:54 | Ory Stack 기동 | 실패 |
| 10:54 \~ 11:35 | 오류 분석 | 완료 |
| 12:00 \~ 13:00 | 휴계시간 | 완료 |
| 13:05 \~ 13:10 | Kratos 오류 분석 | 완료 |
| 13:10 \~ 13:15 | 팀장 보고 및 트러블 등록 | 완료 |
| 13:15 \~ 13:17 | 원본 보존 원칙 확정 | 완료 |
| 13:17 \~ 13:18 | 로컬 .env 수정 | 완료 |
| 13:18 \~ 13:20 | Ory Config 재생성 | 완료 |
| 13:20 \~ 13:21 | Kratos 설정 확인 | 완료 |
| 13:21 \~ 13:25 | Ory Stack 재기동 | 성공 |
| 13:25 \~ 13:28 | Baron App 기동 | 성공 |
| 13:28 \~ 13:32 | 전체 상태 확인 | 성공 |
| 13:32 \~ 13:35 | 로그인 화면 확인 | 성공 |
| 총 소요시간 | 약 1시간 30분 | |
---
# 5. 주요 결과 요약
## 정상 확인
* WSL 설치 가능
* Ubuntu 설치 가능
* Docker Engine 설치 가능
* Docker Compose 설치 가능
* Gitea Clone 가능
* Auth Config 생성 가능
* Ory Config 생성 가능
## 실패 확인
* 기본 .env.sample 상태에서는 Kratos 기동 실패
* make up-dev 최초 실행 실패
---
# 6. 재현된 문제
## Kratos 초기 기동 실패
발생 로그
```text
selfservice.allowed_return_urls.12: []
expected string, but got array
```
---
# 7. 원인 분석
현재 저장소의 .env.sample
```env
KRATOS_ALLOWED_RETURN_URLS_EXTRA=[]
```
설정 생성 후 Kratos 설정파일
```yaml
allowed_return_urls:
...
- []
```
생성됨.
Kratos는 String 배열을 기대하지만 Array(\[\])가 포함되어 초기 기동 실패.
---
# 8. 조치 사항
원본 저장소는 수정하지 않음.
로컬 실행용 .env만 수정.
수정 전
```env
KRATOS_ALLOWED_RETURN_URLS_EXTRA=[]
```
수정 후
```env
KRATOS_ALLOWED_RETURN_URLS_EXTRA=
```
이후
```bash
make render-ory-config
make up-dev
```
재실행.
---
# 9. 최종 결과
## Ory Stack
```text
ory_postgres Healthy
ory_kratos Running
ory_hydra Running
ory_keto Running
ory_oathkeeper Running
```
---
## Baron Application
```text
baron_gateway Healthy
baron_backend Healthy
baron_userfront Healthy
baron_adminfront Running
baron_devfront Running
baron_orgfront Running
```
---
## 접속 확인
접속 URL
```text
http://localhost:5000
```
결과
```text
Baron SW 포탈 로그인 화면 정상 표시
```
---
# 10. 결론
이번 재현 테스트 결과,
WSL / Ubuntu / Docker 설치 자체는 문제없이 진행되었다.
그러나 현재 Gitea 저장소의 .env.sample 파일에 포함된
```env
KRATOS_ALLOWED_RETURN_URLS_EXTRA=[]
```
설정으로 인해 Kratos 초기 기동이 실패함을 재현하였다.
따라서 현재 저장소는 "Clone 후 즉시 실행 가능 상태"는 아니며, .env.sample 또는 설정 생성 스크립트에 대한 개선이 필요하다.
다만 로컬 실행용 설정 수정 후에는 Baron-SSO 전체 스택이 정상 기동되었으며, Gateway/UserFront/Backend 및 로그인 화면까지 정상 확인하였다.
추후 구축 시, 특별한 문제가 발생하지 않는다면 1시간이내 구축이 가능하다고 판단됨.