This repository was archived by the owner on Sep 30, 2024. It is now read-only.
[Backport 5.2] Cody: Azure OpenAI allow authentication requests to use a proxy#58895
Merged
Conversation
added 2 commits
December 11, 2023 11:02
Contributor
taras-yemets
approved these changes
Dec 12, 2023
Collaborator
|
The backport to To backport manually, run these commands in your terminal: # Fetch latest updates from GitHub
git fetch
# Create a new working tree
git worktree add .worktrees/backport-5.2 5.2
# Navigate to the new working tree
cd .worktrees/backport-5.2
# Create a new branch
git switch --create backport-58895-to-5.2
# Cherry-pick the merged commit of this pull request and resolve the conflicts
git cherry-pick -x --mainline 1 a0820dcd789a0e1cc15ea4e85026751964e53ed7
# Push it to GitHub
git push --set-upstream origin backport-58895-to-5.2
# Go back to the original working tree
cd ../..
# Delete the working tree
git worktree remove .worktrees/backport-5.2If you encouter conflict, first resolve the conflict and stage all files, then run the commands below: git cherry-pick --continue
# Push it to GitHub
git push --set-upstream origin backport-58895-to-5.2
# Go back to the original working tree
cd ../..
# Delete the working tree
git worktree remove .worktrees/backport-5.2
|
Closed
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 subscribe to this conversation on GitHub.
Already have an account?
Sign in.
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.
Because Azure get token requests are sent to login.microsoftonline.com sometimes it is required to direct the request through a proxy, however if not all outgoing requests can be directed though the proxy it is not possible to use standard proxy environment variables.
This adds the CODY_AZURE_OPENAI_IDENTITY_HTTP_PROXY environment variable for this specific purpose. If set the credential requests will use a separate http.Client with the proxy specified.
cc @sourcegraph/release-guild
Test plan
Created an Azure SPN with cert
Created a local proxy
az logout -- to ensure that i'm not getting credentials from az
export CODY_AZURE_OPENAI_IDENTITY_HTTP_PROXY=localhost:29100
set azure environment credential env variables
start proxy
sg start
2023/12/08 14:32:41 [001] INFO: Running 0 CONNECT handlers
2023/12/08 14:32:41 [001] INFO: Accepting CONNECT to login.microsoftonline.com:443 <---- worker embeddings
2023/12/08 14:32:57 [002] INFO: Running 0 CONNECT handlers
2023/12/08 14:32:57 [002] INFO: Accepting CONNECT to login.microsoftonline.com:443 <---- frontend embeddings (search)
2023/12/08 14:32:57 [003] INFO: Running 0 CONNECT handlers
2023/12/08 14:32:57 [003] INFO: Accepting CONNECT to login.microsoftonline.com:443 <---- frontend completions
verified 3 connections though proxy to authenticate each client
shutdown proxy and verified error
Request failed: DefaultAzureCredential: failed to acquire a token. Attempted credentials: ClientCertificateCredential: unable to resolve an endpoint: server response error: Get "https://login.microsoftonline.com/....": proxyconnect tcp: dial tcp 127.0.0.1:29100: connect: connection refused
unset CODY_AZURE_OPENAI_IDENTITY_HTTP_PROXY
no proxy running
Verified chat & embeddings work
restarted proxy
unset CODY_AZURE_OPENAI_IDENTITY_HTTP_PROXY
Verified chat & embeddings work
verified no requests logged to proxy