Despliegue serverless
Apps que escalan solas — del marketplace al runtime.
En Deploy, los desarrolladores ejecutan sus propias apps en eQuantic Cloud como servicios serverless que escalan automáticamente, incluso a cero cuando están inactivos.
Crear un servicio
El asistente es un marketplace por categoría. La categoría Custom (predeterminada) cubre cuatro orígenes:
| Origen | Qué hace |
|---|---|
| Repositorio Git | Detectamos el stack, generamos el Dockerfile y descubrimos puerto y variables — auto-detect. |
| Dockerfile | Build a partir de un Dockerfile en el repositorio. |
| Docker Compose | Levanta múltiples servicios desde un compose.yml. |
| Imagen Docker | Usa una imagen lista de un registry. |
Las demás categorías traen ~40 servicios open-source listos (Postgres, Redis, RabbitMQ, MinIO, Grafana, n8n, Metabase, Keycloak, WordPress…), cada uno con su propio formulario de instalación.
Operar el servicio
- Visión general con gráficos de CPU/memoria y origen/build.
- Deployments con stream de build en vivo y rollback.
- Escala y recursos — disparadores de escala (KEDA), scale-to-zero, rango de instancias y CPU/memoria editables en cualquier momento — redimensionar un servicio en marcha lo hace avanzar con la nueva porción, sin recrearlo.
- Health check — apunta la plataforma al endpoint de probe de tu propia app, y sobrescribe el command/args del contenedor cuando los valores por defecto de la imagen no son los tuyos.
- Consola interactiva (drawer), logs de runtime en vivo, variables y dominios (TLS automático).
wwwen cualquier dominio propio — un interruptor por dominio, que redirigewww.ejemplo.comaejemplo.comcon un 301 (el valor por defecto, y lo que quieren los buscadores: dos hosts sirviendo contenido idéntico son dos URLs canónicas para la misma página) o sirve ambos. Apuntar un CNAME dewwwaquí no basta: el DNS resuelve el nombre, y quién responde — y para qué host se emite el certificado — se decide después, a partir de la petición. El dominio tiene que reclamar elwwwpara que la plataforma lo enrute y le emita TLS.- La dirección propia del servicio — en la pestaña Dominios, elige el nombre en el que el servicio responde bajo el dominio de la plataforma:
cura-accounts.apps.equantic.spaceen lugar del generadocura-accounts-e49f09.apps.equantic.space. La dirección generada sigue funcionando, con un 301 a la elegida que conserva la ruta y la query, así que un enlace ya compartido no se rompe. Un nombre es de quien lo pide primero en toda la plataforma, y uno que se deja queda libre para cualquiera al instante. Cada dirección de la pestaña tiene un botón para copiarla. - Configuración avanzada (EXPERT) — overrides de recursos/probes e inspección del manifiesto generado.
Los ajustes avanzados del asistente ofrecen los mismos mandos al crear el servicio: los recursos y el rango de instancias elegidos ahí son con los que arranca el primer despliegue.
Los Pull Requests abiertos también pueden tener entornos de preview efímeros, que se despliegan como servicios normales y se destruyen automáticamente al hacer merge o cerrar el PR — consulta Repositorios y CI/CD.
De dónde salió la versión
La pestaña Resumen del servicio dice qué versión está corriendo y, cuando la imagen es nuestra, de dónde vino: la ejecución de pipeline que la publicó, el commit detrás de esa ejecución y el repositorio. La pantalla de la ejecución responde lo mismo por el otro extremo, con una franja Desplegada en que nombra cada entorno donde corren sus imágenes.
El vínculo se registra, nunca se adivina. Un job que publica con el token que la plataforma ya inyecta queda atribuido a esa ejecución:
- run: docker login registry.equantic.space -u eqs -p $EQS_TOKEN - run: docker push registry.equantic.space/acme/api:${{ github.sha }}
Una imagen traída de un registry que no es nuestro no tiene procedencia, y la pantalla lo dice en lugar de mostrar un panel vacío.
Alcanzar un servicio desde otro
La cadena de conexión de un servicio lo nombra entero — postgres.p-1a2b3c-production.svc.cluster.local — y no solo postgres. El nombre corto resuelve únicamente dentro del Space al que pertenece, y un Space es un namespace de Kubernetes: una app en otro Space que recibió el nombre corto funcionó hasta que algo la reinició, y entonces ya no resolvía su propia base de datos.
Copia la conexión desde el panel Conectar del servicio (o eqs db url <servicio>) y funciona desde cualquier parte del workspace.