Originally (in ABI v0.1.0), we had the proxy_validate_configuration callback that was supposed to be used by control planes to validate configuration outside of the Proxy-Wasm host environment.
But nobody was using it at the time, and Istio plugins were expecting full host environment and access to callouts during the configuration phase, so we dropped it from ABI v0.2.x... It also required code duplication between configuration validation and production callbacks.
However, there are valid use cases where we could use proper configuration validation:
- configuration parsing (syntax, format, etc.) without any runtime processing (see: proxy-wasm/spec#35),
- canary VMs verifying runtime permissions and features, but potentially without any actions mutating state... not sure if the latter is really important (somehow related: proxy-wasm/proxy-wasm-rust-sdk#205).
Perhaps overloading on_configure callback with short-circuit when testing=true / parsing=true would make this more workable in practice?
cc @mpwarres @leonm1
Originally (in ABI v0.1.0), we had the proxy_validate_configuration callback that was supposed to be used by control planes to validate configuration outside of the Proxy-Wasm host environment.
But nobody was using it at the time, and Istio plugins were expecting full host environment and access to callouts during the configuration phase, so we dropped it from ABI v0.2.x... It also required code duplication between configuration validation and production callbacks.
However, there are valid use cases where we could use proper configuration validation:
Perhaps overloading
on_configurecallback with short-circuit whentesting=true/parsing=truewould make this more workable in practice?cc @mpwarres @leonm1