Skip to content

표지 생성 요청에 인증이 없는지 확인 — GPU 잡을 여는 공개 엔드포인트 #2

Description

@minyongP

확인 요청

POST /image/api/covers가 인증 없이 호출 가능한 것으로 보입니다. front#99 가이드의 호출 예제에도 인증 헤더가 없습니다.

const response = await fetch(`${IMAGE_API}/covers`, {
  method: 'POST',
  headers: { 'Content-Type': 'application/json' },   // 인증 헤더 없음
  body: JSON.stringify({ title, keywords }),
});

pin-log.com/image는 공개 도메인에 붙어 있고, 이 엔드포인트 하나가 GPU 잡 6개를 큐에 넣습니다. 의도된 구성인지, 아니면 아직 안 붙인 것인지 알려주세요.

  • 비로그인 요청을 허용할 것인지
  • 허용한다면 rate limit 등 남용 방지가 있는지

당장 막히는 것은 없어서 백엔드·프론트 작업은 이 상태로 진행합니다. 시연 전에 판단만 한 번 받으면 됩니다.

함께 알아두실 것 — 표지 URL이 core DB에 저장됩니다

백엔드가 core.collection.cover_image_url최종본 URL(/image/files/*.webp)을 저장하기 시작했습니다(S15P11A705-322, dev 머지 완료). 파일 바이너리는 복사하지 않고 이 서비스가 서빙하는 경로를 참조만 합니다.

확인해 본 결과 현재 구성에서는 참조가 안전합니다 — /data/files가 PVC(local-path-retain)로 마운트되어 파드 재시작·재배포에도 남고, 서비스 코드에 파일 삭제 경로가 없습니다(STALE_JOB_SECONDS는 잡 회수용).

부탁드릴 것은 두 가지입니다.

  • 정리 배치를 도입하실 계획이 생기면 먼저 알려주세요. 선택된 최종본이 지워지면 저장된 표지가 깨진 링크가 됩니다. 선택되지 않은 미리보기 후보 5장은 core가 참조하지 않으니 자유롭게 정리하셔도 됩니다.
  • 볼륨이 1Gi이고 정리가 없어서 언젠가는 찹니다. 시연 규모에서는 문제없어 보이지만 알고 계시면 좋을 것 같습니다.

계약 문서는 Team-PinLog/docs의 05-1 §3, 08 §7.7에 있습니다(#49 머지 완료).

Metadata

Metadata

Assignees

Labels

questionFurther information is requested

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions