CLI
현재 Deplite CLI는 사실상 Agent 바이너리 한 개예요.
관리·트리거 호출은 모두 HTTP API(API 레퍼런스)로 합니다.
deplite-agent
Agent 데몬을 실행해요.
deplite-agent환경변수
| 변수 | 설명 | 기본값 |
|---|---|---|
DEPLITE_TOKEN | Enrollment Token. 최초 등록 시 1회만 필요. | (없음) |
DEPLITE_WORKFLOWS_DIR | 워크플로우 디렉토리 경로 | ./workflows |
creds와 logs는 현재 working directory 하위의 ./creds, ./logs를 사용해요.
시스템 패키지로 운영할 때는 WorkingDirectory=/var/lib/deplite처럼 systemd 옵션으로 지정하세요.
종료 코드
| 코드 | 의미 |
|---|---|
| 0 | 정상 종료 (revoke 등) |
| 1 | 초기화 실패 (디렉토리 권한, 키 로드 실패) |
| 2 | 등록 실패 (잘못된 token, 네트워크 오류) |
로그 출력
- 표준 출력: 사람이 읽는 단순 로그
- 자체 로그 파일:
./logs/agent.log
systemd journal로 보내려면 StandardOutput=journal을 추가하세요.
버전 확인
(향후 도입 예정) deplite-agent --version
향후 추가 예정
deplite-agent doctor— 환경 점검 (디렉토리/권한/네트워크/시계)deplite-agent enroll --token=…— 환경변수 없이 등록deplite-cli— 트리거 발동/Job 조회 등 사용자 CLI
실전 예시
첫 등록과 일상 실행
# 디렉토리 준비
mkdir -p /var/lib/deplite/{workflows,creds,logs}
cd /var/lib/deplite
# 첫 실행 (등록 후 키쌍 생성·저장)
DEPLITE_TOKEN="enr_..." ./deplite-agent
# 이후 일상 실행 (token 불필요)
./deplite-agent성공 시 stdout:
[INFO] Loaded existing creds (agent ag-001-2f3e-4a5b)
[INFO] Connected to https://api.deplite.io (SSE)
[INFO] Scanned 3 workflows: deploy-prod, backup-pg, healthcheck
[INFO] Heartbeat sent (running: 0, workflows: 3)로그 한눈에 보기
# 최근 Job 한 개의 모든 로그
JOB_ID=$(ls -1t logs/jobs | head -1)
cat logs/jobs/$JOB_ID/* | jq -r '"[\(.stepName)] \(.content)"'
# 에러만 필터
cat logs/jobs/$JOB_ID/* | jq -c 'select(.level=="error")'
# Step별 실행 시간
cat logs/jobs/$JOB_ID/* | jq -r 'select(.stream=="system")'리밋 상태 점검
# 모든 워크플로우의 현재 리밋 상태
for f in logs/limits/*.json; do
echo "=== $(basename $f .json) ==="
jq . "$f"
done예시 출력:
=== deploy-prod ===
{
"cooldown_last_finish_at": "2026-05-31T13:42:18Z",
"cooldown_last_finish_status": "success",
"bucket_tokens": 3.4,
"bucket_updated_at": "2026-05-31T13:42:18Z"
}Docker 한 줄 실행
docker run -d --name deplite-agent \
-e DEPLITE_TOKEN="enr_..." \
-e DATABASE_URL="postgres://..." \
-v $(pwd)/workflows:/workflows:ro \
-v deplite-creds:/creds \
-v deplite-logs:/logs \
--restart unless-stopped \
deplite/agent:0.2.0systemd 상태·로그 확인
sudo systemctl status deplite-agent
sudo journalctl -u deplite-agent -f --since "10 min ago"
# 워크플로우 즉시 재스캔 강제 (Agent에 SIGUSR1)
sudo systemctl kill -s SIGUSR1 deplite-agent디버그 모드로 임시 실행
DEPLITE_LOG_LEVEL=debug ./deplite-agent
# → SSE 이벤트, 서명 검증, 큐 동작이 자세히 출력돼요다음으로
최종 수정 일자: