05/Documentation
명령어
모든 collie 동사, PATH에 collie 추가하기, Herdr로 관리되는 설치 환경에서 해당 동사와 일치하는 Herdr 동작
모든 동사는 collie <verb> 형식을 사용합니다. 이는 모든 설치 환경에서 표준 구문이며 바이너리(cli/)에 직접 구현되어 있습니다. PATH(아래)에 collie를 추가하기 전에 저장소 루트에서 bin/collie <verb>를 실행하십시오. Herdr로 관리되는 설치 환경에서는 동일한 동작을 수행하는 Herdr 액션(아래)으로 이 동사들이 등록됩니다.
호스트에서 여러 인스턴스를 실행하는 경우 모든 동사 앞에 COLLIE_INSTANCE=<name>을 붙입니다. 단일 호스트에서의 다중 Collie 인스턴스을 참조하십시오.
| 동사 | 명령어 | 기능 |
|---|---|---|
| 시작 | collie start | 필요시 빌드하고 서빙하며 URL을 출력합니다 |
| 중지 | collie stop | 브리지를 일시 중지합니다. 아무것도 제거하지 않습니다 |
| 재시작 | collie restart | 중지 후 시작합니다 |
| 상태 | collie status | Collie가 실행 중입니다 배너 + URL |
| URL | collie url | tailnet URL을 출력합니다 |
| QR | collie qr | 스캔 가능한 코드 형태의 동일한 URL입니다 |
| 버전 | collie version | 실행 중인 버전(0.x.y+sha) |
| 업데이트 | collie update | 현재 메이저의 최신 릴리스를 스테이징하고, 해당 버전으로 전환하며, 재시작 후 검증합니다(--check은 사전 점검 실행, --status은 보고서 출력, --major은 메이저 버전 전환). |
| 롤백 | collie update --rollback | 이전 버전으로 되돌립니다(스테이징된 버전이 없는 Herdr 관리 체크아웃 제외). |
| 제거 | collie uninstall | 서비스를 제거합니다. .env 및 설치 상태는 유지합니다 |
| 페어링 | collie pair | 10분간 유효한 8자리 코드와 QR 코드를 출력합니다. QR 코드를 스캔하여 코드가 입력된 상태로 Settings → Paired devices를 열거나, 수동으로 코드를 입력하여 페어링됨을(를) 가져옵니다. |
| 기기 | collie devices list · collie devices revoke <label> | 페어링된 기기 목록 표시 / 해제 |
| 링크 | collie link · collie unlink | PATH에 collie 추가 (아래) |
| 로그 | collie logs | 저널 / 로그 파일 실시간 확인 |
| 음성 | collie stt setup · stt test · stt status · stt off | 음성 입력 구성 / 확인 / 비활성화 |
| 푸시 키 | collie push-keys | .env에 VAPID 키 쌍 생성 |
| 푸시 테스트 | collie push-test | 작동 확인을 위한 테스트 알림 1건 전송 |
CLI에는 자주 사용되지 않는 작업을 위한 build, serve, unserve, doctor, pack …도 포함되어 있습니다.
start과(와) status은(는) 모두 Collie가 실행 중입니다 배너를 출력합니다. 상태 표시 및 버전이 표시된 다음 service, local, tailnet 줄이 차례로 표시됩니다. 최초 실행은(는) 상태 검사 실패 시 대신 출력되는 내용을 포함하여 전체를 보여줍니다. 보고되는 버전은 제공되는 번들 스탬프에서 읽어오며 활성 빌드를 반영합니다.
Ink 또는 일반 텍스트. start, status, doctor, pack add, pack status 명령은 stdout이 TTY일 때 대화형 터미널 UI를 렌더링합니다. --plain를 전달하거나 출력을 파이프, 파일, systemd 저널, CI 러너로 리디렉션하면 기본 텍스트 라인 출력으로 대체됩니다.
PATH에 collie 추가
collie link를 실행하여 ~/.local/bin/collie를 게시합니다.
bin/collie link # ~/.local/bin/collie → <checkout>/bin/collie
collie status # from anywhere
bin/collie unlink # take the name back down체크아웃 바이너리로의 심볼릭 링크를 생성하므로 이후의 collie build 업데이트가 추가 단계 없이 즉시 적용됩니다 (ADR 0021). 이 명령은 다른 Collie 체크아웃의 기존 링크를 대체하고 덮어쓴 링크를 출력합니다. 해당 경로에 있는 Collie 이외의 파일은 덮어쓰기를 거부합니다. unlink는 심볼릭 링크가 사용자의 현재 체크아웃을 가리키는 경우에만 이를 제거합니다.
PATH에 ~/.local/bin가 없으면 link가 경고를 표시하고 종료합니다. 셸 프로필은 수정하지 않습니다. collie doctor를 실행하여 path-link 줄을 확인하고 기본 collie 명령이 어떤 체크아웃으로 확인되는지 볼 수 있습니다.
Herdr 작업
herdr plugin install AltanS/collie 또는 herdr plugin link로 생성된 Herdr로 관리되는 설치에만 적용됩니다.. Herdr는 Collie가 지원하는 3개의 멀티플렉서 중 하나입니다. 이 동작들은 어댑터에 직접 매핑됩니다. 각 동작은 위의 표에 설명된 동일한 collie 바이너리로 동사를 전달합니다. scripts/install.sh를 통해 생성된 바이너리 설치에서는 플러그인 동작이 존재하지 않으며 collie <verb> 구문만 사용할 수 있습니다.
Collie는 이러한 동작을 herdr-plugin.toml에 등록합니다. herdr plugin action invoke <id> --plugin herdr.collie로 호출하거나 herdr plugin action list --plugin herdr.collie로 확인할 수 있습니다.
<id> | 해당 동사 | 기능 |
|---|---|---|
start | collie start | 필요한 경우 빌드, 서비스 시작, tailscale serve, URL + 배너 출력 |
stop | collie stop | 브리지를 일시 중지합니다. 아무것도 제거하지 않습니다 |
restart | collie restart | stop + start |
status | collie status | Collie가 실행 중입니다 배너: 준비 상태 ✓/⚠, 버전, URL |
url | collie url | tailnet URL을 출력합니다 |
version | collie version | 실행 중인 버전을 출력합니다 (0.x.y+sha) |
update | collie update | 체크아웃 갱신(pull 또는 fetch + re-detach) + 재빌드 + 재시작 |
uninstall | collie uninstall | 서비스를 중단합니다 (.env 및 체크아웃 유지) |
push-keys | collie push-keys | 서비스가 읽는 .env에 VAPID 키 쌍을 작성합니다 |
push-test | collie push-test | 구독된 모든 기기에 알림 하나를 푸시합니다 |
qr, pair, devices, link, logs, stt 항목은 터미널, 위치 인자 또는 둘 다 필요하므로 해당하는 플러그인 액션이 없습니다. collie <verb>(으)로 실행하십시오.
Herdr 액션은 터미널 배너 대신 Herdr의 JSON 봉투를 반환합니다. herdr plugin log list --plugin herdr.collie 명령으로 액션의 캡처된 stdout을 확인하거나, collie <verb> 명령을 직접 실행하여 출력을 인라인으로 출력하십시오. herdr plugin list --json의 출력은 활성 버전이 아닌 plugin link 중에 캐시된 버전을 반영합니다. 연결된 복제본의 경우, update 실행 시 캐시를 수정하기 위해 자동으로 다시 연결합니다. herdr plugin link "$(pwd)" 명령으로 이를 강제할 수 있습니다. Herdr ≥0.8.0은 호출할 때마다 디스크에서 매니페스트를 다시 읽습니다.
참고.scripts/collie-ctl.sh <verb>은(는) 계속 지원됩니다. 부트스트랩 shim으로 작동합니다. Bun을 찾고 체크아웃에bin/collie이(가) 없으면 컴파일한 뒤 argv를 전달합니다. 새로 연결된 클론은 이 경로를 사용하여 초기 바이너리를 빌드합니다. Herdr <0.8.0은 설치 시 캐시된 액션 정의(ADR 0006)를 고정하므로 Herdr 액션은 이 스크립트를 계속 가리킵니다. 각 동사는cli/의 컴파일된 바이너리 내부에 한 번 구현됩니다.