pulp / pulpcore

Pulp 3 pulpcore package https://pypi.org/project/pulpcore/
GNU General Public License v2.0
301 stars 116 forks source link

Document for plugin writers the usefullness of mitmproxy #1900

Open pulpbot opened 2 years ago

pulpbot commented 2 years ago

Author: @bmbouter (bmbouter)

Redmine Issue: 6870, https://pulp.plan.io/issues/6870


Background

The mitmproxy are extremely useful for debugging how services work which normally talk using TLS. Say you want to debug a CLI talking to it's server so that you can reverse engineer how Pulp needs to behave as either the client or server. For example debugging between the ansible-galaxy CLI and galaxy.ansible.com (the server side). You could use mitmproxy in the middle like:

ansible-galaxy CLI <--> mitmproxy <--> ansible.galaxy.com.

You can enable this easily if the CLI has any sort of "proxy config".

Example

Setup mitmproxy and run it

pip install mitmproxy
mitmweb -v -v -v --listen-port 8088 --web-port 8089 -k

Configure the CLI to talk "through" mitmproxy and to ignore that it doesn't have a trusted cert

export ANSIBLE_GALAXY_IGNORE=true export ANSIBLE_CONFIG=/home/vagrant/devel/automation_hub.cfg export HTTPS_PROXY=localhost:8088

Usage

Make CLI requests and read all requests and responses from the mitmproxy UI.

stale[bot] commented 2 years ago

This issue has been marked 'stale' due to lack of recent activity. If there is no further activity, the issue will be closed in another 30 days. Thank you for your contribution!

stale[bot] commented 2 years ago

This issue is no longer marked for closure.