You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
api: standardize sandbox_class representation across ateapi.proto (SandboxClass enum vs string) #2406
sandbox_class is currently represented inconsistently within pkg/proto/ateapipb/ateapi.proto and across the rest of Substrate:
ateapi.SandboxConfig.sandbox_class (ateapi.proto:1050) and ateom.WorkloadStatsSample.sandbox_class (ateom.proto:445) use enum SandboxClass (SANDBOX_CLASS_GVISOR, SANDBOX_CLASS_MICROVM).
ateapi.Worker.sandbox_class (ateapi.proto:2078) and atelet.SandboxAssets.sandbox_class (atelet.proto:276) use string ("gvisor", "microvm").
Kubernetes CRDs (WorkerPool, SandboxConfig in pkg/api/v1alpha1), snapshot manifests, and OpenTelemetry metrics (ate.sandbox.class) all use lowercase strings ("gvisor", "microvm").
Proposed Changes
Standardize on lowercase string ("gvisor", "microvm") everywhere:
pkg/proto/ateapipb/ateapi.proto:
Change SandboxConfig.sandbox_class from SandboxClass enum to string (validated against "gvisor" and "microvm").
Remove enum SandboxClass.
internal/proto/ateompb/ateom.proto:
Change WorkloadStatsSample.sandbox_class from SandboxClass enum to string and remove enum SandboxClass.
Callers, CLI & tests:
Remove sandboxClassString conversion helpers in cmd/ateapi/internal/controlapi/converter.go and internal/ateomstats/usage.go.
Update kubectl-ate templates/tests and e2e fixtures to use sandboxClass: gvisor / sandboxClass: microvm.
Activity
Changed SandboxClass from enum to string to allow extensibility (agen…