앱 템플릿 및 리믹스
가용성
템플릿 manifest and app-record workflow is implemented. 운영자가 선별한 매니페스트를 나열하고, 하나에서 새 앱 레코드를 생성하고, 환경 저장소가 구성될 때 비밀이 아닌 환경 값을 시드하고, 적격 앱에서 깨끗한 리믹스 레코드를 생성할 수 있습니다.
인스턴스화는 앱을 배포하지 않습니다. 선언된 데이터베이스, 버킷 및 인증 서비스는 자동으로 프로비저닝되지 않습니다. 일부 선언된 서비스는 그 자체로 스텁 전용이므로 매니페스트 선언은 종속성이 존재한다는 증거가 아닙니다.
매니페스트 찾아보기
GET /api/apps/templates?category=web&q=next
GET /api/apps/templates/{template_id}갤러리는 공개적으로 읽혀집니다. 매니페스트는 소스 Git URL, 분기, 런타임 기본값, 환경 변수 스키마 및 선언된 서비스를 설명합니다. 인스턴스화하기 전에 리포지토리, 현재 버전, 라이센스, 유지 관리 상태 및 런타임 명령을 검토하세요. 매니페스트는 보안 보증이 아닌 운영자 메타데이터입니다.
두 개의 기본 제공 시드 매니페스트가 API를 비어 있지 않게 만듭니다. 외부 저장소는 변경되거나 사라질 수 있으며 아직 모든 시드에 대한 자동화된 연기 테스트는 없습니다.
인스턴스화
POST /api/apps/templates/{template_id}/instantiate
Content-Type: application/json
{
"name": "My app",
"env": {
"NEXT_PUBLIC_APP_NAME": "My app"
}
}호출은 비공개 앱 기록을 생성하고 해당 레코드의 app_id, 소스 정보, 런타임 유형 및 선언된 서비스를 반환합니다. 매니페스트에서 선언된 키만 허용됩니다. 이 호출에서는 비밀 필드가 시드되지 않습니다.
인스턴스화 후:
- 새 앱의 소스 및 런타임 설정을 검사합니다.
- 앱 환경 변수를 통해 비밀을 제공합니다.
- 서비스가 명시적으로 준비되었다고 보고되지 않는 한 실제 외부 종속성을 직접 제공합니다.
- 배포 엔드포인트를 호출합니다. 그리고
- 빌드, 상태 확인, 활성화를 통해 배포를 따릅니다.
리믹스
POST /api/apps/{source_app_id}/remix
Content-Type: application/json
{
"name": "My private remix"
}소유자는 자신의 앱을 리믹스할 수 있습니다. 다른 사용자는 공개 앱이자 리믹스 가능으로 표시된 앱만 리믹스할 수 있습니다. 새 앱은 비공개입니다.
리믹스에는 소스 URL, 분기, 배포 유형, 포트 및 계보가 포함됩니다. 환경 값, 비밀, 데이터베이스 또는 버킷 참조, 인증 바인딩, 체크포인트, IDE 상태 또는 데이터를 의도적으로 복사합니다. 또한 원격 Git 저장소를 포크하거나 고정하지 않습니다. 나중에 소스 소유자가 해당 리포지토리를 변경하거나 제거하면 새 배포가 달라지거나 실패할 수 있습니다.
내구성 있는 리믹스를 위해 소스를 제어하는 저장소에 포크하고, 개정판을 검토 및 고정하고, 새 앱의 소스를 업데이트한 다음 배포하세요.
템플릿 게시 체크리스트
템플릿을 사용 가능한 것으로 제시하기 전에:
- 저장소와 라이센스를 확인합니다.
- 테스트된 개정판을 고정하거나 기록합니다.
- 설치, 빌드, 실행, 포트 및 상태 동작을 검증합니다.
- 비밀을 노출하지 않고 필수 환경 필드를 테스트합니다.
- 선언된 모든 서비스가 실제로 사용 가능한지 확인합니다. 그리고
- 깨끗한 환경에서 인스턴스화, 배포, 연기 테스트 및 제거를 수행합니다.