Saltar al contenido

Servidor

Fuente: github.com/tuist/tuist/tree/main/server

Para qué sirve#

El servidor impulsa las funcionalidades del lado del servidor de Tuist, como la autenticación, cuentas y proyectos, almacenamiento en caché, análisis, vistas previas, registro e integraciones (GitHub, Slack y SSO). Es una aplicación Phoenix/Elixir con Postgres y ClickHouse.

Cómo contribuir#

Las contribuciones al servidor requieren firmar el CLA (server/CLA.md).

Configuración local#

bash
cd server
mise install
# Dependencies
brew services start postgresql@16
mise run clickhouse:start
# Install dependencies + set up the database
mise run install
# Run the server
mise run dev

Abre http://localhost:8080 en tu navegador. En desarrollo, la página de inicio de sesión incluye un botón Iniciar sesión como usuario de prueba que te registra con la cuenta preconfigurada ([email protected] / tuistrocks).

Note

Los desarrolladores internos cargan los secretos de desarrollo desde 1Password mediante fnox: mise run dev envuelve el servidor en fnox exec (consulta server/fnox.toml). Los colaboradores externos no necesitan acceso a 1Password; el servidor se ejecuta localmente sin él. OAuth, Stripe y otras integraciones de terceros estarán deshabilitadas, pero la funcionalidad principal funciona.

Pruebas locales con Helm#

Puedes levantar toda la pila en tu máquina usando kind y las tareas de mise incluidas. Esto construye las imágenes de Docker localmente, crea un clúster de kind, instala el chart y redirige los puertos de todos los servicios automáticamente:

bash
# Deploy everything (builds images from source)
mise run helm:up --license "YOUR_LICENSE_KEY"
# Include the observability stack (Grafana, Prometheus, Loki, Tempo)
mise run helm:up --license "YOUR_LICENSE_KEY" --observability
# Check status
mise run helm:status
# Tear down
mise run helm:down

Requisitos previos:docker, kind, helm y kubectl.

Tests y formato#

  • Tests: mix test
  • Formato: mise run format