taubyte / tau

Open source distributed Platform as a Service (PaaS). A self-hosted Vercel / Netlify / Cloudflare alternative.
https://tau.how
BSD 3-Clause "New" or "Revised" License
3.09k stars 83 forks source link

Support more than github #198

Open samyfodil opened 2 months ago

samyfodil commented 2 months ago

Use https://github.com/jfrog/froggit-go so we can support GitHub, Bitbucket Server , Bitbucket Cloud, Azure Repos and GitLab.

Later we need to figure out how to support self-hosted!

mohitsethia commented 1 month ago

Hey @samyfodil , this seems to be a good task for me. I understand that you don't have enough time to guide me for this task. Maybe I can try explaining what I got and see if this is the right thing to do for this issue. I would break the task into 2 to avoid too many changes in the same PR.

  1. We need to add the methods for VCS providers similar to Github here and add receiver methods New(), List(), Get() based on the provider. We need to add auth/{{VCS Provider}}/client.go

  2. After adding the client, we can start supporting it in the below places. Changes needs to be made in auth/hooks.go for other cases along with github & http/dream/options.go & clients/http/vars/go, variable.go, etc to support other providers.

samyfodil commented 1 month ago

@mohitsethia this integration is slightly more complex but you can work on it for sure. We'll need to refactor:

I expect this will be transparent on client side, though some changes might find there way.

mohitsethia commented 1 month ago

I am sorry for the late response. What exactly needs to be refactored? Do you want me to make it extendible so we can easily include other providers? Wouldn't adding other providers help along with github? auth/bitbucket.go, etc...

samyfodil commented 1 month ago

@mohitsethia dm me on discord.