-
Notifications
You must be signed in to change notification settings - Fork 77
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[DONE] Utilisation de l'adresse pod.localhost
pour le développement
#1134
Conversation
pod.localhost
pour le développementpod.localhost
pour le développement
En l'état, la PR ne passe pas les tests :
|
64f1458
to
7ccdebe
Compare
C'est corrigé. |
ok pour moi. Merci ! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ok pour moi, ne faudrait-il pas faire la même chose pour les autres containers comme elasticsearch ou redis ?
Je ne voulais pas proposer de trop nombreuses modifications d'un coup, mais c'est possible. J'essaie de faire ça aujourd'hui ou demain. |
This replaces the 'pod-back' hostname in the docker network, and 'localhost' elsewhere. This way the same hostname is used inside and outside docker, this avoids confusions while developing.
C'est bon. Il faudra penser à mettre à jour son fichier |
Merci, tout est mergé |
…EsupPortail#1134) * chore: use pod.localhost in the dev env This replaces the 'pod-back' hostname in the docker network, and 'localhost' elsewhere. This way the same hostname is used inside and outside docker, this avoids confusions while developing. * refactor: use .localhost domains for elasticserach and redis
#1125 proposait d'uniformiser les ports utilisés à l'intérieur et hors des conteneurs dockers, cette PR propose la même chose pour le nom de domaine.
motivations
La raison pour laquelle je propose ce changement est encore liée à #1058. L'implémentation d'Activitypub délègue certaines tâches à celery, et ces tâches ont besoin parfois de construire des URL absolues. Étant dans un contexte celery, on ne peut accéder à un objet request pour en récupérer le domaine, alors on doit se fier aux objets Site de Django.
Or, pour le moment
Site
est initialisé pourlocalhost
:Esup-Pod/pod/main/fixtures/initial_data.json
Lines 2 to 9 in cb5f0d5
En conséquence, dans l'environnement docker on construit des URL absolues sont la forme
http://localhost:8000/...
que l'on transfère à d'autres instances sur le réseau dans le cadre d'activitypub. Hors évidemment, lorsque les autres conteneurs tentent de joindrelocalhost:8000
ils essaient de se joindre eux même plutôt que l'instance Pod.En plus de ça, Peertube rejette pour la fédération les noms de domaines sans TLD, comme
localhost
. Pour faire des tests de fédération avec Peertube dans un environnement docker, on a donc besoin d'utiliser un autre domaine.proposition
Je vous propose d'utiliser
pod.localhost
comme adresse de développement, en remplacement de l'adressepod-back
qui était utilisée dans l'environnement docker, etlocalhost
hors de docker.compatibilité
Le serveur de développement serait donc disponible à l'adresse http://pod.localhost:8000.
Les sous-domaines de localhost sont supportés par la majorité des distributions linux sans configuration particulière (voir les explications) et j'ai pu tester sur au moins Ubuntu, Debian et Archlinux.
Pour les utilisateurs de MacOS cependant, il sera nécessaire d'ajouter la ligne suivante dans
/etc/hosts
pour pouvoir accéder à l'adresse pod.localhostdevelop
branch.[WIP]
or[DONE]
.