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, but we're doing so through our own custom JSON configuration format which is specified on the PythonRemote.    This doesn't seem ideal to me from a UX perspective. me.    Configuring Pulp this way is quite difficult compared Compared to editing a config file as for bandersnatch. file, expressing sync settings in structured JSON is extremely difficult. 

 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) 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 upload their bandersnatch config files and have the Python remote settings populated through parsing it. 
 2) 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 structure, and is likely the best way to go.    2 is potentially simpler.    Either way, we might be able should try to leverage existing bandersnatch code for the parsing of this config file format, which would be nice. format rather than try to implement it ourself.    This seems do-able based on my impression of the API.

Back