Registros privados
Si su imagen vive en un registro privado, la máquina que la ejecuta necesita credenciales para descargarla. Adjúntelas a la plantilla en la sección Registro privado: un usuario y una contraseña o token de acceso.
Las imágenes públicas — Docker Hub, los paquetes públicos de GHCR, la imagen base de Superheat — no necesitan nada aquí.
Agregar credenciales
| Campo | Acepta | Notas |
|---|---|---|
| Usuario | hasta 256 caracteres | La API lo devuelve como registry_user. |
| Contraseña / token | hasta 1,000 caracteres | De solo escritura. Ningún endpoint lo devuelve nunca. |
Use un token de acceso acotado en lugar de la contraseña de la cuenta siempre que el registro ofrezca uno: un token de acceso personal de GitHub con read:packages, un token de AWS ECR, un token de despliegue específico del registro.
El host del registro se deriva de la referencia de la imagen en lugar de introducirse por separado. El primer segmento de la ruta se trata como host cuando contiene un punto o dos puntos, así que ghcr.io/acme/trainer se autentica contra ghcr.io mientras que acme/trainer se autentica contra Docker Hub.
Cómo se almacena la contraseña
La contraseña se cifra antes de escribirse en la base de datos, con una clave de aplicación que se guarda como secreto de despliegue. Se descifra en un solo momento: cuando un despliegue compila su plantilla en un lanzamiento, para que el host pueda iniciar sesión y descargar la imagen.
Nunca se devuelve en una respuesta de la API, nunca se muestra en la consola y nunca se incluye en una receta compartida. Lo que la API expone en su lugar es un booleano:
{
"registry_user": "acme-ci",
"has_registry_password": true
}
El formulario de edición refleja lo mismo: el campo de contraseña muestra un marcador de posición que dice •••••• (unchanged) cuando ya hay una contraseña almacenada.
Actualizar y borrar
Al editar, un campo de contraseña vacío significa déjala como está. Para rotar una contraseña, escriba la nueva. Para eliminar las credenciales por completo, envíe registry_password: null a través de la API y borre el usuario.
Cambiar el usuario vuelve a generar el hash_id de la plantilla, porque el usuario forma parte de la receta de lanzamiento. Cambiar solo la contraseña no lo hace: el secreto almacenado queda deliberadamente fuera del dominio del hash, así que rotar un token no rompe un enlace compartido fijado.
Compartir y duplicar
registry_user forma parte de la receta y puede leerlo cualquiera que pueda leer la plantilla. Solo la contraseña está protegida. No use un usuario que sea sensible en sí mismo, y no haga pública una plantilla dando por hecho que la cuenta del registro seguirá siendo privada.
Duplicar una plantilla que no pertenece a su organización descarta de la copia tanto el usuario como la contraseña. Quien duplica nunca tuvo acceso de lectura a la contraseña, y heredar la propiedad de la copia no debe concedérselo. Complete sus propias credenciales en la copia antes de lanzarla. Duplicar una plantilla de la que ya es propietario las conserva.
Cuando falla la descarga
Una instancia cuya imagen no se puede descargar no llega a running. Compruebe, en este orden:
- Que las credenciales están en la plantilla que realmente desplegó, no en un duplicado.
- Que el token no ha caducado y tiene acceso de lectura a ese repositorio.
- Que la referencia de la imagen nombra el host del registro, para que las credenciales se envíen al lugar correcto.
- Que la etiqueta existe. Una etiqueta
[Automatic]se resuelve a una etiquetacuda-<minor>, que una imagen privada casi con seguridad no publica — fije una etiqueta real.
Los logs de la instancia llevan el error de descarga. Consulte Leer los logs.