Project

Profile

Help

Story #6875

Updated by dalley almost 4 years ago

Bandersnatch is an officially-blessed tool for mirroring Python repositories developed by the PyPA organization.    It has fairly widespread usage. 

 https://github.com/pypa/bandersnatch 
 https://bandersnatch.readthedocs.io 

 Currently we're attempting to re-implement several features of bandersnatch such as package whitelists and blacklists, configured but we're doing so through our own custom JSON configuration format specified on the PythonRemote as JSON. PythonRemote.    This doesn't seem ideal to me from a UX perspective.    Configuring Pulp this way is quite difficult compared to editing a config file like with as for bandersnatch. 

 https://bandersnatch.readthedocs.io/en/latest/filtering_configuration.html 

 Since there's already a tool which has tread this ground and is widely used, it would be excellent if users could use Pulp with their existing Bandersnatch configs. 

 There are different ways we could go about this, broadly speaking: 

 1) Create a PythonRemote from a bandersnatch config file - continue Continue storing all of the sync settings on the remote, but users won't be expected to edit it directly: instead, provide some API for users to create / update upload their PythonRemote by uploading the bandersnatch config file. files and have the Python remote settings populated through parsing it. 
 2) Don't store anything Delete our attempt to implement these settings directly on the PythonRemote, and instead have them parsed from the config file at sync time. 

 1 is probably more idiomatic with Pulp's overall workflows, structure, and is probably likely the best way to go.    2 is potentially simpler.    Either way, we might be able to leverage existing bandersnatch code for the parsing of this config file format, which would be nice.

Back