alpacon event

Alpacon 이벤트 채널을 구독해서 변화가 생기는 즉시 반응합니다.

bash
alpacon event [command] [flags]

별칭: event, events

이벤트 채널이란

Alpacon에는 시간이 걸리는 일이 있습니다. 작업 세션은 승인자를 기다리고, 긴 명령은 계속 출력을 내보내고, 클라우드 연동은 서버를 하나씩 처리합니다. 이벤트 채널이 없으면 결과를 알아내는 방법은 계속 물어보는 것뿐입니다. 명령을 실행해 상태를 읽고, 잠시 기다렸다가, 다시 실행하는 식입니다.

이벤트 채널은 방향을 뒤집습니다. 한 번 구독해 두면 Alpacon이 변화가 생길 때마다 보내줍니다. 터미널을 보고 있는 사람에게는 새 줄이 하나씩 올라오고, 스크립트나 AI 에이전트에게는 이벤트 한 건이 stdout 한 줄로 들어오거나, 결과가 정해지는 순간 종료 코드 하나로 전달됩니다.

이벤트 한 건은 세 조각으로 이뤄집니다.

조각뜻예
이벤트 타입구독할 대상의 종류. --type으로 고릅니다.work_session
서브 타입그 대상에 실제로 무슨 일이 생겼는지. 서브 타입을 내보내는 이벤트 타입에만 붙습니다approved
대상(target)어느 리소스에 생긴 일인지. --target으로 고릅니다.작업 세션의 ID

그래서 출력 한 줄이 이렇게 나오면,

14:32:07	work_session	approved	a1b2c3d4-5678-abcd-ef01-234567890abc

14시 32분 7초에 작업 세션 a1b2c3d4-…가 승인됐다는 뜻입니다.

구독할 수 있는 이벤트 타입

이벤트 타입 목록은 Alpacon이 정하므로 --type에는 CLI가 이름을 아는 것보다 많은 값이 들어갑니다. 자주 쓰는 것은 다음과 같습니다.

이벤트 타입무엇을 알려주는지--target
work_session작업 세션의 상태 변화: approved, activated, rejected, expired, revoked, cancelled, completed필수. 작업 세션 ID
notification내 알림선택. 생략하면 본인이며, 다른 사용자 ID는 거부됨
command_output실행 중인 명령 하나가 내보내는 출력필수. 명령 ID
sudo터미널 세션에서 올라온 sudo 승인 요청필수. 세션 ID
cloud_discovery, cloud_install, cloud_reconcile, cloud_account클라우드 연동 작업의 진행 상황선택
metric_threshold_crossed, metric_threshold_resolved메트릭 경고 규칙이 임계값을 넘었거나 다시 임계값 아래로 내려간 경우. metrics 확장 기능이 있는 워크스페이스에서만 구독 가능선택. 서버 ID를 주면 해당 서버로 좁혀지고, 생략하면(관리자만 가능) 모든 서버가 대상

데이터가 끊겨 규칙을 평가할 수 없어도 별도 이벤트 타입을 쓰지 않습니다. metric_threshold_crossed 이벤트의 reason 필드에 no_data가 들어갑니다.

권한이 없는 구독은 거부됩니다. 다른 사용자의 알림이나 볼 수 없는 작업 세션을 구독하려 하거나, metrics 확장 기능이 없는 워크스페이스에서 메트릭 임계값 이벤트를 구독하려 하면 기다리지 않고 바로 오류로 끝납니다.

구독하면 어떻게 되는지

  • 히스토리는 없습니다. 구독한 뒤에 발행된 이벤트만 받습니다. 그 전에 있었던 일은 다시 재생되지 않습니다.
  • 빈 구간이 생길 수 있습니다. 연결이 끊기면 자동으로 다시 붙지만, 끊긴 동안 발행된 이벤트는 유실됩니다. 끊긴 것도 복구된 것도 stderr로 알립니다.
  • 결과가 먼저 지나갈 수 있습니다. 기다리던 일이 벌어진 직후에 구독하면 이벤트는 영영 오지 않습니다. wait는 이 문제를 대신 처리합니다. --target을 주면 구독 직후 현재 상태를 한 번 읽고, 재연결할 때마다 다시 읽습니다.

어느 하위 명령어를 쓸까

하고 싶은 일명령어
한 타입의 이벤트를 멈출 때까지 계속 따라보기watch
결과 하나가 정해질 때까지 막고 있다가 스크립트를 이어가거나 실패시키기wait

watch는 스스로 끝나지 않고 중단할 때까지 스트리밍합니다. wait는 결과를 정하는 이벤트가 오는 순간 끝나고, 어떤 결과였는지는 종료 코드가 알려줍니다. 스크립트나 에이전트가 문장을 읽지 않고도 분기할 수 있습니다.

경고

하위 명령어 없이 alpacon event를 실행하면 최근 원격 명령 실행 이력이 그대로 나오지만, 이 사용법은 더 이상 권장하지 않습니다. alpacon exec ls로 옮겨졌고 이후 릴리스에서 제거됩니다.

더 이상 권장하지 않음: 명령 실행 이력 조회

하위 명령어 없이 alpacon event를 실행하면 최근 원격 명령 실행 이력을 최신순으로 보여주고, 이 사용법을 더 이상 권장하지 않는다는 경고도 출력합니다. 대신 alpacon exec ls를 쓰세요. 같은 플래그를 쓸 수 있고 출력도 같습니다.

bash
alpacon event [flags]

옵션 (Options)

bash
  -h, --help            event 명령어에 대한 도움말 출력
  -s, --server string   서버 이름으로 필터링
  -t, --tail int        최신순으로 표시할 명령 항목 수 (기본값 25)
  -u, --user string     요청한 사용자로 필터링

예제

bash
# 더 이상 권장하지 않음
alpacon event --tail 10 --server my-server --user admin
 
# 이렇게 쓰세요
alpacon exec ls --tail 10 --server my-server --user admin

하위 명령어

최종 수정: