Skip to content
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
jdpleiness merged 2 commits into
5.2from
backport-58862-to-5.2
Dec 13, 2023
Merged

[Backport 5.2] Cody: Azure OpenAI allow authentication requests to use a proxy#58895
jdpleiness merged 2 commits into
5.2from
backport-58862-to-5.2

Conversation

@chwarwick

Copy link
Copy Markdown
Contributor

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

@cla-bot cla-bot Bot added the cla-signed label Dec 11, 2023
@sourcegraph-bot

Copy link
Copy Markdown
Contributor

📖 Storybook live preview

@chwarwick chwarwick requested review from a team December 12, 2023 15:42
@chwarwick chwarwick added backport 5.2 backport/improvement Final touching of existing features release-blocker Prevents us from releasing: https://about.sourcegraph.com/handbook/engineering/releases labels Dec 12, 2023
@jdpleiness jdpleiness merged commit a0820dc into 5.2 Dec 13, 2023
@jdpleiness jdpleiness deleted the backport-58862-to-5.2 branch December 13, 2023 15:38
@sourcegraph-release-bot

Copy link
Copy Markdown
Collaborator

The backport to 5.2 failed at https://github.com/sourcegraph/sourcegraph/actions/runs/7197562370:

The process '/usr/bin/git' failed with exit code 1

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.2

If 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
  • Follow above instructions to backport the commit.
  • Create a pull request where the base branch is 5.2 and the compare/head branch is backport-58895-to-5.2., click here to create the pull request.
  • Make sure to tag @sourcegraph/release-guild in the pull request description.
  • Once the backport pull request is created, kindly remove the release-blocker from this pull request.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

backport/improvement Final touching of existing features backport 5.2 backports cla-signed failed-backport-to-5.2 release-blocker Prevents us from releasing: https://about.sourcegraph.com/handbook/engineering/releases

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants