cli-anything-tigris은(는) 무엇을 하나요?
Tigris 객체 스토리지를 위한 무상태 명령줄 인터페이스입니다. 공식 tigris CLI를 래핑하여 모든 Tigris 기본 요소(스냅샷, IAM, 범위 자격 증명, OAuth)를 --json 플래그와 함께 단일 에이전트 친화적 진입점으로 제공합니다.
범위
이 래퍼는 공식 Tigris CLI 전용입니다. tigris 바이너리를 셸 호출하며 tigris login 또는 Tigris 액세스 키를 통한 Tigris 인증을 가정합니다. 범용 S3 엔드포인트 도구가 아니며 MinIO, Cloudflare R2, AWS S3 또는 기타 S3 호환 엔드포인트를 관리하지 않습니다.
설치
# 1. 기본 Tigris CLI 설치
npm install -g @tigrisdata/cli
# 또는:
brew install tigrisdata/tap/tigris
# 2. 인증 (브라우저 OAuth)
tigris login
# 3. 이 래퍼 설치
pip install cli-anything-tigris
전제 조건:
- Python 3.10+
- PATH에
tigrisCLI (바이너리 별칭은t3)
사용법
기본 명령
# 도움말 표시
cli-anything-tigris --help
# 대화형 REPL 시작
cli-anything-tigris
# Whoami (에이전트용 JSON 출력)
cli-anything-tigris --json auth whoami
# 버킷 목록
cli-anything-tigris --json bucket list
# 로컬 파일 업로드
cli-anything-tigris --json object put --bucket my-bucket --key path/to/file.txt --file ./local.txt
# 객체 다운로드
cli-anything-tigris --json object get --bucket my-bucket --key path/to/file.txt --output ./out.txt
# 서버 측 복사
cli-anything-tigris --json object cp t3://my-bucket/src.txt t3://my-bucket/dst.txt
# 스냅샷 생성
cli-anything-tigris --json snapshot take my-bucket --name baseline-v1
# 버킷 삭제; --yes 필수
cli-anything-tigris --json bucket delete --name old-bucket --yes
# 에이전트 실행을 위한 범위 액세스 키 생성
cli-anything-tigris --json access-key create my-agent-key
cli-anything-tigris --json access-key assign tid_AaBb --bucket my-bucket --role Editor
# 액세스 키 갱신 또는 삭제; --yes 필수
cli-anything-tigris --json access-key rotate tid_AaBb --yes
cli-anything-tigris --json access-key delete tid_AaBb --yes
# Presigned 다운로드 URL (1시간)
cli-anything-tigris --json presign get --bucket my-bucket --key path/to/file.txt --expires 3600
REPL 모드
하위 명령 없이 호출하면 CLI는 탭 완성 및 기록이 있는 대화형 REPL로 진입합니다.
명령 그룹
auth
OAuth 기반 인증.
| 명령 | 설명 |
|---|---|
login | 브라우저 OAuth 로그인 (tigris login) |
logout | 현재 세션 로그아웃 |
whoami | 인증된 사용자/조직 출력 |
bucket
버킷 CRUD.
| 명령 | 설명 |
|---|---|
list | 모든 버킷 나열 |
create --name NAME | 버킷 생성 |
delete --name NAME --yes | 빈 버킷 삭제 (--yes 필수) |
info NAME | 버킷 정보 가져오기 |
object
객체 작업 (tigris ls/cp/rm/stat 래핑).
| 명령 | 설명 |
|---|---|
list --bucket B [--prefix P] [--limit N] | 객체 나열 |
put --bucket B --key K (--file F | --text T) | 객체 업로드 |
get --bucket B --key K --output F | 객체 다운로드 |
delete --bucket B --key K | 객체 삭제 |
info --bucket B --key K | 객체 메타데이터 (HEAD / stat) |
cp SRC DST [-r] | 복사. t3:// 또는 tigris:// URI 허용 |
presign
시간 제한 URL.
| 명령 | 설명 |
|---|---|
get --bucket B --key K [--expires SEC] | Presigned 다운로드 URL |
put --bucket B --key K [--expires SEC] | Presigned 업로드 URL |
snapshot
시점 버킷 스냅샷 - Tigris特有 기본 요소.
| 명령 | 설명 |
|---|---|
list BUCKET | 버킷의 스냅샷 목록 |
take BUCKET [--name N] | 스냅샷 생성 |
access-key
범위가 지정된 프로그래밍 방식 자격 증명 - 에이전트별 격리를 위해 스냅샷과 결합.
| 명령 | 설명 |
|---|---|
list | 모든 액세스 키 나열 |
create NAME | 새 액세스 키 생성 (비밀은 한 번만 표시됨) |
get KEY_ID | 키 세부 정보 표시 |
delete KEY_ID --yes | 키 영구 삭제 (--yes 필수) |
assign KEY_ID --bucket B --role R | 키를 버킷 + 역할로 범위 지정 |
rotate KEY_ID --yes | 키의 비밀 갱신 (--yes 필수) |
iam
정책 및 조직 사용자.
| 명령 | 설명 |
|---|---|
policy list | IAM 정책 나열 |
policy create NAME --document FILE | JSON 파일에서 정책 생성 |
user list | 조직 사용자 나열 |
user invite EMAIL [--role R] | 사용자 초대 |
출력 형식
모든 명령은 두 가지 출력 모드를 지원합니다:
- 사람이 읽을 수 있는 형식 (기본값): 테이블, 색상, 서식 있는 텍스트
- 기계가 읽을 수 있는 형식 (
--json): JSON 봉투 (또는 업스트림 CLI의--format json출력을 그대로 에코)
AI 에이전트용
이 CLI를 프로그래밍 방식으로 사용하는 경우:
- 항상
--json을 전달하여 파싱 가능한 출력을 얻으십시오. - 반환 코드를 확인하십시오. 0은 성공, 0이 아닌 값은 오류입니다.
- 오류 메시지는 stderr를 읽으십시오.
object cp는t3://bucket/key또는tigris://bucket/keyURI를 허용합니다. 서버 측 복사 (t3 → t3)는 왕복을 완전히 생략합니다.presign은 사람이 읽을 수 있는 모드에서 URL을 stdout에 반환합니다. JSON 모드에서는url필드입니다.- 파괴적 작업의 경우: 버킷 삭제, 액세스 키 삭제 및 액세스 키 갱신은 명시적인
--yes가 필요합니다. 대상 버킷의snapshot을 먼저 생성한 다음 작업을 수행하고, 그 후 스냅샷을 유지하거나 폐기하십시오. - 에이전트별 격리를 위해:
access-key create+access-key assign --bucket B --role Editor를 사용하여 하나의 버킷으로 범위가 지정된 키를 발급하고, 에이전트 실행이 종료되면access-key delete로 철회하십시오.
Tigris를 선택해야 하는 이유
- 전 세계적으로 분산됨. 데이터가 읽히는 위치에 가깝게 배치됩니다.
- 송신 요금 없음. 어디서든 아티팩트를 가져오는 에이전트가 리전별 대역폭 비용을 부담하지 않습니다.
- 스냅샷 + 범위 자격 증명. 일반 S3 호환 제공자가 제공하지 않는 기본 요소 - 에이전트별 격리의 기반.
- S3 호환 가능. S3 인식 도구와 함께 유용하지만, 이 래퍼 자체는 일반 S3/MinIO/R2/AWS 엔드포인트 관리자가 아닙니다.
버전
1.0.0