Skip to content

Commit

Permalink
Clarify limitations of Prop Override extension
Browse files Browse the repository at this point in the history
Explicitly document the limitations of the extension, particularly what
kind of fields it is capable of modifying.
  • Loading branch information
zalimeni committed Jun 16, 2023
1 parent 37636ea commit 6946170
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -134,7 +134,7 @@ Specifies where the extension performs the associated operation on the specified

The `Path` field does not support addressing array elements or protobuf map field entries. Refer to [Constructing paths](/consul/docs/connect/proxies/envoy-extensions/usage/property-override#constructing-paths) for information about how to construct paths.

When setting fields, the extension sets any unset intermediate fields to their default values. A a single operation on a nested field can set multiple intermediate fields. Because Consul sets the intermediate fields to their default values, you may need to configure subsequent patches to satisfy Envoy or Consul validation.
When setting fields, the extension sets any unset intermediate fields to their default values. A single operation on a nested field can set multiple intermediate fields. Because Consul sets the intermediate fields to their default values, you may need to configure subsequent patches to satisfy Envoy or Consul validation.

#### Values

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,13 @@ description: Learn how to use the property-override extension for Envoy proxies

This topic describes how to use the `property-override` extension to set and remove individual properties for the Envoy resources Consul generates. The extension uses the [protoreflect](https://pkg.go.dev/google.golang.org/protobuf/reflect/protoreflect), which enables Consul to dynamically manipulate messages.

The extension currently supports setting scalar and enum fields, removing individual fields addressable by `Path`, and initializing unset intermediate message fields indicated in `Path`.

It currently does _not_ support the following use cases:
- Updating, removing, or inserting repeated field members
- Updating [protobuf `map`](https://protobuf.dev/programming-guides/proto3/#maps) fields
- Updating or creating [protobuf `Any`](https://protobuf.dev/programming-guides/proto3/#any) fields

## Workflow

- Complete the following steps to use the `property-override` extension:
Expand Down

0 comments on commit 6946170

Please sign in to comment.