Skip to content

Adding API doc change to specify ext_authz/ext_proc ignores keep_empty_value API#45353

Open
yanjunxiang-google wants to merge 4 commits into
envoyproxy:mainfrom
yanjunxiang-google:ext_authz_api
Open

Adding API doc change to specify ext_authz/ext_proc ignores keep_empty_value API#45353
yanjunxiang-google wants to merge 4 commits into
envoyproxy:mainfrom
yanjunxiang-google:ext_authz_api

Conversation

@yanjunxiang-google
Copy link
Copy Markdown
Contributor

Addressing: #45003

Please check: #45003 (comment) for details of this change.

keep_empty_value

Signed-off-by: Yanjun Xiang <yanjunxiang@google.com>
@repokitteh-read-only
Copy link
Copy Markdown

CC @envoyproxy/api-shepherds: Your approval is needed for changes made to (api/envoy/|docs/root/api-docs/).
envoyproxy/api-shepherds assignee is @markdroth
CC @envoyproxy/api-watchers: FYI only for changes made to (api/envoy/|docs/root/api-docs/).

🐱

Caused by: #45353 was opened by yanjunxiang-google.

see: more, trace.

@yanjunxiang-google
Copy link
Copy Markdown
Contributor Author

@yanjunxiang-google
Copy link
Copy Markdown
Contributor Author

/retest

Signed-off-by: Yanjun Xiang <yanjunxiang@google.com>
@yanjunxiang-google
Copy link
Copy Markdown
Contributor Author

/retest

Copy link
Copy Markdown
Member

@ggreenway ggreenway left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

/wait-any


// Is the header value allowed to be empty? If false (default), custom headers with empty values are dropped,
// otherwise they are added.
// .. note::
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There are similar comments in api/envoy/service/auth/v3/external_auth.proto for field append. Should this doc comment go in that file instead for consistency, and better locality to the problem usage?

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Agreed, this would be better to document this where this type is used (in the ext_authz and ext_proc protos) instead of here where the type is defined.

Stepping back a bit, it's also worth asking why we have different users of this type behaving differently to begin with. If there is a common proto for a commonly used type, shouldn't there also be a single implementation of reading and writing that type that can be used anywhere the type is used, so that we don't have inconsistent behavior to begin with? (This question doesn't need to block this PR, but it is something we should probably think about going forward.)

Copy link
Copy Markdown
Contributor Author

@yanjunxiang-google yanjunxiang-google Jun 1, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Stepping back a bit, it's also worth asking why we have different users of this type behaving differently to begin with

The type is added afterwards. Initially, ext_authz and router filter have different behavior for empty string in header value, with ext_authz accept it, and router_filter skip it. This type is added to control the behavior for router_filter without considering the ext_authz/ext_proc default behaviors. As this type is added as a boolean, it is very challenging to have an implementation backward compatible to both ext_authz and router_filter. If it had been a google.protobuf.BoolValue, it will be easier.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There are similar comments in api/envoy/service/auth/v3/external_auth.proto for field append. Should this doc comment go in that file instead for consistency, and better locality to the problem usage?

I added some comments in ext_authz and ext_proc proto files. I would like to also add these comments here similar to line 474 - 477.

@markdroth
Copy link
Copy Markdown
Contributor

/wait

Signed-off-by: Yanjun Xiang <yanjunxiang@google.com>
Signed-off-by: Yanjun Xiang <yanjunxiang@google.com>
@yanjunxiang-google
Copy link
Copy Markdown
Contributor Author

/coverage

@repokitteh-read-only
Copy link
Copy Markdown

Coverage for this Pull Request will be rendered here:

https://storage.googleapis.com/envoy-cncf-pr/45353/coverage/index.html

For comparison, current coverage on main branch is here:

https://storage.googleapis.com/envoy-cncf-postsubmit/main/coverage/index.html

The coverage results are (re-)rendered each time the CI Envoy/Checks (coverage) job completes.

🐱

Caused by: a #45353 (comment) was created by @yanjunxiang-google.

see: more, trace.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants