Validación remota live¶
pk3s ahora tiene una capa chica de validación live enfocada en el flujo público remoto.
El objetivo es acotado: probar que el CLI puede resolver bundles remotos publicados, aceptar tanto una URL de profile remota como un .env local generado, y ejecutar de punta a punta el release correspondiente de productive-k3s-infra.
Entry points¶
Usá el target agregado:
O corré un único validador:
Escenarios cubiertos¶
multipass¶
El validador:
- fuerza
PRODUCTIVE_K3S_SOURCE=remote - valida la URL publicada del profile de Multipass con
pk3s profile validate - corre
pk3s plan - corre
pk3s apply - corre
pk3s status - corre
pk3s destroy
Esto es la prueba más directa, a nivel CLI, de que el bundle remoto publicado de Infra sirve para el profile integrado de Multipass.
onprem-basic¶
El validador es deliberadamente externo al escenario:
- crea dos VMs efímeras con Multipass
- espera a que SSH esté disponible
- genera un
.envtemporal deonprem-basic - fuerza
PRODUCTIVE_K3S_SOURCE=remote - corre
pk3s profile validate - corre
pk3s plan - corre
pk3s apply - corre
pk3s status - corre
pk3s validate - elimina las VMs efímeras
Esto valida el camino del CLI para un profile de estilo remoto sin tocar el host local.
Artefactos¶
Cada ejecución live escribe:
- un manifest por escenario bajo
test-artifacts/cli-live-runs/ - un log por escenario bajo
test-artifacts/cli-live-runs/ - un summary raíz bajo
test-artifacts/<run-id>-summary.json - una copia de conveniencia en
test-artifacts/live-summary.json
Los manifests incluyen:
- nombre del escenario
- resultado pass/skip/fail
- timestamps y duración
- topología esperada
- path del binario del CLI
- versiones configuradas de los bundles Core e Infra
Notas¶
- Estos validadores están separados intencionalmente de
test-static. - También requieren un toolchain local funcional de
Go, porquemake test-live-remotecompilapk3santes de correr las validaciones live. - Requieren dependencias reales como
multipass,ssh,curl,tarypython3. onprem-basicno usapk3s destroy, porque ese escenario no expone un contrato público de destroy. La limpieza se hace borrando las VMs temporales.- Usá
make test-checkstatuspara inspeccionar los artifacts del CLI. - Usá
make test-cleanpara borrar el estado local de artifacts del CLI.