convirtiendo de git a gitolita: ¿cambio la URL del repository?

Supongo que esto es obvio una vez que lo sabes, pero he estado tratando de asimilar cómo gitolite puede interceptar requestes de git y decidir que tal o cual usuario no puede cambiar la twig X … ya que la URL del cliente git no cambia

Al leer http://gitolite.com/gitolite/how.html#(5) , parece que gitolite hace todo su trabajo entre el sshd del server y el git deamon en el server.

¿Entonces gitolite es un set de ganchos git que se ejecutan en el server que ejecuta pre-recepción para ver si el command está permitido?

Mi otra pregunta es sobre la parte del usuario de la url git.

Nuestro server git vive en una instancia de AWS que ejecuta ubuntu y estamos accediendo a ella a través de "[email protected]:/pathToRepo" . Hemos puesto nuestra key AWS en .ssh / id_dsa en todas nuestras máquinas para satisfacer tanto la security de Git como de AWS.

Para respaldar la conversión a gitolite, estamos creando keys ssh por usuario que agregaremos a gitolite (y presumiblemente a la list de pares key de AWS) … pero, ¿seguiríamos usando el usuario ubuntu en la url git?

Consulte " ¿Cómo funcionan los progtwigs como gitolite? " Y compruebe el file ~ubuntu/.ssh/authorized_keys en el server de gitolite.

Verá que el file está configurado para llamar al script gitolite con el nombre de usuario registrado en ese file.

El usuario de ssh siempre es git (o cualquier usuario que tengas que instalar gitolite, en tu caso, supongo que es ' ubuntu ').
La parte de "interceptación" en realidad se llama command forzado ssh , lo que significa que la session ssh devuelta no es interactiva, pero siempre llamará a un script (aquí el script gitolite).

Eso significa que no deberías tener que cambiar la URL de git repo.

El nombre de la key pública que agrega a gitolite (a través del gitolite-admin en gitolite-admin/keys sirve para registrar el nombre del usuario como parámetro de la llamada de la secuencia de commands gitolite en ~ubuntu/.ssh/authorized_keys .

No es un set de ganchos git (a exception del gancho de update , ver a continuación)
Es una capa de autorización que se encuentra entre ssh y git.
En lugar de que ssh llame al command git directamente, ssh llama a la gitolite commands perl de gitolite que llama a git si el usuario está autorizado para continuar.

Puede usar gitolita para registrar ganchos especiales para repositorys: consulte " ganchos y gitolita " y ganchos .
Gitolite registrará un gancho de actualización para todos los repositorys administrados por gitolite, con el fin de gestionar los ganchos VREF .


La presentación actualizada de Gitolite por su autor tiene un esquema interesante para resumir todo el process:

Proceso de gitolita

ver http://gitolite.com/gitolite/how.html para una explicación bastante decente … (sitaram parece estar mejorando en los documentos, ¡ finalmente ha empezado a agregar imágenes, el maldito luddite!)