From: Sergey Matveev Date: Sun, 13 Jan 2019 18:07:49 +0000 (+0300) Subject: Доработал cheeseshop до состояния проксирования пакетов X-Git-Url: http://www.git.stargrave.org/?a=commitdiff_plain;h=466fc350ff8b4e33c8084caaad3832427c3d3021;p=stargrave-blog.git Доработал cheeseshop до состояния проксирования пакетов https://git.stargrave.org/cgit.cgi/cheeseshop.git/ На работе нам нужно для Python два сервера внутренних: кэширующий сервер для пакетов, PyPI-совместимый по API сервер куда можно загружать внутренние пакеты. Мы используем pyshop, который объединяет это всё в одном пакете. Но с ним много проблем и он давно не обновляется. К сожалению, есть два варианта из того что могу найти: либо серверы куда только можно загружать, но не проксировать пакеты с кэшированием, либо тяжеловесные системы с полноценными СУБД, системами кэширования и задачами по обновлению пакетов по расписанию. Но я наткнулся на cheeseshop написанный на Go: https://github.com/c4s4/cheeseshop Он позволяет только загружать на него пакеты, без какого-либо проксирования. Кода безумно мало. Решил попробовать добавить в него это проксирование с кэшированием. Ровно два часа с момента как я сделал git clone и до момента когда я могу загружать с него пакеты автоматически загруженные с PyPI и сохранённые на диск. А через полчаса я ещё добавил и проверку SHA256 целостности, и атомарное сохранение на жёстком диске (через временный файл с переименованием). Ужас сколько времени я пишу на Python, но так быстро я бы ничего на нём не сделал. А тут написал полтора экрана кода (!) и он с первого раза заработал! ---