opsmill / infrahub

Infrahub - A new approach to Infrastructure Management
https://opsmill.com/
GNU Affero General Public License v3.0
184 stars 8 forks source link

feature: Be able to use http proxy when cloning a git repository #3996

Open BeArchiTek opened 1 month ago

BeArchiTek commented 1 month ago

Component

API Server / GraphQL

Describe the Feature Request

As a user, I would like to allow an HTTP proxy when cloning a Git repository using the gitpython library. Currently, the clone_from method does not provide an option to specify an HTTP proxy, which can be a limitation for users operating behind restrictive network environments or firewalls that require proxy settings for internet access.

The proposed feature would involve adding support for specifying HTTP proxy configurations directly within the backend. This would enhance the functionality of gitpyhon by allowing seamless integration with environments that require proxy configurations for network requests.

Describe the Use Case

In many corporate or secure environments, access to external networks, including Git repositories, is regulated through HTTP proxies. Users working in such environments need to configure their applications to use these proxies to access resources on the internet.

Additional Information

No response

ogenstad commented 1 month ago

As gitpython just uses git under the hood, the current workaround would be to specify the proxy options when building the git-agent docker image: https://github.com/opsmill/infrahub/blob/infrahub-v0.15.2/development/Dockerfile#L70-L74

BeArchiTek commented 1 month ago

As a workaround, i think changing the Dockerfile is quite easy, but if we want to use the proxy on an external git (i.e github.com) but not on an internal (i.e git.example.local) we may wish to have the choice per Repository

ogenstad commented 1 month ago

Provided that there are not multiple internal servers it could be possible with this: https://superuser.com/questions/719807/how-can-i-exclude-hostnames-for-using-the-default-proxy-in-git

Still not as a final solution but just to be able to move forward.