MLOps Central Platform 의 명령줄 도구 두 가지.

도구접속 대상사용자용도
geo-mlops-adminDB 에 직접 (서버가 중지된 상태에서도 가능)플랫폼 운영자계정·역할 응급 복구, DB 재구성, 가중치 미러 채우기
geo-mlops-client (./client)실행 중인 서버에 HTTP 로모든 사용자로그인, 대용량 데이터셋 업로드, API 호출 스크립트

geo-mlops-admin

앱과 같은 환경변수(GEO_MLOPS_*, 특히 GEO_MLOPS_DATABASE_URL)나 .env 를 읽음. 별도 접속 옵션 없음. 서버 저장소 루트의 ./admin 스크립트로 실행(./run geo-mlops-admin … 또는 python -m geo_mlops.admin 과 동일).

./admin --help

컨테이너로 설치했다면 앱 컨테이너 내부에서 실행(작업 디렉터리 /app).

docker compose exec app ./admin user list

user (계정)

./admin user create [email protected] --admin     # 계정 + 전역 관리자
./admin user create [email protected]               # 비밀번호를 만들어 출력
./admin user create [email protected] --password '<your-secret>'
./admin user list                                 # 계정과 역할 목록
./admin user delete [email protected] --yes         # 영구 삭제

--inactive(비활성으로 생성), --unverified(이메일 미인증으로 생성) 옵션도 제공.

admin (전역 관리자)

./admin admin grant  [email protected]
./admin admin revoke [email protected]

화면에서 사용할 수 있는 전역 관리자가 남지 않았거나 비밀번호를 알 수 없을 때 사용하는 응급 복구 수단. 비밀번호를 변경하는 명령은 없음. 로그인할 수 있는 다른 계정에 admin grant 하거나, user create <새 메일> --admin 으로 새 관리자 생성(비밀번호를 생성해 출력).

role (테넌트 역할)

./admin role grant  [email protected] DEMO OPERATOR   # 역할 부여·변경
./admin role revoke [email protected] DEMO

역할은 VIEWER, DEVELOPER, OPERATOR, APPROVER, ADMIN 중 하나.

db reset (데이터베이스 재구성)

./admin db reset --seed          # 전체 삭제 후 마이그레이션으로 재생성하고 초기 데이터 입력
  • --seed 는 재구성 뒤 부팅 시드(부트스트랩 관리자·테넌트)를 다시 생성하고, 테넌트 네임스페이스도 생성. 네임스페이스 생성을 건너뛰려면 --no-cluster 지정.
  • 서버 저장소의 ./admin-database-initialize 는 db reset --seed --yes 를 확인 없이 실행하는 스크립트. 개발 환경 전용.

seed-demo (데모 데이터)

./admin seed-demo --tenant DEMO --days 30

부트스트랩 테넌트(또는 --tenant 로 지정한 테넌트)의 모든 화면을 데모 데이터로 채움. 데이터가 이미 있으면 생략.

weights (가중치 미러)

DB 없이 오브젝트 스토리지와 카탈로그만 사용. 설치 직후 DB 가 준비되기 전에도 실행 가능.

./admin weights list                                  # 카탈로그와 미러 상태 (--framework 로 좁힘)
./admin weights warm --framework rf-detr              # 인터넷에서 내려받아 미러에 저장 (--model 로 하나만)
./admin weights warm --all
./admin weights push rf-detr-large ./rf-detr-large.pth --framework rf-detr   # 폐쇄망: 반입한 파일 업로드
./admin weights prune                                 # 카탈로그가 안 가리키는 옛 객체 삭제 (확인을 물음, --yes)

같은 작업을 화면에서 하는 방법은 가중치 미러 참고.

edge (엣지 수집 파일)

./admin edge reclaim            # 어느 행도 가리키지 않는 엣지 업로드 원본을 찾아 보고만 함
./admin edge reclaim --apply    # 찾은 것을 수집 파일로 등록

./client (사용자용 클라이언트)

geo-mlops-client 는 실행 중인 서버에 접속하는 사용자용 도구. 로그인하면 로그인 토큰(JWT)을 ~/.geo-mlops.json(소유자만 읽기 가능)에 저장하고, 이후 명령에서 재사용. 서버 저장소의 ./client 스크립트로 실행.

./client login [email protected] --base-url https://mlops.example.com --tenant DEMO
./client whoami
./client logout
  • 서버 주소는 --base-url → GEO_MLOPS_CLIENT_BASE_URL → 마지막 로그인 주소 → 기본값 http://localhost:10000 순으로 결정.
  • 테넌트는 --tenant CODE, GEO_MLOPS_CLIENT_TENANT, 또는 로그인 때 저장한 기본값 사용.
  • 토큰 파일 위치는 --config PATH 나 GEO_MLOPS_CLIENT_CONFIG 로 지정.

로그인 없이 사용하는 점검 명령.

./client meta health      # 동작 여부, 버전
./client meta readyz      # DB 연결까지 준비됐나 (문제가 있으면 종료 코드 1)
./client meta metrics     # Prometheus 지표 원문

그 밖의 API 는 <그룹> <동작> 으로 호출(tenants, experiments, models, datasets, settings 등). ./client <그룹> --help 는 동작 목록 출력.

./client models list
./client datasets upload-archive <데이터셋 ID> ~/corpus --chunk-size 64M
./client training-weights upload my-ckpt ./best.pt --framework yolo --model yolo26n

2026-10-02 기준 플랫폼으로 작성

© MLOps Central Platform