요약
이 도메인은 ZUZUNZA 플랫폼의 백엔드 API 게이트웨이입니다. Supabase 자가호스팅 스택(Auth · PostgREST · Storage · Realtime · Postgres-Meta)을 Kong 위에서 단일 엔드포인트로 묶어 제공합니다.
Basehttps://api.zuzunza.com
Schemapublic · storage · auth · graphql_public · dyllisc
AuthHS256 JWT (apikey + Authorization)
주요 엔드포인트
GET
/rest/v1/<table>PostgREST. 테이블/뷰를 REST 자동 노출. RLS가 적용된다.
ANY
/auth/v1/*GoTrue. 가입·로그인·OAuth·세션·복구 등 인증 전반.
ANY
/storage/v1/*Supabase Storage. 버킷·객체 업로드/다운로드 (백엔드 S3 = MinIO).
ANY
/realtime/v1/*Realtime. Postgres 논리 복제 기반 실시간 채널 (WebSocket).
ANY
/pg/*postgres-meta. 스키마·테이블·정책 메타데이터.
GET
/storage/v1/object/public/<bucket>/<key>공개 객체 직링크 (RLS · public policy 적용 버킷 한정).
인증 헤더
모든 요청은 다음 두 헤더 중 최소 하나가 필요합니다.
| 헤더 | 설명 |
|---|---|
apikey: <ANON_KEY> | 익명 클라이언트. RLS의 anon 역할로 동작. |
Authorization: Bearer <JWT> | 로그인된 사용자/서비스. authenticated 또는 service_role. |
service_role JWT는 서버에서만 사용하세요. RLS를 우회하므로 브라우저에 노출하면 안 됩니다.
빠른 예제
1) 테이블 SELECT (PostgREST)
# anon 키로 공개 테이블 읽기 curl -s "https://api.zuzunza.com/rest/v1/games?select=id,title&limit=5" \ -H "apikey: $ANON_KEY" \ -H "Authorization: Bearer $ANON_KEY"
2) 회원가입 (Auth)
curl -s "https://api.zuzunza.com/auth/v1/signup" \ -H "apikey: $ANON_KEY" \ -H "Content-Type: application/json" \ -d '{ "email":"[email protected]", "password":"********" }'
3) 공개 객체 다운로드 (Storage)
# 공개 버킷의 객체는 인증 없이도 접근 가능 (정책 의존) curl -sI "https://api.zuzunza.com/storage/v1/object/public/zuzunza/logo_m.png"
4) JS 클라이언트 (supabase-js)
import { createClient } from "@supabase/supabase-js"; const supabase = createClient( "https://api.zuzunza.com", process.env.NEXT_PUBLIC_SUPABASE_ANON_KEY! ); const { data, error } = await supabase .from("games") .select("id,title") .limit(5);
스택
| 컴포넌트 | 버전 | 역할 |
|---|---|---|
| Kong | 3.9.1 | API gateway · key-auth · cors |
| PostgreSQL | 18.4 (custom) | pgsodium · pg_net · pgvector · pg_cron · supabase_vault |
| PostgREST | v14.8 | 테이블 REST 자동 노출 |
| GoTrue (Auth) | v2.186.0 | JWT 발급 · OAuth · 이메일 |
| Storage API | v1.48.26 | 객체 · S3 백엔드(MinIO) |
| Realtime | v2.76.5 | WebSocket 실시간 채널 |
| postgres-meta | v0.96.3 | 스키마 메타 |
| imgproxy | v3.30.1 | 이미지 변환 |
| MinIO | RELEASE.2025-04-22 | S3 호환 오브젝트 스토리지 |
| MeiliSearch | v1.10 | 검색 인덱스 |
참고
- 공식 Supabase 문서: supabase.com/docs
- PostgREST: postgrest.org/en/v14
- MinIO 클라이언트: min.io/docs/minio