runlot
참조API

커스텀 도메인

hostnames 묶음의 오퍼레이션 4 개입니다.

메서드경로하는 일
GET/v1/orgs/{orgSlug}/projects/{projectName}/hostnames프로젝트에 붙은 도메인 목록 (runlot domain list)
POST/v1/orgs/{orgSlug}/projects/{projectName}/hostnames커스텀 도메인을 건다 (runlot domain add)
DELETE/v1/orgs/{orgSlug}/projects/{projectName}/hostnames/{host}커스텀 도메인을 뗀다 (runlot domain rm)
POST/v1/orgs/{orgSlug}/projects/{projectName}/hostnames/{host}/verify지금 확인한다 (runlot domain verify)

GET /v1/orgs/{orgSlug}/projects/{projectName}/hostnames

기본 호스트네임(kind: default) 과 커스텀 도메인(kind: custom) 이 함께 온다. 커스텀 행에는 안내 레코드(verify) 와 상태가 실린다 (docs/domains.md §3.2). viewer 이상.

operationId listHostnames

응답본문
200목록HostnameList
403
404

POST /v1/orgs/{orgSlug}/projects/{projectName}/hostnames

이름은 소문자·punycode 로 정규화해 저장한다. 와일드카드와 우리 도메인(*.runlot.app·*.runlot.dev·앱 도메인) 아래 이름은 받지 않는다.

행은 pending_dns 로 만들어지고 그 순간부터 이름을 잡는다 — 검증 중에도 다른 프로젝트가 같은 이름을 가져가지 못한다. 연결되기 전까지는 라우팅에 실리지 않아서 그 이름으로 오는 요청은 404 unknown_hostname 이다.

같은 프로젝트가 같은 이름을 다시 보내면 있던 행이 그대로 온다 (멱등) — 토큰이 바뀌면 이미 넣어 둔 TXT 가 그 순간 틀린 값이 된다. member 이상. 감사 hostname.add.

operationId addHostname

본문 application/json · object

응답본문
200만들어졌거나 이미 있던 행Hostname
400이름 모양이 아니거나(bad_request), 와일드카드거나, 우리 도메인 아래다Error
403
404
409다른 프로젝트가 이미 쥔 이름이다. codehostname_takenError

DELETE /v1/orgs/{orgSlug}/projects/{projectName}/hostnames/{host}

Cloudflare 의 custom hostname 과 우리 존의 관리 레코드를 함께 거둔다. 기본 호스트네임은 거절한다 (400) — 그것은 배포가 정하는 주소라, 여기서 지우면 다음 배포까지 프로젝트에 닿을 길이 없다. member 이상. 감사 hostname.delete.

operationId deleteHostname

응답본문
204뗐다
400기본 호스트네임이다Error
403
404

POST /v1/orgs/{orgSlug}/projects/{projectName}/hostnames/{host}/verify

배경 작업(1 분 주기) 과 같은 판정을 즉시 부른다. 소유는 셋 중 하나로 통과한다: 그 이름이 우리 존 안이고 org 가 같거나, _runlot-verify.<host> TXT 가 맞거나, <host> 의 CNAME 이 fallback origin 을 가리킨다.

소유 증명 없이 active 가 되는 길은 없다. 통과하지 못하면 상태는 그대로이고 lastError 에 지금 무엇이 보이는지가 담긴다. member 이상.

operationId verifyHostname

응답본문
200확인 뒤의 행Hostname
403
404

이 페이지에서