Live Remote Validation¶
pk3s now has a small live validation layer focused on the public remote workflow.
The goal is narrow: prove that the CLI can resolve published remote bundles, accept either a remote profile URL or a generated local .env, and drive the corresponding productive-k3s-infra release end to end.
Entry points¶
Use the aggregate target:
Or run a single validator:
Covered scenarios¶
multipass¶
The validator:
- forces
PRODUCTIVE_K3S_SOURCE=remote - validates the published Multipass profile URL through
pk3s profile validate - runs
pk3s plan - runs
pk3s apply - runs
pk3s status - runs
pk3s destroy
This is the closest CLI-level proof that the remote published Infra bundle is usable for the built-in Multipass profile.
onprem-basic¶
The validator is intentionally external to the scenario:
- create two ephemeral Multipass VMs
- wait for SSH reachability
- generate a temporary
onprem-basic.env - force
PRODUCTIVE_K3S_SOURCE=remote - run
pk3s profile validate - run
pk3s plan - run
pk3s apply - run
pk3s status - run
pk3s validate - delete the ephemeral VMs
This validates the CLI path for a remote-style profile without touching the local host.
Artifacts¶
Every live invocation writes:
- one manifest per scenario under
test-artifacts/cli-live-runs/ - one log per scenario under
test-artifacts/cli-live-runs/ - one root summary under
test-artifacts/<run-id>-summary.json - one convenience copy at
test-artifacts/live-summary.json
The manifests include:
- scenario name
- pass/skip/fail result
- timestamps and duration
- expected topology
- CLI binary path
- configured Core and Infra bundle versions
Notes¶
- These validators are intentionally separate from
test-static. - They also require a working local
Gotoolchain becausemake test-live-remotebuildspk3sbefore running the live validators. - They require real dependencies such as
multipass,ssh,curl,tar, andpython3. onprem-basicdoes not usepk3s destroy, because that scenario does not expose a public destroy contract. Cleanup is done by deleting the temporary VMs.- Use
make test-checkstatusto inspect recorded CLI artifacts. - Use
make test-cleanto remove local CLI test artifact state.