feat(appconfig): support private cross-owner appconfig remotes - #618
Merged
Conversation
Generate changelog in
|
clarkemn
marked this pull request as ready for review
August 28, 2026 14:23
✅ Successfully generated changelog entry!Need to regenerate?Simply interact with the changelog bot comment again to regenerate these entries. 📋Changelog Preview✨ Features
|
bluekeyes
reviewed
Sep 1, 2026
bluekeyes
left a comment
Contributor
There was a problem hiding this comment.
Thanks, I had a few minor comments but overall I think this makes sense.
bluekeyes
approved these changes
Sep 2, 2026
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.
Before this PR
Coming from palantir/policy-bot#1359 - please review for some additional context on this change.
appconfig.Loadercan follow remote configuration references, but it always uses the client passed toLoadConfig. This prevents an app installation in one organization from reading a private remote configuration repository owned by another organization, even when the app is installed on both.After this PR
appconfig.WithPrivateRemotesnow enables cross-owner private remote configuration. For a remote owned by a different user or organization, the loader resolves that owner’s app installation and uses an installation-scoped client to fetch the remote file.Same-owner remotes remain unchanged. If no target installation exists or its client cannot be created, the loader logs the failure and falls back to the original client, preserving support for public remotes.
Possible downsides?
Cross-owner remote loads with this option enabled make an additional installation lookup and may create an additional client. Callers with high configuration load volume should use the existing caching
InstallationsServiceandClientCreatorimplementations.