Compartir y duplicar
Una plantilla tiene dos identificadores, y responden preguntas distintas.
| Identificador | Forma | Cambia cuando | Responde |
|---|---|---|---|
id | un UUID | nunca | "¿de qué fila de plantilla se trata?" |
hash_id | th_ seguido de un resumen hexadecimal | cambia la receta de lanzamiento | "¿de qué receta exacta se trata?" |
id es la fila. hash_id es un hash del contenido de los campos que deciden qué se lanza realmente, así que dos plantillas con recetas idénticas obtienen igualmente hashes distintos — la identidad de la fila entra en el cálculo — mientras que una misma fila conserva su hash a lo largo de ediciones cosméticas.
Qué cubre el hash
| En el hash | Fuera del hash |
|---|---|
image, tag, repo | name, description |
launch_mode, args_str, onstart | readme, enlace |
env, ports, constraints | visibility, orden de clasificación |
jupyter_dir, use_jupyter_lab | la contraseña del registro privado |
registry_user | use_count, marcas de tiempo |
Cambie el nombre de una plantilla, reescriba su readme, pásela de privada a pública: el hash no se mueve. Cambie un puerto, una entrada de entorno, el script de inicio o la imagen: el hash se vuelve a generar en el acto.
El hash antiguo ya no pertenece a ninguna plantilla, así que un enlace fijado construido a partir de él devuelve TEMPLATE_NOT_FOUND. Después de editar la receta, vuelva a copiar el enlace fijado y a enviarlo.
Compartir
Compartir, en la tarjeta o en el detalle de una plantilla, ofrece dos enlaces.
| Enlace | Forma | Comportamiento |
|---|---|---|
| De referencia | /templates?t=<id> | Sigue a la plantilla. Quien lo reciba siempre ve sus últimas ediciones. |
| Fijado | /templates?h=<hash_id> | Nombra una receta exacta, y deja de resolverse si usted la cambia. |
Ambos abren el detalle de la plantilla en la galería de quien los recibe, desde donde puede lanzarla o duplicarla. Ninguno concede acceso por sí mismo: quien lo recibe ya debe poder ver la plantilla. Eso significa una plantilla system, una plantilla public o una plantilla que pertenezca a una organización a la que esa persona pertenezca. Enviar el enlace de una plantilla privada a alguien de fuera de su organización le devuelve un 404.
Buscar una plantilla por hash
El enlace fijado es una envoltura sobre un endpoint:
curl "$SUPERHEAT_API/v1/templates/by-hash/th_9f2c…" \
-H "Authorization: Bearer $SUPERHEAT_KEY"
Devuelve el mismo objeto que GET /v1/templates/{id}, con las mismas reglas de visibilidad y el mismo enmascaramiento de secretos, y 404 TEMPLATE_NOT_FOUND cuando el hash no coincide con nada que usted pueda ver.
Esta es la herramienta de reproducibilidad. Registre el hash_id junto a una ejecución de entrenamiento, y la búsqueda o bien devuelve la receta exacta que usó, o bien le indica que ha cambiado desde entonces — lo cual es más útil que entregarle un entorno distinto sin decir nada.
Duplicar
Duplicar es la forma de construir sobre una plantilla que no puede editar: una plantilla de sistema seleccionada, o la plantilla pública de otra organización.
curl -X POST "$SUPERHEAT_API/v1/templates/$TEMPLATE_ID/duplicate" \
-H "Authorization: Bearer $SUPERHEAT_KEY"
La copia se crea de inmediato y:
- pertenece a su organización actual, con usted registrado como su creador
- es siempre
private, fuera lo que fuera el original - se llama
<source name> (copy), o(copy 2),(copy 3)y así sucesivamente si ese nombre está ocupado - lleva un
idnuevo y unhash_idnuevo, y empieza con cero lanzamientos - copia sin cambios la imagen, el modo de lanzamiento, los argumentos, el script de inicio, los puertos y las restricciones
Dos cosas no se copian deliberadamente cuando el original no es suyo:
| No se copia | Por qué |
|---|---|
| Los valores de entorno secretos | Usted nunca tuvo acceso de lectura a ellos; los valores de la copia llegan en blanco con la marca secret intacta. |
| El usuario y la contraseña del registro privado | Por la misma razón. Vuelva a introducir sus propias credenciales en la copia. |
Duplicar una plantilla que ya pertenece a su organización conserva ambos, porque no se revela nada nuevo.
El flujo habitual
- Encuentre una plantilla seleccionada que se acerque a lo que quiere.
- Duplíquela.
- Edite la copia — cambie la etiqueta de la imagen, agregue puertos, escriba un script de inicio.
- Lánzela, confirme que funciona y luego comparta el enlace fijado con su equipo.
- Cuando cambie la receta, vuelva a compartir el enlace.
Eliminar una plantilla no afecta a las instancias ya desplegadas a partir de ella, y no invalida nada salvo la entrada de la galería y sus enlaces.