-
Notifications
You must be signed in to change notification settings - Fork 112
RFC0055 Identity-Aware Routing #535
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
rkoster
wants to merge
69
commits into
develop
Choose a base branch
from
feature/app-to-app-mtls-routing
base: develop
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from 64 commits
Commits
Show all changes
69 commits
Select commit
Hold shift + click to select a range
ec66336
Add per-domain mTLS configuration support to GoRouter config
rkoster ea1e38f
Implement per-domain TLS configuration via GetConfigForClient
rkoster 0eaed38
Make clientcert handler domain-aware
rkoster 2cd1169
Add BOSH configuration support for mTLS domains
rkoster 340cc75
Add AllowedSources support for mTLS authorization (Phase 1b partial)
rkoster 3e05993
Copy AllowedSourceAppGUIDs in NewEndpoint constructor
rkoster bb23e97
Add identity extraction handler for mTLS caller identification
rkoster f4e71aa
Add mTLS authorization handler for app-to-app access control
rkoster ddb564c
Wire identity and authorization handlers into proxy chain
rkoster 0f046bb
Add AllowedSourceAppGUIDs support to route-registrar
rkoster 7d30cc4
Fix domain names to match RFC specification
rkoster ef3db35
Expand AllowedSources to full RFC specification
rkoster f57b032
Add comprehensive integration tests for mTLS app-to-app routing
rkoster d2ea151
Fix mTLS authorization to use RoutePool instead of RouteEndpoint
rkoster 15db825
Support allowed_sources nested in options for CAPI/Diego integration
rkoster 9fbe03c
Fix identity extraction to handle GoRouter XFCC format (raw base64)
rkoster e15e32b
Rename AllowedSources to MtlsAllowedSources for clarity
rkoster d388fde
Add configurable XFCC format support (raw/envoy)
rkoster 4bc5191
Emit RTR access logs for denied mTLS requests
rkoster 25c70e8
Refactor mTLS route options to RFC-0027 compliant flat format
rkoster bbb9a81
Implement RFC domain-scoped mTLS app-to-app routing in GoRouter
rkoster 581f047
feat(gorouter): implement RFC-compliant post-selection mTLS authoriza…
rkoster 7b4eb36
refactor: rename MtlsAuthError to AuthError for future extensibility
rkoster f321f94
refactor: extract shared mTLS helper functions to mtls_helpers.go
rkoster e6343a1
refactor: remove deprecated mtls_authorization handler
rkoster 943ef10
refactor: move helper functions to their respective handlers
rkoster 6fe2a0b
refactor: introduce AuthResult and remove mTLS-specific naming
rkoster ac763a4
refactor: rename test variable mtlsErr to authErr for consistency
rkoster 6f291fd
refactor: rename mtlsAllowedSources parameter to allowedSources in te…
rkoster 81d30b5
refactor: align integration test naming with RFC terminology
rkoster aad4ecf
refactor: remove unused EndpointPool methods from deprecated pre-sele…
rkoster 0a89935
refactor: remove identity-aware routing fields from route-registrar
rkoster bf1f0db
chore: add devbox files to .gitignore
rkoster 9289dcf
fix: run gofmt on post_selection_pipeline_test.go
rkoster c29de97
fix: run gofmt on all modified Go files
rkoster d1d8529
fix: resolve go vet and staticcheck issues
rkoster e7a443a
fix: resolve integration test failures for identity-aware routing
rkoster 424ef5f
fix: run gofmt on modified files
rkoster 1bbc500
chore: trigger CI after rebase on develop
rkoster b20b974
fix: stop router before NATS in integration test cleanup
rkoster 07e2cb1
chore: trigger CI for port conflict fix
rkoster 4cf972b
refactor: rebrand access rules to route policies terminology
rkoster db70419
fix: apply gofmt to test files for CI compliance
rkoster fc1b477
fix: update integration test to use renamed struct fields
rkoster 6c6b8fb
fix: route policy enforcement on routes without enforcement enabled
rkoster ce29a3c
fix: strip port from Host header before mTLS domain matching
rkoster 3fe508b
fix: apply gofmt to mtls_route_policies_auth_test.go
rkoster 06afa77
fix(test): correct expectations for routes without enforcement enabled
rkoster 01316c7
fix: address PR #535 code review findings
rkoster 3b4dbe1
fix: resolve PR #535 code review findings
rkoster f1f94cf
fix: address critical security and correctness issues in mTLS routing
rkoster b8f9aeb
fix: add missing tests and fix AuthError dead-code path in proxy pipe…
rkoster 0069911
fix: reject always_forward+xfcc_format combination at deploy time
rkoster 783fe04
Validate xfcc_format + always_forward conflict at Go config level
rkoster 84395ca
go mod tidy && go mod vendor
rkoster 0a83573
fix: add missing locket/lock, cactus/go-statsd-client and grpc/transp…
rkoster a383505
fix: always emit identity fields in access logs with renamed keys
rkoster a91d33b
fix: downgrade per-request auth denial logs from INFO to DEBUG
rkoster a32b0e7
fix: add cross-references to spec descriptions and ERB template valid…
rkoster 49f5b6d
fix: address PR #535 review findings for identity handler
rkoster 0da3a54
fix: split MtlsPreAuth handler to resolve identity extraction regression
rkoster 94a81c4
test: add unit tests for pool-level RoutePolicyScope and RoutePolicies
rkoster 846c45b
fix: make mTLS domain matching case-insensitive per RFC 1035
rkoster 952b4f5
fix: use endpoint-level route policies for per-endpoint authorization
rkoster d3f4135
fix: complete case-insensitive mTLS domain matching per RFC 1035
rkoster f100947
fix: remove per-request log statements to comply with gorouter loggin…
rkoster a4c165a
feat: return no-op handlers when no mTLS domains configured
rkoster 36868de
style: gofmt mtls_route_policies_auth_test.go
rkoster 0c7d4ab
feat: include route_policy_scope and route_policies in /routes endpoi…
rkoster File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.