python-poetry / python-poetry/poetry

Support custom certs and tls auth for private git repositories

Open
#5,568 1 comment 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

kind/feature
Dominant language
Python
Stars
34.3k
Forks
2.5k
Avg merge
2d 19h
Merged PRs (30d)
30

Description

Similar to how user credentials are handled in #5567 we require git clones to support TLS certificates as available with HTTP repositories.This should also handle in the (presenty in development) verify = false option for repositories.

For this, the get_transport_and_path call will need to pass in the correct vars or use a custom urrlib pool.

https://github.com/python-poetry/poetry/blob/1c1cb921efada23f7b32eeb4566e489f21b89b31/src/poetry/vcs/git/backend.py#L186-L189

This will also have to be done only for http vcs urls.

Prior to #5428, users could rely on system git client to handle these via options like

git config http.sslverify false

This is no longer possible unless a user forces the system git client backend to be used.

poetry config experimental.system-git-client true

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start in src/poetry/vcs/git/backend.py around get_transport_and_path, and compare its handling with the user credentials work in #5567 and HTTP repository certificate handling. Trace how HTTP VCS URLs reach the transport, including the in-development verify = false option. Done means private HTTP Git repositories support custom certificates and TLS authentication without requiring the system Git client.

Written by the indexing model from the issue text.

Assessment

Tech stack
git, python
Domain
backend, security
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.