프로젝트 소개
fingerjoin은 Kubernetes에서 WebFinger 집계 프록시 역할을 하여 Mastodon과 같은 여러 fediverse 애플리케이션이 단일 도메인을 공유할 수 있도록 합니다. 이 서비스는 '/.well-known/webfinger'로 들어오는 요청을 처리하며, 'fingerjoin.naktis.eu/webfinger: "true"' 주석이 달린 Gateway API HTTPRoute 리소스를 통해 식별된 모든 등록된 백엔드로 쿼리를 전달하고, 그들의 JSON Resource Descriptor (JRD) 응답을 병합합니다. 백엔드 서비스는 HTTPRoute backendRefs를 사용하여 클러스터 내 FQDN으로 해석됩니다. 요청은 동시에 전송되며(최대 10개 진행 중, 5초 타임아웃), 응답 본문은 256 KiB로 제한됩니다. 병합 시에는 우선순위가 높은 백엔드가 우선시됩니다. 첫 번째 subject가 유지되고, 속성은 키당 첫 번째 값이 사용되며, 별칭(aliases)은 결합 및 중복 제거되고, 링크는 (rel, href) 기준으로 중복 제거됩니다. 또한 RFC 7033 상태 코드를 준수합니다: 200(최소 하나 성공), 404(모든 백엔드에서 알 수 없음), 410(리소스가 영구적으로 사라짐), 502(성공 없이 백엔드 실패), 503(등록된 백엔드 없음). 추가 엔드포인트로는 '/healthz'(liveness)와 '/readyz'(readiness)가 포함됩니다. Helm 차트를 통해 배포되며, HTTPRoute 리소스를 감시하기 위한 클러스터 전체 권한이 필요합니다.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.