system
system API, 32 endpoints (generated)
GET /api/v1/system/health
GET/api/v1/system/health
시스템 전체 진단 (전역 관리자 전용)
모든 의존 컴포넌트와 설정 위생을 한 번에 진단합니다.
Responses
| Status | Description |
|---|---|
| 200 | Successful Response (SystemHealthOut) |
GET /api/v1/system/build-cache
GET/api/v1/system/build-cache
빌드 캐시 현황 (전역 관리자 전용)
패키지 프록시 상태와 테넌트별 레이어 캐시를 한 번에 돌려줍니다.
Responses
| Status | Description |
|---|---|
| 200 | Successful Response (BuildCacheOut) |
POST /api/v1/system/build-cache/proxies/{key}/purge
POST/api/v1/system/build-cache/proxies/{key}/purge
패키지 프록시 캐시 정리
프록시의 정리 동작을 실행합니다 (전역 관리자 전용, audit).
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
key | path | string | ✓ |
Responses
| Status | Description |
|---|---|
| 200 | Successful Response (PurgeOut) |
| 422 | Validation Error (HTTPValidationError) |
DELETE /api/v1/system/build-cache/tenants/{tenant}/repositories/{name}
DELETE/api/v1/system/build-cache/tenants/{tenant}/repositories/{name}
레이어 캐시 저장소 삭제
캐시 저장소 하나의 태그와 매니페스트를 지웁니다 (전역 관리자, audit).
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
tenant | path | string | ✓ | |
name | path | string | ✓ |
Responses
| Status | Description |
|---|---|
| 200 | Successful Response (object) |
| 422 | Validation Error (HTTPValidationError) |
POST /api/v1/system/build-cache/tenants/{tenant}/sweep
POST/api/v1/system/build-cache/tenants/{tenant}/sweep
고아 blob 회수
어떤 매니페스트도 가리키지 않는 blob 을 지웁니다 (전역 관리자, audit).
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
tenant | path | string | ✓ |
Request body: application/json, SweepBody
| Field | Type | Required | Description |
|---|---|---|---|
dry_run | boolean | Dry Run |
Responses
| Status | Description |
|---|---|
| 200 | Successful Response (SweepOut) |
| 422 | Validation Error (HTTPValidationError) |
GET /api/v1/system/weights-mirror
GET/api/v1/system/weights-mirror
가중치 미러 현황 (전역 관리자 전용)
카탈로그가 아는 사전학습 가중치와 각각의 미러 상태를 돌려줍니다.
Responses
| Status | Description |
|---|---|
| 200 | Successful Response (MirrorOut) |
POST /api/v1/system/weights-mirror/{framework}/{model}/warm
POST/api/v1/system/weights-mirror/{framework}/{model}/warm
업스트림에서 미러로 받아 두기
카탈로그 가중치를 업스트림에서 받아 미러에 올립니다.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
framework | path | string | ✓ | |
model | path | string | ✓ |
Responses
| Status | Description |
|---|---|
| 202 | Successful Response (object) |
| 422 | Validation Error (HTTPValidationError) |
DELETE /api/v1/system/weights-mirror/orphans
DELETE/api/v1/system/weights-mirror/orphans
카탈로그가 가리키지 않는 객체 정리
미러에서 카탈로그가 더는 가리키지 않는 객체를 지웁니다.
Responses
| Status | Description |
|---|---|
| 200 | Successful Response (object) |
GET /api/v1/system/build-variants/{kind}
GET/api/v1/system/build-variants/{kind}
공유 빌드 변형 목록 (시스템)
공유 변형 전부와 각 변형이 나눠진 테넌트(shared_with)를 돌려줍니다.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
kind | path | string | ✓ |
Responses
| Status | Description |
|---|---|
| 200 | Successful Response (object) |
| 422 | Validation Error (HTTPValidationError) |
POST /api/v1/system/build-variants/{kind}
POST/api/v1/system/build-variants/{kind}
공유 빌드 변형 생성 (시스템)
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
kind | path | string | ✓ |
Request body: application/json, SharedVariantCreate
| Field | Type | Required | Description |
|---|---|---|---|
name | string | ✓ | Name |
tag | string | ✓ | Tag |
description | string | Description | |
build_args | object | Build Args | |
framework | string? | Framework |
Responses
| Status | Description |
|---|---|
| 201 | Successful Response (object) |
| 422 | Validation Error (HTTPValidationError) |
GET /api/v1/system/build-variants/{kind}/{variant_id}
GET/api/v1/system/build-variants/{kind}/{variant_id}
공유 빌드 변형 상세 (시스템)
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
kind | path | string | ✓ | |
variant_id | path | string | ✓ |
Responses
| Status | Description |
|---|---|
| 200 | Successful Response (object) |
| 422 | Validation Error (HTTPValidationError) |
PATCH /api/v1/system/build-variants/{kind}/{variant_id}
PATCH/api/v1/system/build-variants/{kind}/{variant_id}
공유 빌드 변형 수정 (시스템)
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
kind | path | string | ✓ | |
variant_id | path | string | ✓ |
Request body: application/json, SharedVariantUpdate
| Field | Type | Required | Description |
|---|---|---|---|
name | string? | Name | |
description | string? | Description | |
build_args | object? | Build Args | |
framework | string? | Framework |
Responses
| Status | Description |
|---|---|
| 200 | Successful Response (object) |
| 422 | Validation Error (HTTPValidationError) |
DELETE /api/v1/system/build-variants/{kind}/{variant_id}
DELETE/api/v1/system/build-variants/{kind}/{variant_id}
공유 빌드 변형 삭제 (시스템)
어느 테넌트의 기본이거나 게시 중이면 409 입니다. 공유 행도 함께 지웁니다.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
kind | path | string | ✓ | |
variant_id | path | string | ✓ |
Responses
| Status | Description |
|---|---|
| 200 | Successful Response (object) |
| 422 | Validation Error (HTTPValidationError) |
PUT /api/v1/system/build-variants/{kind}/{variant_id}/shares
PUT/api/v1/system/build-variants/{kind}/{variant_id}/shares
공유 대상 지정 (시스템)
공유 대상 목록을 통째로 바꿉니다.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
kind | path | string | ✓ | |
variant_id | path | string | ✓ |
Request body: application/json, SharesUpdate
| Field | Type | Required | Description |
|---|---|---|---|
tenants | ShareTarget[] | Tenants |
Responses
| Status | Description |
|---|---|
| 200 | Successful Response (object) |
| 422 | Validation Error (HTTPValidationError) |
POST /api/v1/system/build-variants/{kind}/{variant_id}/publish
POST/api/v1/system/build-variants/{kind}/{variant_id}/publish
공유 빌드 변형 게시 시작 (시스템)
전용 네임스페이스에서 굽고 예약 레지스트리 네임스페이스에 게시합니다.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
kind | path | string | ✓ | |
variant_id | path | string | ✓ |
Responses
| Status | Description |
|---|---|
| 202 | Successful Response (object) |
| 422 | Validation Error (HTTPValidationError) |
DELETE /api/v1/system/build-variants/{kind}/{variant_id}/publish
DELETE/api/v1/system/build-variants/{kind}/{variant_id}/publish
공유 빌드 변형 게시 중지 (시스템)
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
kind | path | string | ✓ | |
variant_id | path | string | ✓ |
Responses
| Status | Description |
|---|---|
| 200 | Successful Response (object) |
| 422 | Validation Error (HTTPValidationError) |
GET /api/v1/system/build-variants/{kind}/{variant_id}/logs
GET/api/v1/system/build-variants/{kind}/{variant_id}/logs
공유 빌드 변형 게시 로그 (시스템)
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
kind | path | string | ✓ | |
variant_id | path | string | ✓ | |
run_id | query | string? |
Responses
| Status | Description |
|---|---|
| 200 | Successful Response (object) |
| 422 | Validation Error (HTTPValidationError) |
GET /api/v1/system/build-variants/{kind}/{variant_id}/logs/raw
GET/api/v1/system/build-variants/{kind}/{variant_id}/logs/raw
공유 빌드 변형 게시 로그 전문 내려받기 (시스템)
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
kind | path | string | ✓ | |
variant_id | path | string | ✓ | |
run_id | query | string? |
Responses
| Status | Description |
|---|---|
| 200 | Successful Response (object) |
| 422 | Validation Error (HTTPValidationError) |
GET /api/v1/system/shared-variants/coverage
GET/api/v1/system/shared-variants/coverage
테넌트별 기본 변형 커버리지 (시스템)
테넌트 × (종류, 프레임워크) 마다 제출이 쓸 기본 변형을 돌려줍니다.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
tenant | query | string? | 테넌트 코드: 주면 그 테넌트 한 줄만 |
Responses
| Status | Description |
|---|---|
| 200 | Successful Response (object) |
| 422 | Validation Error (HTTPValidationError) |
GET /api/v1/system/shared-images
GET/api/v1/system/shared-images
공유 네임스페이스 이미지 목록 (시스템)
예약 네임스페이스(mlops)에 게시된 저장소 요약: 읽기 전용.
Responses
| Status | Description |
|---|---|
| 200 | Successful Response (object) |
GET /api/v1/system/users
GET/api/v1/system/users
전 사용자 목록 (시스템)
모든 사용자를 모든 테넌트의 역할과 함께 조회합니다.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
tenant | query | string? | 이 테넌트의 멤버만 | |
page | query | integer | ||
page_size | query | integer? | ||
q | query | string? | 이름 부분 일치 검색 | |
sort | query | string? | 정렬 키 | |
order | query | string | asc | desc |
Responses
| Status | Description |
|---|---|
| 200 | Successful Response (object) |
| 422 | Validation Error (HTTPValidationError) |
POST /api/v1/system/users/invite
POST/api/v1/system/users/invite
기존 사용자에게 테넌트 역할 부여 (시스템)
Request body: application/json, InviteBody
| Field | Type | Required | Description |
|---|---|---|---|
email | string | ✓ | |
tenant_code | string | ✓ | Tenant Code |
role | string | ✓ | Role |
Responses
| Status | Description |
|---|---|
| 200 | Successful Response (object) |
| 422 | Validation Error (HTTPValidationError) |
POST /api/v1/system/users/create
POST/api/v1/system/users/create
사용자 직접 생성 (시스템)
Request body: application/json, CreateUserBody
| Field | Type | Required | Description |
|---|---|---|---|
email | string (email) | ✓ | |
password | string | ✓ | Password |
tenant_code | string | ✓ | Tenant Code |
role | string | ✓ | Role |
Responses
| Status | Description |
|---|---|
| 200 | Successful Response (object) |
| 422 | Validation Error (HTTPValidationError) |
PATCH /api/v1/system/users/{user_id}/role
PATCH/api/v1/system/users/{user_id}/role
테넌트 내 사용자 역할 설정 (시스템)
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
user_id | path | string (uuid) | ✓ |
Request body: application/json, RoleAssign
| Field | Type | Required | Description |
|---|---|---|---|
tenant_code | string | ✓ | Tenant Code |
role | string | ✓ | Role |
Responses
| Status | Description |
|---|---|
| 200 | Successful Response (object) |
| 422 | Validation Error (HTTPValidationError) |
DELETE /api/v1/system/users/{user_id}/role
DELETE/api/v1/system/users/{user_id}/role
테넌트 내 사용자 역할 제거 (시스템)
전역(테넌트 없는 ADMIN) 멤버십은 이 경로로 제거할 수 없습니다(404).
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
user_id | path | string (uuid) | ✓ | |
tenant | query | string | ✓ |
Responses
| Status | Description |
|---|---|
| 200 | Successful Response (object) |
| 422 | Validation Error (HTTPValidationError) |
POST /api/v1/system/users/{user_id}/global-admin
POST/api/v1/system/users/{user_id}/global-admin
전역 관리자 지정 (시스템)
사용자를 전역(모든 테넌트) 관리자로 지정합니다. 이미 지정돼 있으면 그대로 둡니다.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
user_id | path | string (uuid) | ✓ |
Responses
| Status | Description |
|---|---|
| 200 | Successful Response (object) |
| 422 | Validation Error (HTTPValidationError) |
DELETE /api/v1/system/users/{user_id}/global-admin
DELETE/api/v1/system/users/{user_id}/global-admin
전역 관리자 해제 (시스템)
전역 관리자 멤버십을 해제합니다(테넌트 역할은 그대로).
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
user_id | path | string (uuid) | ✓ |
Responses
| Status | Description |
|---|---|
| 200 | Successful Response (object) |
| 422 | Validation Error (HTTPValidationError) |
POST /api/v1/system/users/{user_id}/disable
POST/api/v1/system/users/{user_id}/disable
사용자 비활성화 (시스템)
자기 계정은 비활성화할 수 없습니다(400). 멤버십은 그대로 남습니다.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
user_id | path | string (uuid) | ✓ |
Responses
| Status | Description |
|---|---|
| 200 | Successful Response (object) |
| 422 | Validation Error (HTTPValidationError) |
POST /api/v1/system/users/{user_id}/enable
POST/api/v1/system/users/{user_id}/enable
사용자 재활성화 (시스템)
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
user_id | path | string (uuid) | ✓ |
Responses
| Status | Description |
|---|---|
| 200 | Successful Response (object) |
| 422 | Validation Error (HTTPValidationError) |
DELETE /api/v1/system/users/{user_id}
DELETE/api/v1/system/users/{user_id}
사용자 영구 삭제 (시스템)
되돌릴 수 없습니다. 자기 계정은 삭제할 수 없습니다(400).
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
user_id | path | string (uuid) | ✓ |
Responses
| Status | Description |
|---|---|
| 200 | Successful Response (object) |
| 422 | Validation Error (HTTPValidationError) |
GET /api/v1/system/audit
GET/api/v1/system/audit
전체 감사 로그 (시스템, + CSV)
모든 테넌트와 시스템 로그를 봅니다. tenant 로 한 테넌트로 좁힐 수 있습니다.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
action | query | string? | action 접두 (예: tenant.) | |
tenant | query | string? | ||
since | query | string (date-time)? | 이 시각 이후, ISO 8601 | |
until | query | string (date-time)? | 이 시각 이전, ISO 8601 | |
actor | query | string? | 행위자 이메일·이름 일부 | |
target | query | string? | 대상 문자열 또는 대상 이메일 일부 | |
format | query | string | ||
page | query | integer | ||
page_size | query | integer? |
Responses
| Status | Description |
|---|---|
| 200 | Successful Response (object) |
| 422 | Validation Error (HTTPValidationError) |
GET /api/v1/system/audit/actions
GET/api/v1/system/audit/actions
전체 감사 로그의 action 값 목록 (시스템)
필터 선택지: 범위(tenant) 안에 실제로 있는 action 만, 이름순으로.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
tenant | query | string? |
Responses
| Status | Description |
|---|---|
| 200 | Successful Response (object) |
| 422 | Validation Error (HTTPValidationError) |