Workload qualification fixtures¶
Replicove's portable adapter uses CRDs, explicit Helm revision capture, dependency ordering, value overrides, and custom readiness checks. Workload-specific settings stay in inspectable fixture YAML. All four profiles passed source-to-guest functional checks and owned cleanup in the integrated alpha CI run at c2c5ea3; see the recorded evidence. Later commits must pass the same jobs. These small fixtures do not certify production scale.
| Fixture | Pinned upstream | Adaptation | Functional check |
|---|---|---|---|
| cert-manager | Chart v1.20.4 | Install CRDs; disable the optional startup Helm hook; use the selected namespace for leader election; small lab resource limits | Reconstructed Issuer/Certificate reaches Ready and creates a guest TLS Secret |
| Kubeflow Spark Operator | Chart 2.5.2; Spark 4.0.4 | Disable optional webhook; grant one job namespace; use a named Spark service account and a small Pi calculation | Captured SparkApplication completes through the guest operator |
| Kubernetes admission policy | Native admissionregistration.k8s.io/v1 |
Restrict the fixture to named test probes | Guest API denies the unlabelled probe and accepts the labelled one |
| Trino | Chart 1.42.2 | One coordinator with 512 MiB heap, built-in TPCH catalog, and coordinator scheduling enabled | Real Trino query returns 25 rows from tpch.tiny.nation |
Sources: cert-manager Helm instructions, cert-manager chart index, Spark Operator release, upstream Spark example, Trino chart release, and Trino chart configuration.
test/workloads/charts vendors the small, unmodified Apache-2.0 chart inputs with their licenses to avoid CDN access failures in CI. hack/fetch-workload-charts.py verifies and pins the chart archives by SHA-256 from the official chart index or GitHub release asset digest. hack/e2e-workload.sh NAME installs the source release, captures its chart/values and selected custom resources, creates a new vCluster, checks real guest behavior, and verifies owned cleanup. It preserves source resources and uploads only sanitized evidence.
These are integration correctness checks on small workloads. They do not certify production Spark/Trino scale, throughput, cloud catalogs, object-store permissions, distributed storage, or arbitrary operator versions. User-supplied Helm values and resource patches remain necessary for application-specific endpoints and credentials.