config_load_check_tool should validate file-based dynamic resources (CDS, LDS, RDS)
- Dominant language
- C++
- Stars
- 28.9k
- Forks
- 5.6k
- Avg merge
- 1d 22h
- Merged PRs (30d)
- 430
Description
*Title*: *Support file-base dynamic resource validation inside the config_load_check_tool*
*Description*:
> The config_load_check_tool currently only validates the bootstrap configuration and checks that file paths exist for dynamic resources, but does not validate the actual content of file-based dynamic resource configurations (CDS, LDS, RDS). This leaves a gap in configuration validation where invalid dynamic resources can only be caught at runtime.
*Current Behavior*
> When validating a bootstrap configuration with file-based dynamic resources:
```yaml
dynamic_resources:
cds_config:
resource_api_version: V3
path_config_source:
path: /etc/envoy/cluster.yaml
lds_config:
resource_api_version: V3
path_config_source:
path: /etc/envoy/listener.yaml
```
> This tool will:
> - Validate the bootstrap configuration structure
> - Check that /etc/envoy/cluster.yaml and /etc/envoy/listener.yaml exist
> - NOT validate the content of these files
> - NOT validate RDS configurations referenced by listeners
> This means configuration errors in dynamic resource files are only discovered when Envoy starts and attempts to load them.
*Expected Behavior*:
> The config_load_check_tool should:
> - Load and validate file-based CDS configurations
> - Load and validate file-based LDS configurations
> - Extract RDS references from listeners and validate those files
Would you prefer this as an enhancement to the existing tool or a separate validation mode?
Contributor guide
Assessment
This issue has not been assessed yet.