À propos du projet
fingerjoin sert de proxy d'agrégation WebFinger dans Kubernetes, permettant à plusieurs applications fediverse (par exemple, Mastodon) de partager un domaine unique. Il gère les requêtes vers '/.well-known/webfinger' en redirigeant les requêtes vers tous les backends enregistrés — identifiés via des ressources Gateway API HTTPRoute annotées avec 'fingerjoin.naktis.eu/webfinger: "true"' — et fusionne leurs réponses JSON Resource Descriptor (JRD). Les services backend sont résolus en FQDN intra-cluster via les backendRefs de l'HTTPRoute. Les requêtes sont envoyées simultanément (maximum 10 en cours, délai d'expiration de 5 secondes), avec des corps de réponse limités à 256 KiB. La fusion priorise les backends de priorité supérieure : le premier sujet est conservé, les propriétés utilisent la première valeur par clé, les alias sont combinés et dédupliqués, et les liens sont dédupliqués par (rel, href). Il respecte les codes d'état de la RFC 7033 : 200 (au moins un succès), 404 (tous les backends inconnus), 410 (ressource définitivement disparue), 502 (échec du backend sans succès) et 503 (aucun backend enregistré). Des points de terminaison supplémentaires incluent '/healthz' (liveness) et '/readyz' (readiness). Déployé via un Helm chart, il nécessite des permissions à l'échelle du cluster pour surveiller les ressources HTTPRoute.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.