-
Notifications
You must be signed in to change notification settings - Fork 881
Multiple OAuth Git provider support #3078
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
Comments
The prospect wants functionality similar to v1, where a user would link their GitHub/GitLab/BitBucket account, and the SSH key would be added to automate push/pulling. |
I wrote some ideas here: Lines 71 to 96 in f3769ea
|
@kylecarbs and I chatted and he also had some ideas about "hooks" that can prompt users to re-validate their tokens even inside a running workspace as well as support for redirecting to arbitrary |
@bpmct can the |
Hey @kconley-sq, we had that in mind when working on the spec 👍🏼 |
We should also look into how we could support Azure DevOps in this flow |
This can be done by integrating with The only problem is that VS Code Remote will override Still, I think we should go ahead with the |
I explored some cases for our Basic ConfigurationWe'll add a git_providers:
- match: github.com
type: github
client_id: xxxxxx
client_secret: xxxxxx
Using Coder for Git authentication can be disabled per template by explicitly setting the For Kubernetes, we'll add a Multiple Providers
Multiple GitHub (or other platforms') organizations may be in use on the same Coder deployment. The git_providers:
- match: github.com\/coder
client_id: xxxxxx
client_secret: xxxxxx
- match: github.com\/cdr
client_id: xxxxxx
client_secret: xxxxxx Matching against a custom path requires enabling git config --global credential.useHttpPath true Git Provider SupportThe git provider configuration provides a
An git_providers:
- match: bitbucket.org\/coder
type: oauth2
client_id: xxxxxxx
client_secret: xxxxxxx
authorize_url: <my-url>/login/oauth/authorize
access_token_url: <my-url>/login/oauth/access_token For built-in providers, we simply set the Startup ScriptThis is blocked on #2957. We can make this pretty nice by blocking the execution of the startup script until the user authenticates with Git, but it's awkward to do it right now because the startup script output isn't in the UI. It would be ideal for displaying the Git hosts required when creating a workspace, and we could make this explicit by configuring it inside an agent: resource "coder_agent" "dev" {
git_providers = [
"github.com"
]
} For this UX, we might want to consider blocking SSH access until the startup script completes... otherwise the user could enter a workspace before they authenticate Git, and be confused why a repository hasn't cloned yet. # I'm not a fan of this, but it's a start.
resource "coder_agent" "dev" {
await_startup_script = true
} |
Just took a pass, I think this seems will cover all our bases. Kind of unfortunate that setting We currently have a
Is there a simple way to support this for code-server too?
I think this is fine actually. Terraform providers commonly have wait_ conditions, although it is slightly odd it depends on user input. Perhaps on workspace creation, we immediately ask the user to authenticate with all providers so that it's less likely for future builds to be in a "waiting" state? |
Sounds like a paid feature but the prospect needs the ability to link more than one instance of git providers to their Coder deployment.
For example, there is one instance of GitHub Enterprise for one part of the organization, and another GitHub Enterprise instance for another part of the organization.
The text was updated successfully, but these errors were encountered: