메인 콘텐츠로 건너뛰기

인증

명령어설명
vesslctl auth login브라우저 OAuth로 로그인 (이메일/비밀번호로 폴백)
vesslctl auth logout로그아웃하고 저장된 자격 증명 삭제
vesslctl auth status현재 인증된 사용자 표시

조직 & 팀

명령어설명
vesslctl org list소속된 조직 목록 조회
vesslctl org show현재 조직의 상세 정보 표시
vesslctl org switch <name>기본 조직 전환
vesslctl org create --name <name>새 조직 생성
vesslctl team list현재 조직의 팀 목록 조회
vesslctl team show현재 팀의 상세 정보 표시
vesslctl team switch <name>기본 팀 전환
vesslctl team create --name <name>새 팀 생성

설정

명령어설명
vesslctl config show현재 CLI 설정 표시
vesslctl config set default_org <name>기본 조직 설정
vesslctl config set default_team <name>기본 팀 설정
vesslctl config set output_format <fmt>기본 출력 형식 설정 (table, json, csv)

Workspace

별칭: vesslctl ws
명령어설명
vesslctl workspace list현재 팀의 Workspace 목록 조회
vesslctl workspace show <slug>Workspace 상세 정보 및 상태 표시
vesslctl workspace create새 Workspace 생성 (아래 플래그 참조)
vesslctl workspace ssh <slug>실행 중인 Workspace에 SSH 접속
vesslctl workspace logs <slug>Workspace 로그 확인
vesslctl workspace pause <slug>Workspace 일시정지 (환경 보존)
vesslctl workspace start <slug>일시정지된 Workspace 재시작
vesslctl workspace terminate <slug>Workspace 종료 및 삭제
주요 create 플래그:
vesslctl workspace create \
  --name <name> \
  --cluster <cluster> \
  --resource-spec <spec> \
  --image <image>

Job

명령어설명
vesslctl job list현재 팀의 Job 목록 조회
vesslctl job show <slug>Job 상세 정보 및 상태 표시
vesslctl job create새 배치 잡 제출 (아래 플래그 참조)
vesslctl job logs <slug>Job 출력 로그 확인
vesslctl job export <slug>Job 설정을 JSON으로 내보내기
vesslctl job terminate <slug>실행 중인 Job 취소
vesslctl job tag attach <slug> <tag>Job에 태그 부착
vesslctl job tag detach <slug> <tag>Job에서 태그 해제
주요 create 플래그:
vesslctl job create \
  --name <name> \
  --resource-spec <spec> \
  --image <image> \
  --cmd "<command>"

클러스터 & 리소스

명령어설명
vesslctl cluster list사용 가능한 클러스터 조회
vesslctl resource-spec list리소스 스펙 조회 (GPU/CPU 설정)
vesslctl resource-spec list --cluster <slug>특정 클러스터의 스펙 조회

Storage & Volume

별칭: vesslctl vol
명령어설명
vesslctl storage listStorage 백엔드 조회
vesslctl storage show <slug>Storage 백엔드 상세 정보 표시
vesslctl storage createCluster storage 생성 (--name, --cluster, --capacity 필수)
vesslctl storage delete <slug>Storage 백엔드 삭제
vesslctl volume listVolume 조회
vesslctl volume show <slug>Volume 상세 정보 표시
vesslctl volume create --name <n> --storage <slug> --teams <team>새 Volume 생성 (--name, --storage, --teams 필수)
vesslctl volume ls <slug> --prefix /Volume 내 파일 목록 조회 (루트는 /)
vesslctl volume token <slug>Volume의 임시 S3 자격 증명 받기
vesslctl volume upload <slug> <local_path>로컬 파일을 Volume에 업로드
vesslctl volume download <slug> <local_path>Volume의 파일을 로컬에 다운로드
vesslctl volume update <slug>Volume 메타데이터 업데이트 (--name, --description, --teams 중 하나 이상)
vesslctl volume delete <slug>Volume 삭제

태그

명령어설명
vesslctl tag list현재 조직의 태그 조회
vesslctl tag create <value>태그 생성 (선택: --color "#ff0000")
vesslctl tag delete <value>값으로 태그 삭제 (또는 -s <slug>)

AI 스킬

명령어설명
vesslctl skill installAI 코딩 에이전트용 스킬 설치
vesslctl skill show번들된 스킬 내용 표시

유틸리티

명령어설명
vesslctl updatevesslctl을 최신 버전으로 업데이트
vesslctl versionvesslctl 버전 출력
vesslctl installvesslctl을 PATH 디렉토리에 설치
vesslctl completion install쉘 자동 감지 후 자동완성 스크립트 설치
vesslctl completion bash|zsh|fish쉘 자동완성 스크립트 수동 생성

주요 워크플로우

처음 설정

# 설치
curl -fsSL https://api.cloud.vessl.ai/cli/install.sh | bash

# 인증
vesslctl auth login

# 기본값 설정
vesslctl config set default_org <your-org>
vesslctl config set default_team <your-team>

# 확인
vesslctl auth status
vesslctl config show

Workspace 실행 및 접속

vesslctl workspace create \
  --name dev-box \
  --cluster <cluster-name> \
  --resource-spec <spec-name> \
  --image pytorch/pytorch:2.3.0-cuda12.1-cudnn8-devel

# `vesslctl workspace list`에서 Workspace slug(예: dev-box-abc123)를 복사해요.
vesslctl workspace show <workspace-slug>    # "running" 상태가 될 때까지 대기
vesslctl workspace ssh <workspace-slug>     # 접속
vesslctl workspace pause <workspace-slug>   # 오늘은 여기까지

배치 잡 제출

vesslctl job create \
  --name train-v2 \
  --resource-spec <spec-name> \
  --image pytorch/pytorch:2.3.0-cuda12.1-cudnn8-devel \
  --cmd "python train.py --epochs 50"

vesslctl job logs train-v2 --follow

Object storage에 데이터 업로드

# Volume 생성 (--name, --storage, --teams 필수)
vesslctl volume create --name my-dataset --storage <storage-name> --teams <team>

# `vesslctl volume list`에서 Volume slug(예: my-dataset-abc123)를 복사해요.
vesslctl volume upload <volume-slug> ./data/

# 확인
vesslctl volume ls <volume-slug> --prefix /
S3 호환 도구(DVC, aws s3 cp, 커스텀 파이프라인 등)와 연동하려면 vesslctl volume token <volume-slug>으로 임시 S3 자격 증명과 엔드포인트 URL을 받아서 쓰면 돼요.