-
Notifications
You must be signed in to change notification settings - Fork 170
feat: support mount SMB Azure File with user-provided OAuth token through k8s secret #3100
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
andyzhangx
wants to merge
67
commits into
kubernetes-sigs:master
Choose a base branch
from
andyzhangx:mount-with-mi-token
base: master
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 all commits
Commits
Show all changes
67 commits
Select commit
Hold shift + click to select a range
b5faa64
feat: support mount Azure File with user-provided managed identity token
andyzhangx 44c7c2f
fix: redact command output in setCredentialCache error to avoid token…
andyzhangx 5d26a0d
feat: ignore mountWithOAuthToken parameter in controller server
andyzhangx bbfa76f
fix: generalize error message in GetStorageAccountFromSecret
andyzhangx 9b5f2ee
feat: support mountWithOAuthToken in NodePublishVolume for token refr…
andyzhangx bf769f2
Revert "feat: support mountWithOAuthToken in NodePublishVolume for to…
andyzhangx 9382682
fix: NodePublishVolume should only refresh OAuth token credential cac…
andyzhangx 2197965
address review: fix OAuth token refresh and error handling
andyzhangx f050aa7
address review: move OAuth refresh after idempotency check, resolve a…
andyzhangx 344c2b7
perf: skip OAuth token credential cache refresh when token is unchanged
andyzhangx 24708e2
fix: remove duplicate OAuth token refresh block in NodePublishVolume
andyzhangx 0b2ebd3
refactor: extract getSecretNamespace helper to deduplicate namespace …
andyzhangx ac27467
test: add NodePublishVolume unit tests for mountWithOAuthToken path
andyzhangx e09bb5e
fix: validate secretName in NodePublishVolume before OAuth refresh
andyzhangx f02febf
fix: surface secret lookup errors and add OAuth token SHA dedup tests
andyzhangx cbc9225
fix: gofmt import ordering
andyzhangx 84090c3
fix: remove secretName from empty server test to avoid secret lookup …
andyzhangx cae74bc
fix: validate mountWithOAuthToken in controller and move OAuth valida…
andyzhangx 275c5ff
fix: address review comments - mutual exclusion, redact output, fresh…
andyzhangx fa6b4a4
fix: refresh OAuth token before ensureMountPoint to fix stale mount r…
andyzhangx a9e1078
address review: use field constants in error messages, merge duplicat…
andyzhangx e3a43b6
fix: update tests to match new error message format using field const…
andyzhangx 54da608
add e2e test for mountWithOAuthToken dynamic provisioning
andyzhangx cb4b467
e2e: fail fast if OAuth token setup fails in BeforeSuite
andyzhangx f8dc87e
fix: syntax errors in suite_test.go and azure_helpers.go
andyzhangx 08b9950
fix: move test-only deps to indirect in go.mod
andyzhangx e89fc8b
fix: move azidentity/armauthorization/armcompute to direct deps in go…
andyzhangx 5806966
fix: get OAuth token from agent node via IMDS pod instead of Prow pod
andyzhangx 90b9070
fix: schedule oauth token-fetcher pod on agent nodes only
andyzhangx e8fe3fa
chore: add --show-labels to kubectl get nodes in azurefile_log.sh
andyzhangx 2e17142
fix: use GenerateName for token-fetcher pod to avoid collisions
andyzhangx 3ae08bd
fix: move azidentity to indirect, fix secret update and IMDS resource…
andyzhangx ae73836
fix: skip storing account key when mountWithOAuthToken is true
andyzhangx 2466437
test: log which node the oauth token fetcher pod ran on
andyzhangx 70f22e6
move OAuth token setup from BeforeSuite to test case
andyzhangx 26d2e53
fix: gofmt indentation
andyzhangx 74888c4
fix: remove trailing slash from storage.azure.com resource, log OAuth…
andyzhangx 39de2e8
fix: pin OAuth test pod to same node where token was fetched
andyzhangx c71e942
fix: include mountWithOAuthToken in requiresSmbOAuth condition
andyzhangx b9fe412
fix: resolve accountName from volume ID in NodePublishVolume for OAut…
andyzhangx 374ac44
revert: remove node logging, token info logging, and node-pinning for…
andyzhangx cc850cb
refactor: consolidate storeAccountKey and requiresSmbOAuth logic
andyzhangx d34d66b
refactor: consolidate OAuth token server resolution and validation in…
andyzhangx ec43ac0
fix: update stale log message for identity-based mount
andyzhangx 4bd685d
fix: update setCredentialCacheWithOAuthToken test for new signature
andyzhangx c34b38f
fix: restore secretName validation in NodeStageVolume, fix error mess…
andyzhangx 547c715
fix: remove mountWithOAuthToken from shouldUseServiceAccountToken
andyzhangx 977cb98
fix: use codes.Internal for setCredentialCacheWithOAuthToken errors i…
andyzhangx 3fffe46
fix: improve error message when server cannot be resolved for mountWi…
andyzhangx e1e72e2
fix: return InvalidArgument for missing secretName and consolidate se…
andyzhangx 1918f6c
test: update expected error code for missing secretName to InvalidArg…
andyzhangx 85f32be
fix: return InvalidArgument for all validation errors in OAuth flow
andyzhangx 5565e32
fix: extract status message to avoid double-wrapping, treat Unknown a…
andyzhangx 5346a2c
simplify error handling for setCredentialCacheWithOAuthToken
andyzhangx 8904019
fix: preserve gRPC status code from setCredentialCacheWithOAuthToken
andyzhangx 11fd442
fix: return codes.Internal for setCredentialCache failures
andyzhangx 4f17e7b
fix: return codes.Internal for secret fetch failures
andyzhangx 4250b64
fix: address review comments
andyzhangx e4b4249
fix: reject mountWithOAuthToken for NFS and fix IMDS resource URL
andyzhangx cc88f7d
fix: also reject mountWithOAuthToken when fsType is nfs
andyzhangx f0802ca
test: add OIDC JWKS readiness check for workload identity e2e test
andyzhangx ac1d9d2
fix: propagate original gRPC status code from setCredentialCacheWithO…
andyzhangx 9452ba5
address review: extract OAuth validation, improve logging and error m…
andyzhangx 44d2691
fix: remove stale comment above validateMountWithOAuthToken
andyzhangx 46bff09
fix: remove dead code and duplicate line from rebase
andyzhangx 7a4d552
fix: move azidentity from indirect to direct dependency in go.mod
andyzhangx 2e7cbc1
test: increase storage account limit from 17 to 20 in AfterSuite check
andyzhangx 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
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.