GitHub/GitLab 백로그를 대상으로 Claude Code를 실행하는 Kubernetes 오퍼레이터(Operator)를 구축했습니다
요약
GitHub/GitLab 백로그를 자동으로 처리하는 Kubernetes 오퍼레이터 'tatara'를 소개합니다. Claude Code를 헤드리스로 실행하여 이슈 분류, 코드 작성, PR 생성 및 Grafana 알림 조사를 수행하는 에이전트 시스템을 구축했습니다.
핵심 포인트
- Kubernetes CR 기반의 Claude Code 자동화 오퍼레이터 구축
- 비대화형 실행을 위한 OAuth 토큰 스코핑 및 중지 훅 구현
- LightRAG 지식 그래프를 활용한 에이전트 메모리 문제 해결
- 멀티테넌트 및 OIDC를 지원하는 플랫폼 운영 환경 제공
- 사용자 데이터 보안을 위한 셀프 호스팅 및 AGPLv3 라이선스
이 프로젝트는 “Kubernetes Job에서 Claude Code를 헤드리스(headless)로 실행할 수 있을까?”라는 질문에서 시작하여, 실제 프레임워크로 발전할 때까지 계속 성장했습니다. 이제는 더 다듬기보다는 공유하는 것이 낫다고 판단될 정도입니다: tatara.
기능: 오퍼레이터(operator)가 저장소(repos)를 감시합니다. 새로운 이슈(issue)가 들어오면, 에이전트(agent)가 이를 분류(triage)하고, 코드를 작성하며, PR(Pull Request)을 생성합니다. 에이전트는 절대 무엇도 머지(merge)하지 않으며, 사람이 모든 PR을 검토합니다. Grafana 알림이 발생하면, 조사 에이전트(investigation agent)가 대시보드에 접근하여 문제를 파악합니다. 또한 주기적인 브레인스토밍 에이전트(brainstorm agent)가 개선 제안을 이슈로 등록하여, 백로그(backlog)가 스스로 채워지도록 합니다.
실제로 해결하기 어려웠던 부분들:
• Job 내부에서 Claude Code를 비대화형(non-interactively)으로 실행하기 — claude -p, OAuth 토큰 스코핑(scoping), 컨테이너에서 트랜스크립트(transcripts)를 파싱하기 위한 중지 훅(stop hooks)
• 에이전트에게 메모리(memory) 부여하기. 매 세션이 콜드 스타트(cold start)로 시작되는 것은 무용지물이었기에, 실행 간에 지속되는 코드베이스의 LightRAG 지식 그래프(knowledge graph)를 구축했습니다.
• 플랫폼 팀이 운영할 수 있는 형태로 만들기: 모든 것이 Kubernetes CR(Custom Resource)이며, 메트릭(metrics), OIDC, 멀티테넌트(multitenant)를 지원합니다.
설계상 에이전트 불가지론적(agent-agnostic)이지만, Claude Code를 기반으로 성장했으며 현재 그것을 사용하여 실행하고 있습니다.
클러스터에 셀프 호스팅(Self-hosted)하며, 사용자의 키와 코드는 절대 외부로 나가지 않습니다. AGPLv3 라이선스입니다.
문서: https://szymonrychu.github.io/tatara-documentation/
submitted by /u/lordsickleman
[link] [comments]
AI 자동 생성 콘텐츠
본 콘텐츠는 r/ClaudeAI의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기