Skip to Content

CLI

현재 Deplite CLI는 사실상 Agent 바이너리 한 개예요.
관리·트리거 호출은 모두 HTTP API(API 레퍼런스)로 합니다.

deplite-agent

Agent 데몬을 실행해요.

deplite-agent

환경변수

변수설명기본값
DEPLITE_TOKENEnrollment Token. 최초 등록 시 1회만 필요.(없음)
DEPLITE_WORKFLOWS_DIR워크플로우 디렉토리 경로./workflows

credslogs는 현재 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.0

systemd 상태·로그 확인

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 이벤트, 서명 검증, 큐 동작이 자세히 출력돼요

다음으로

최종 수정 일자: