Referencia de la opción: agentengine agente validate, agentengine compilar.
Público: usuarios de CLI que ejecutan agentengine agent validate o agentengine build.
La CLI ejecuta las mismas comprobaciones del registro de artefactos de índice declarado que la validación de inicio de compilar de ECP, localmente y antes de la carga del fichero.
Comandos
Comando | Validación estricta | Advertencias secretas |
|---|---|---|
| Cuando | Una vez iniciada la sesión (en la medida de lo posible); |
| Igual, antes | Siempre que el cliente esté disponible; no bloqueante |
| Mismo | Carga primero los secretos declarados del entorno — ver a continuación |
Ambos comandos leen archivos de herramientas del mismo directorio que ``agente.yaml``.
¿Qué se valida?
Siempre (esquema — agentconfig.Validate)
artifact_repositoriesforma de entrada:name,type,secret,scope,auth,npm_scope
Cuando artifact_repositories no está vacío (entre archivos)
Declarado
name(o npmnpm_scope) debe existir en las herramientas del proyecto.La entrada de herramientas correspondiente debe tener una URL de registro HTTPS.
Las URL en las herramientas y los archivos de bloqueo cargados se escanean en busca de host no seguros para SSRF.
Modelo de inclusión voluntaria (no errores)
No
artifact_repositoriesbloque → no hay recuperación entre archivos.URLs HTTPS privadas en
uv.lock/package-lock.jsonque no están declaradas → se aprueban sin credenciales de plataforma.Las URL no seguras para SSRF en herramientas o archivos de bloqueo cargados siguen fallando con
INVALID_REGISTRY_URLcuandoartifact_repositoriesno está vacío.
Advertencias secretas (en linea)
Refleja las reglas de ámbito de ECP para la búsqueda de secretos. En la CLI, son advertencias a menos que agentengine agent validate --strict (salida 1). ECP inicio de compilar trata un secreto faltante como un fallo grave (MISSING_BUILD_SECRET antes de CodeBuild).
Código | CLI validate | Inicio de compilar de ECP | Significado |
|---|---|---|---|
| Advertencia; | Fallo duro | No hay secreto de ASM en el alcance declarado |
| Advertencia; | Fallo duro | El secreto existe en el otro ámbito |
| Advertencia; | N/A (CLI necesita | Entrada con alcance de espacio de trabajo, pero sin contexto de espacio de trabajo |
| Advertencia; | Fallo grave (no reintentable); se reintenta cuando es transitorio | La lista de secretos en linea no se pudo verificar |
Errores graves entre archivos
Estos fallan agentengine agent validate, agentengine build (antes de la carga) y la comprobación cruzada de inicio de compilar de ECP cuando artifact_repositories no está vacío:
Código | Significado | Qué hacer |
|---|---|---|
| Declarado | Alinear |
| El nombre coincide, pero la herramienta no tiene una URL HTTPS | Agregar |
| URL no HTTPS, credenciales incrustadas o host bloqueado | Utilice |
Las URL HTTPS privadas no declaradas en los archivos de bloqueo se aprueban sin credenciales de plataforma (modelo de suscripción voluntaria). Las URL no seguras para SSRF en herramientas o archivos de bloqueo cargados siguen fallando con INVALID_REGISTRY_URL cuando artifact_repositories no está vacío. Los tutoriales de configurar, la actualización de tokens de CI, la precarga de webhooks y la migración desde wheels/ de proveedor se encuentran en agent-yaml.md.
Ejemplos
Índice declarado válido (Python)
agent.yaml:
language: pythonrequired_secrets:artifact_repositories: - name: corps-pypi type: pypi secret: ARTIFACT_REPO_CORPS_PYPI_TOKENpyproject.toml debe contener un nombre de [[tool.uv.index]] coincidente y HTTPS url.
agentengine agent validate# ✓ ./agent.yaml valid (egress rules: 0, atlas clusters: 0, artifact repositories: 1)Nombre declarado desconocido
agentengine agent validate# ✗ ./agent.yaml: artifact registry: UNKNOWN_INDEX_NAME: declared name "missing-index" not found in project tooling# exit 1URL del archivo de bloqueo no declarado (pasa)
Un agente con paquetes privados en uv.lock pero **ningún** artifact_repositories bloque sale de 0 — solo autenticación gestionada por el cliente.
modo estricto
agentengine agent validate --strict# Any artifact-registry secret warning (or secret-list failure) becomes exit 1.Subir secretos declarados antes de compilar
agentengine build --upload-build-secrets es una conveniencia de aceptación para tokens de registro de corta duración. Lee cada artifact_repositories[].secret de la variable de entorno del mismo nombre y lo PUT en el ámbito declarado antes de que se cree compilar. Nunca lee una variable de entorno que agent.yaml no declara.
export ARTIFACT_REPO_CORPS_PYPI_TOKEN="$(aws codeartifact get-authorization-token \ --domain my-domain --query authorizationToken --output text)"agentengine build --upload-build-secrets# ✓ uploaded project secret ARTIFACT_REPO_CORPS_PYPI_TOKEN (version 3)Sin el indicador, establezca las credenciales una vez con agentengine secret set <NAME>; el indicador existe para los tokens que caducan entre compilar.
Comportamiento | Detalle |
|---|---|
Alcance | Por entrada, desde |
Ordenando | Se ejecuta antes de la creación de compilar — ECP resuelve los secretos declarados en ASM ARNs dentro de compilar-start y hace que falle compilar si falta uno |
deduplicación | El mismo secreto en el mismo ámbito y Proyecto se carga una vez, incluyendo en diferentes |
Missing / empty env var | Falla antes de la carga o compilar de ese agente, enumerando todos los nombres infractores a la vez. Con |
Reservado o nombre inválido | Rechazado localmente ( |
Autorización | El alcance del proyecto necesita |
Validación | El |
| Subido por espacio de trabajo; un fallo afecta solo a ese espacio de trabajo |
Los valores secretos nunca aparecen en stdout, registro o texto de error — una carga fallida se borra a través de la misma ruta agentengine secret set que.
Docs relacionados
artifact_repositoriesreferencia de campo y configurar: agent-yaml.md