Crear un sitio desde un repositorio remoto
Para poder desde el panel poner la URL de un repositorio hay que:
Manualmente
- Agregar la llave de Sutty en el repositorio
- Para que el panel tenga acceso
- Podríamos lograr esto creando une usuarie de Sutty con las llaves del panel al que demos/den acceso al repositorio?
- Así podríamos tener las llaves siempre actualizadas por si las tuviésemos que rotar
- Usar la rama principal por defecto o permitir elegir la rama desde la interfaz
- Configurar los webhooks con el token de le usuarie que está creando el sitio
- Le usuarie ingresa nombre/subdominio, URL y rama que quiere clonar durante la creación del sitio
- El panel se clona el repositorio, lo valida (#14379) y lo indexa
- Le usuarie puede quitar acceso al panel removiendo le usuarie Sutty de su grupo y los webhooks
Semi-automático
- Agregar un proceso de oAuth2 donde le usuarie da permiso al panel de acceder a su lista de repositorios
- Desde la lista, le usuarie elige a qué repositorios darle acceso al panel y qué ramas usar
- El panel guarda esas credenciales para tener acceso posterior, configura los webhooks necesario, clona el repositorio, indexa, etc.
- Le usuarie puede quitar acceso al panel removiendo la app oAuth2
Dudas
- Remover la aplicación también elimina los webhooks?
- Necesitamos poder negociar una aplicación con cada plataforma
- Si es así implica pasar por procesos de aprobación?
- El proceso de oAuth2 nos da credenciales para poder clonar, pullear y pushear?