구성 · 아키텍처

전체 시스템 구성

개발자 도구 → 사내 게이트웨이 → 로컬 모델·소스관리. 모든 처리가 폐쇄망 어플라이언스 안에서 완결되며, 외부로 코드·데이터가 나가지 않습니다.

흐름

개발자 · 개발팀 PC
  • IntelliJ · Continue
  • Claude Code · OpenCode
  • 브라우저(Onyx 웹챗)
🔒 폐쇄망 · 코드·데이터 외부 반출 0
LiteLLM 게이트웨이 :4000
OpenAI /v1 · Anthropic /v1/messages
가상키 · 쿼터 · 라우팅
LLM 채팅 · 에이전트 :8000
gpt-4o · 256K 컨텍스트
인라인 자동완성 내부
code-completion
Onyx :3002
전사 코드·지식 검색 · 웹챗
GitLab :8929
소스관리 · CI
운영 어플라이언스 · DGX-SPARK(GB10)

서비스 구성

서비스역할포트
devportal설치·매뉴얼·제안 포털 (nginx)80
litellmLLM 게이트웨이 (OpenAI·Anthropic 호환) + 관리 UI4000
vllm채팅·에이전트 모델 (gpt-4o · 256K)8000
vllm-fim인라인 자동완성 (code-completion)내부
onyx전사 코드·지식 검색 + 웹챗 (비개발자)3002
litellm-dbPostgres — LiteLLM 키/사용량 저장내부
gitlab소스관리 + CI8929 · ssh 2289
gitlab-runnerCI 실행기
grafana모니터링 대시보드 (GPU·LLM·사용량)3001
prometheus · dcgm-exporter메트릭 수집 · GPU exporter내부

보안 경계 · 데이터 흐름

원칙구현
코드·데이터 외부 반출 0모든 추론·소스관리·CI가 어플라이언스 내부에서 완결. 외부 인터넷 egress 없음.
단일 진입점모든 도구가 LiteLLM 게이트웨이 하나로 연결 — OpenAI·Anthropic 호환.
도구 무변경 연동Claude Code는 ANTHROPIC_BASE_URL을 사내 게이트웨이로 지정 → 외부(api.anthropic.com) 미접속.
외부 트래픽 차단설치 시 텔레메트리·자동업데이트·오류리포트 비활성화 (CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC 등).
키·사용 귀속LiteLLM 가상키로 개인·팀별 발급·쿼터·사용량 추적 (로드맵).
폐쇄망 운영: 설치 시점에만 모델·이미지 다운로드용 네트워크가 필요하며, 이후 운영은 완전 폐쇄망에서 가능합니다. 모든 의존성(컨테이너·모델·플러그인)은 사내 레지스트리로 미러링합니다.

에이전트 도구 · 확장

확장내용
MCP 도구설치 시 자동 등록 — kaida-code-search(사내 전 리포 의미검색) · filesystem · sequential. 에이전트가 사내 컨텍스트로 답변·수정. 외부 호출 0
전사 코드·지식 검색Onyx(MIT) — GitLab 자동 인덱싱 + 의미검색 + 웹챗. 임베딩은 사내 text-embedding(LiteLLM)
패키지 · 이미지GitLab Package Registry(npm/pip/maven) · 컨테이너 이미지(사내 레지스트리). 의존성은 사내 미러에서 설치
DevSecOps CI빌드·테스트 + OWASP Dependency-Check · CycloneDX SBOM · Trivy · License + AI MR 리뷰. 표준 프로젝트 템플릿에 기본 포함
관측 · 감사Grafana(GPU·LLM·사용량) · LiteLLM 전수 감사 로깅(사내 저장, 외부 SaaS 0)
개발 워크플로우 전 과정(작성 → 검색 → 커밋 → MR·AI 리뷰 → CI → 패키지/이미지)이 폐쇄망 안에서 완결됩니다.