Bonsoir,
Pour le contexte, j’utilise GitHub Packages pour héberger des dépôts Maven — j’ai déjà donné le fait de gérer ça à la main et très peu pour moi merci, tellement il ne semble pas y avoir de solution simple pour les projets qui ne demandent pas d’authentification (open source).
Mais ! Justement, là est le problème, si GitHub Package fait très bien le boulot, en s’intégrant très bien avec GitHub Actions pour construire automatiquement tout ce beau monde, il y a un problème qui le rend très peu pratique à utiliser : actuellement, les requêtes pour récupérer les ressources doivent être authentifiées (même pour les paquets publics !). Compréhensible pour un projet privé ; inutile et casse pieds pour un paquet open source.
D’où ma question. J’aimerais pouvoir mettre en place un proxy qu’on puisse contacter sans authentification, et qui puisse transmette la requête authentifiée (avec un jeton d’accès de GitHub que j’aurais généré et qui ne permettrait que l’accès aux paquets) à GitHub, qui répondrait à mon proxy, qui répondrait à l’utilisateur initial. De cette façon, on aurait le meilleur des deux mondes : pas besoin de s’authentifier mais on profite de l’hébergement de de GH Packages.
On aurait donc quelque chose dans cet esprit.
Utilisateur
|
|
| Non-authentifié
|
|
v
https://maven.example.org/<repo>
|
|
| Authentifié avec un PAT
|
|
v
https://maven.pkg.github.com/mon-orga/<repo>
Est-ce qu’il est possible de faire ceci avec uniquement nginx ? Faire un proxy de ce genre en Python ou autres serait simple, mais si je peux éviter de faire tourner un service juste pour ça, c’est d’autant mieux, ayant déjà un serveur nginx actif. Je n’ai pas trouvé quelque chose qui puisse me convenir, mais j’ai peur de ne pas utiliser de bons termes de recherche.
Une idée ?
P.-S. — Le but n’est pas de faire un proxy ouvert vers tout GitHub Packages : s’ils l’ont mis sous authentification, et même s’ils annoncent qu’ils travaillent à la lever, c’est pour une bonne raison. Il ne s’agirait d’avoir un proxy que vers mon organisation et pas le reste — proxy me permettant aussi de ne pas dépendre des URLs de GitHub Packages, ce qui permet de changer plus facilement de fournisseur.