Acceso SSH+git
Se podría dar acceso para traer y enviar los cambios al repositorio git del sitio (cada sitio es un repositorio git!) usando SSH al servidor. Para controlar quién tiene acceso a cual repositorio, les usuaries tendrían que agregar llaves públicas SSH a su perfil. El archivo authorized_keys
permite correr comandos que hacen la autenticación:
git clone git@sutty.nl:sutty.nl.git
Del lado del servidor, SSH se comunica con la API del panel y obtiene las llaves públicas que tienen acceso al repositorio-sitio. Si no lo tiene se cancela el acceso y chau. Nos podemos inspirar en lo que hacen Gitlab y otros gestores de repositorios.
(Sería una oportunidad para escribir un cliente de la API en Crystal para que sea veloz)