Deplite 소개
Deplite는 안전한 배포·운영 자동화를 위한 셀프호스팅 워크플로우 엔진이에요.
핵심 철학은 단 하나, “워크플로우 정의는 서버에, 실행은 당신의 인프라에”예요.
왜 새로 만들었나요?
GitHub Actions, GitLab CI, CircleCI 같은 SaaS형 CD 도구는 편리하지만 두 가지 한계가 있어요.
- 시크릿이 외부에 보관됩니다. 클라우드 키, DB 비밀번호 같은 민감한 값이 외부 서비스에 저장돼요.
- 실행 로그도 외부에 남습니다. 배포 도중 표준 출력으로 흘러나간 내부 정보가 외부 저장소에 누적돼요.
Deplite는 이 두 문제를 실행 분리로 풀어요.
서버는 “누가 무엇을 실행해도 되는지”만 알고, 실제 명령어와 시크릿은 당신의 인프라에 설치된 Agent 안에서만 머물러요.
3계층 구조
Deplite는 세 부분으로 동작해요.
| 계층 | 역할 | 어디에 사나요 |
|---|---|---|
| Backend | 조직·사용자·트리거 관리, 명령 발송 | Deplite 운영 서버 또는 셀프호스팅 |
| Frontend | 대시보드, Job 모니터링, 토큰 관리 | Deplite 운영 서버 또는 셀프호스팅 |
| Agent | 실제 워크플로우 실행, 로그·시크릿 보관 | 당신의 인프라 (서버·Docker·K8s) |
가장 중요한 점은 마지막 줄이에요.
Agent는 당신의 인프라에 설치되고, 시크릿 환경변수와 작업 로그는 절대 Agent 밖으로 나가지 않아요. 서버에 올라가는 건 “성공/실패” 같은 상태와 stdout 일부(log_level: summary로 제어)뿐이에요.
어떻게 안전한가요?
- ED25519 서명: 서버가 Agent에 보내는 모든 실행 명령은 ED25519로 서명돼요. Agent는 등록 시 받은 서버 공개키로 검증해요.
- Nonce 캐시: 모든 요청은 nonce를 포함해, LRU 캐시(TTL 10분)로 재생 공격을 막아요.
- 요청 서명: Agent가 서버로 보내는 요청도 ED25519로 서명되고,
X-Timestamp검증으로 ±60초만 유효해요. - 토큰 격리: API 토큰은 SHA256으로 해시되어 저장되고, 평문은 발급 시점에만 한 번 보여요.
자세한 내용은 보안 모델에서 확인하세요.
어떤 작업에 쓰나요?
배포뿐만이 아니에요.
“운영팀이 손으로 돌리던 모든 일”을 Deplite로 옮길 수 있어요.
- 배포: kubectl, docker push, Terraform apply
- 정기 백업: DB dump, S3 동기화 (Cron 트리거)
- ETL·동기화: 외부 API → 내부 DW 동기화
- 헬스체크·자동 복구: 주기적 점검 후 이상 시 재시작
- 정리 작업: 오래된 로그·임시 파일 삭제
- 온콜 자동 응답: Slack 슬래시 명령으로 즉시 진단·복구 스크립트 실행
다음 단계
빠른 시작으로 넘어가서 첫 워크플로우를 실행해 보세요.
최종 수정 일자: