프로젝트 소개
Shoggoth은 개인 사용을 위한 셀프호스팅 에이전틱 개발 멀티툴로, K3s에 배포된 컨테이너화된 서비스들로 구성되어 있으며, 구성 가능한 도메인(기본값은 s.local)을 통해 접근할 수 있습니다. 이 프로젝트는 실험적이고 초기 단계이며, 보안이 우선순위가 아닌 로컬 네트워크를 위해 설계되었으며, Ubuntu/C++/Python 스택과 IDE 없이 모든 것을 코드로 하는 워크플로우에 맞춤화되어 있습니다. 그 목표는 코딩 에이전트가 팀 멤버로 일하고, 할당된 작업을 실행하며, 코드 리뷰에 참여하는 환경을 만드는 것입니다. 모든 구성 요소는 오픈 소스이며, 셀프호스팅이 가능하고, 유사한 소프트웨어로 교체할 수 있습니다. README는 이를 칸반 스타일의 에이전틱 코딩 도구와 비교하며, 타사 구성 요소 통합과 더 넓은 기능 범위에 초점을 맞추고 있으며, 에이전틱 워크플로우는 일부 대안보다 덜 발전되어 있다고 언급합니다.
설명된 서비스 그룹:
네트워킹 - 웹 관리 UI가 있는 WireGuard VPN 서버, VPN 외부에서 VPN UI에 대한 HTTPS 액세스를 제공하는 Angie TLS 종료 리버스 프록시, 그리고 도메인 별칭 및 DNS 블랙리스트를 위한 CoreDNS.
캐싱 - Debian/Ubuntu apt 캐싱 프록시, 풀스루 캐싱이 있는 zot 컨테이너 레지스트리, Python 패키지 캐싱 프록시, 그리고 Angie에서 제공하는 ccache/sccache 빌드 캐시.
개발 - Gitea 스위트(Git 서버, Git Pages 정적 호스팅, Actions 러너), Kestra 워크플로우 오케스트레이션, ttyd, tmux 및 Qwen Code를 기반으로 한 대화형 웹 터미널이 있는 Docker-in-Docker 슬레이브 서비스, 그리고 테스트 결과 대시보드를 위한 CDash.
프로젝트 관리 - Redmine 서버.
LLM 및 코딩 에이전트 - MCP 게이트웨이가 있는 LiteLLM 프록시, LocalAI 로컬 모델 서버, Gitea MCP 서버 및 Basic Memory MCP 서버.
관측 가능성 - 로그를 위한 Loki, 트레이스를 위한 Tempo, 메트릭을 위한 VictoriaMetrics, 그리고 섭취를 위한 OpenTelemetry Collector 파이프라인을 사용하는 LGTM 스택의 Grafana 스위트.
신원 및 비밀 - 웹 인터페이스가 있는 OpenLDAP 디렉토리, 그리고 비밀 관리를 위한 OpenBao.
아키텍처 및 운영: 이 시스템은 shoggoth/k3s 폴더에 있는 K3s 매니페스트, Makefile 타겟을 통해 노출된 배포의 원격 제어를 위한 유틸리티(up, down, log, ssh, sync_restart), 그리고 구성 파일을 생성하고, Docker 캐싱 프록시 및 레지스트리를 구성하고, /etc/hosts를 업데이트하고, apt 캐시 설정을 설치하고, API 게이트웨이 토큰을 얻기 위해 클라이언트 머신에서 실행되는 설정 스크립트로 구성됩니다. 슬레이브 컨테이너는 컴파일러 및 정적 분석 도구가 있는 ccws 빌드 환경, Qwen Code 터미널 에이전트, 그리고 Shoggoth 전용 유틸리티를 결합하며, 일반 CI/CD, 코딩이나 리뷰와 같은 비대화형 에이전틱 플로우, 그리고 대화형 개발을 위해 의도되었습니다.
인증은 OpenLDAP를 사용하여 세 개의 계정(디렉토리 관리 및 Grafana 관리 로그인을 위한 admin, 서비스 바인드 계정인 sldapauth, CI 및 자동화를 위한 sslave)과 두 개의 그룹(OpenBao에서 shoggoth-admin 정책에 매핑되는 admins, 그리고 서비스 바인드 계정을 위한 shoggoth-auth)을 사용합니다. OpenBao는 비밀번호의 진실의 원천이며, 첫 실행 시 자동으로 생성되며, LDAP 기반 서비스에는 Gitea, Redmine, CDash 및 OpenBao 자체가 포함됩니다. 문서화된 주의 사항으로는 gitea 및 redmine CLI 클라이언트가 환경 변수만으로는 구성할 수 없다는 점, zot이 중단된 온디맨드 동기화 후 오래된 동기화 스테이징 디렉토리를 남긴다는 점(cleanup initContainer로 해결), 그리고 알려진 LiteLLM OpenTelemetry 콜백 및 Tempo WAL 와처 문제가 있습니다.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.