프로젝트
프로젝트 카테고리에서 API 작업 5개를 다룹니다.
| 메서드 | 경로 | 설명 |
|---|---|---|
| GET | /v1/orgs/{orgSlug}/projects | — |
| POST | /v1/orgs/{orgSlug}/projects | 프로젝트를 생성합니다 |
| GET | /v1/orgs/{orgSlug}/projects/{projectName} | — |
| DELETE | /v1/orgs/{orgSlug}/projects/{projectName} | 프로젝트 삭제 (runlot project delete) |
| GET | /v1/orgs/{orgSlug}/projects/{projectName}/overview | 프로젝트 개요(대시보드 홈) |
GET /v1/orgs/{orgSlug}/projects
operationId listProjects
| 상태 코드 | 설명 | 응답 본문 |
|---|---|---|
| 200 | 조직의 프로젝트 | object |
| 403 | — | — |
| 404 | — | — |
POST /v1/orgs/{orgSlug}/projects
프로젝트를 생성하면 호스트네임도 발급됩니다. 할당은 아직 생성되지 않습니다 — 최초 배포 시점에 생성됩니다. 코드가 없는 프로젝트에 노드를 할당하면 제공할 것이 없는 프로세스가 시작됩니다.
프로젝트 개수 한도는 여기서 집행됩니다 (docs/limits.md §2). 조직 행을 잠그고 개수를 세므로 동시 생성이 한도를 초과할 수 없습니다.
operationId createProject
요청 본문: application/json · object
| 상태 코드 | 설명 | 응답 본문 |
|---|---|---|
| 201 | 생성된 프로젝트 | Project |
| 403 | — | — |
| 409 | 이름이 이미 사용 중이거나(project_name_taken, hostname_taken), 플랜의 프로젝트 한도를 초과했습니다(project_limit). project_limit의 details는 {limit, count, plan}입니다 — 메시지에서 정규식으로 숫자를 파싱하면 문구가 다듬어지는 날 조용히 깨집니다. 재시도해도 결과가 바뀌지 않으므로 409입니다(403은 권한을 의미하고, 429는 대기 후 재시도하면 성공함을 의미합니다). | Error |
GET /v1/orgs/{orgSlug}/projects/{projectName}
operationId getProject
| 상태 코드 | 설명 | 응답 본문 |
|---|---|---|
| 200 | 프로젝트 | ProjectDetail |
| 403 | — | — |
| 404 | — | — |
DELETE /v1/orgs/{orgSlug}/projects/{projectName}
admin 이상의 권한이 필요합니다. 이 작업은 되돌릴 수 없으며 복구용 세대를 남기지 않습니다. 돌아갈 프로젝트가 없으므로 삭제 이전 세대는 아무도 사용할 수 없는 블롭이 됩니다. 필요한 데이터는 먼저 runlot pg export로 내보내세요.
confirm 필드에는 정확한 프로젝트 이름을 입력해야 합니다. 서버는 org 삭제와 같은 이유로 이를 검사합니다 — 대시보드, CLI, 스크립트라는 세 호출자가 이 표면을 사용합니다.
해체는 순서대로 진행됩니다: 라우팅, 그다음 진행 중인 요청과 커밋, 그다음 노드 데이터와 오브젝트 스토리지, 그다음 git 저장소와 백업, 마지막으로 메타데이터입니다. 202는 시작되었음을 의미합니다. 완료 여부는 GET /v1/orgs/{orgSlug}/operations/{opId}로 확인하세요.
operationId deleteProject
요청 본문: application/json · object
| 상태 코드 | 설명 | 응답 본문 |
|---|---|---|
| 202 | 해체 작업 시작됨 | OperationStarted |
| 400 | — | — |
| 403 | — | — |
| 404 | — | — |
| 409 | 다른 작업 진행 중 (op_in_flight) | Error |
GET /v1/orgs/{orgSlug}/projects/{projectName}/overview
프로젝트를 열 때 개요 화면이 한 번의 호출로 가져오는 것입니다 — 현재 서비스 중인 배포와 업로드한 사람, 최근 배포 몇 건, 데이터베이스의 최근 백업, 선언된 리소스의 프로비저닝 여부, 이 프로젝트의 최근 알림입니다. 이는 "지금 상태가 어떤가"에 대한 답이며 이력이 아닙니다 — 이력은 탭에서 모두 확인할 수 있습니다.
사용량은 여기에 없습니다. cp-core가 일정 기간에 걸쳐 계산하므로 getUsage를 함께 호출하세요 — 하나의 응답에 묶으면 cp-core가 느린 날 개요 전체가 그만큼 더 오래 기다리게 됩니다. viewer 이상.
operationId getProjectOverview
| 상태 코드 | 설명 | 응답 본문 |
|---|---|---|
| 200 | 개요 | ProjectOverview |
| 403 | — | — |
| 404 | — | — |