Skip to content

dynamic modules: SDK API does not expose extension_config values from DynamicModuleBootstrapExtension #45042

@arminabf

Description

@arminabf

Description

The current implementation of the Dynamic Modules bootstrap extension envoy.bootstrap.dynamic_modulesenvoy.extensions.bootstrap.dynamic_modules.v3.DynamicModuleBootstrapExtension does not provide any API for dynamic modules to read values from the extension_config field at runtime. This makes it impossible to pass global configuration settings into dynamic modules through the standard bootstrap extension mechanism.

Background

The DynamicModuleBootstrapExtension proto supports an extension_config field of type google.protobuf.Any, which allows operators to embed arbitrary typed configuration alongside the module declaration.

For example:

bootstrap_extensions:
  - name: envoy.bootstrap.dynamic_modules
    typed_config:
      "@type": type.googleapis.com/envoy.extensions.bootstrap.dynamic_modules.v3.DynamicModuleBootstrapExtension
      dynamic_module_config:
        name: composer
      extension_name: composer
      extension_config:
        "@type": "type.googleapis.com/google.protobuf.StringValue"
        value: myCustomValue

Problem

Despite the extension_config field being present in the proto definition and accepted by Envoy during bootstrap parsing, there is no API surface exposed to the dynamic module itself to retrieve this value at runtime.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions