Tests Y Matriz¶
productive-k3s-profiles ahora es dueño de un runner raíz de tests de contenido.
Ese runner valida los profiles y scenarios públicos contra una versión elegida del engine productive-k3s-infra, sin mover la responsabilidad de runtime fuera del repositorio de Infra.
Superficies de validación¶
Ahora hay tres capas prácticas de validación:
- validación raíz de contenido en este repositorio
- targets
makelocales dentro descenarios/... - validación de packaging y catálogo en
productive-k3s-ops
Validación raíz de contenido¶
Usá la raíz del repositorio cuando quieras validar el árbol fuente público en sí:
make test-static PROFILE=multipass-1-server-2-agents
make test-contract PROFILE=aws-single-node-basic INFRA_VERSION=0.9.62-0.9.4
make test-live PROFILE=on-prem-basic INFRA_VERSION=0.9.62-0.9.4
make test-matrix
Suites soportadas:
static: validación de forma y chequeos source-levelcontract: checks de compatibilidad contra el contrato del engine de Infralive: ejecución real del scenario contra una versión elegida del engine de Infra
Notas:
test-matrixcorre sólostatic + contracttest-liveestá pensado para validación manual antes del push- si omites
INFRA_VERSION, el runner resuelve la última release publicada deproductive-k3s-infra - si seteas
PRODUCTIVE_K3S_INFRA_REPO_DIR, el runner usa ese checkout local de Infra en vez de clonar una release
Por qué el runner delega en Infra¶
Los scenarios públicos siguen siendo contenido fuente. No son un engine de runtime autónomo.
Por eso el runner raíz de este repo delega intencionalmente la ejecución en productive-k3s-infra, porque el harness de Infra sigue siendo dueño de:
- la preparación del checkout temporal del scenario
- el overlay compartido de
ansible/,scripts/ytests/ - los manifests de ejecución y los summaries de matriz
Eso mantiene limpia la frontera de responsabilidades:
productive-k3s-profilesvalida contenido públicoproductive-k3s-infravalida compatibilidad del engine
Validación local por scenario¶
Los targets locales de cada scenario siguen siendo útiles durante el authoring, por ejemplo:
make -C scenarios/local/multipass validate
make -C scenarios/edge/onprem-basic validate
make -C scenarios/cloud/aws-single-node infra-up
Esos targets pertenecen al Makefile de cada scenario y siguen siendo source-oriented.
Validación de packaging y release¶
Los artefactos publicados profile.tgz se construyen fuera de este repositorio mediante productive-k3s-ops.
Eso significa que cuestiones de packaging como:
- layout del paquete
- metadata del catálogo
- disponibilidad del artefacto publicado
pertenecen a productive-k3s-ops, no acá.
Modelo de CI¶
El contrato de CI default esperado para este repositorio es:
- correr
make test-matrix - dejar
livecomo validación manual, salvo que un maintainer quiera ejecutarla explícitamente
Eso da confianza estructural rápida en cada cambio sin obligar a correr Multipass o validaciones de runtime dependientes de cloud en cada pull request.
Notas¶
Note
productive-k3s-infra todavía necesita su propia lane de compatibilidad que clone este repositorio y demuestre que cambios del engine no rompen profiles públicos.