{{ message }}
Repository navigation
[Nuclio] Fix missing S3 credentials for source archive with secret_env auto-mount - #10164
Open
daanvdk-mck wants to merge 1 commit into
Open
daanvdk-mck wants to merge 1 commit into
daanvdk-mck wants to merge 1 commit into
Conversation
…v auto-mount
On CE the chart default is auto_mount_type=secret_env with
secret_name=storage-credentials and no keys, which mounts the secret via
envFrom. _get_auto_mount_env_as_dict only harvested spec.env, so Nuclio's
codeEntryAttributes got empty S3 credentials and endpoint ("static
credentials are empty"). Also dereference envFrom refs to the auto-mount
secret_name, with env entries taking precedence as in a pod.
ML-13129
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Contributor
Contributor
📊 Diff Coverage Report📂 Click to view full coverage detailsDiff CoverageDiff: origin/development...HEAD, staged and unstaged changes
Summary
|
Yacouby
reviewed
Oct 19, 2026
Yacouby
left a comment
Member
There was a problem hiding this comment.
The builder side has the same gap so a Kaniko/buildah source fetch under the CE default would hit the same thing. Is there a follow-up ticket for it?
eytand
approved these changes
Oct 19, 2026
Contributor
Author
Yacouby
approved these changes
Oct 19, 2026
2 of 11 tasks
moranbental
approved these changes
Oct 19, 2026
This branch has not been deployed
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.

📝 Description
Deploying a
with_repo=Trueserving function from an S3/MinIO project source still fails on MLRun CE withstatic credentials are empty, after the ML-11339 fixes (#9884, #10150). Those fixes resolve Nuclio'scodeEntryAttributesS3 credentials from the storage auto-mount env vars thatauto_mount_type=s3produces. The CE chart default isauto_mount_type=secret_envwithsecret_name=storage-credentialsand nokeys, which mounts the whole secret throughenvFrom. Neither fix covers that case, so the access key, secret key and endpoint reach Nuclio empty.🛠️ Changes Made
server/py/services/api/crud/runtimes/nuclio/helpers.py,_get_auto_mount_env_as_dict: when the scratch runtime'sspec.env_fromhas asecretRefto the auto-mountsecret_name, the secret's non-empty keys are now merged into the result. Values fromspec.env(e.g.cleartext_env) take precedence, matching pod semantics.envFromrefs to other secrets are ignored, the same way [Nuclio] Fix missing S3 credentials for source archive when using auto-mount secret_name #10150 treatssecretKeyRef.✅ Checklist
🧪 Testing
secret_envunit tests intest_nuclio.py:secret_name, no keys): access key, secret key and endpoint are read from the secret.cleartext_envoverrides the same key from the secret.builder_envstill overrides secret values.test_nuclio.pypasses in full (300 tests) on the server test flavor (MLRUN_IS_API_SERVER=true).with_repo=Trueserving function, sources3://mlrun/project.tar.gz):fn.deploy()fails withstatic credentials are empty.fn.deploy()succeeds and the function serves requests.🔗 References
🚨 Breaking Changes?
🔍️ Additional Notes
The same
envFromgap in the builder's fetch-source init container (Kaniko/Buildah) is fixed separately in #10167 (ML-13132).