~arsen/vengor

A Go vendoring service
vengor: extract common ensure_goproxy code
readme: add more valuable information

refs

master
browse  log 

clone

read-only
https://git.sr.ht/~arsen/vengor
read/write
git@git.sr.ht:~arsen/vengor

You can also use your local clone with git send-email.

Vendors a Go package.

Installation and administration

Vengor can be installed like any other Python package, via pip.

Vengor is a WSGI app which produces calls to a Huey consumer. This extra service is necessary due to the unfortunate nature of WSGI and, more broadly, multithreading in Python.

While I do development and deployment on gunicorn, the service not working on any given WSGI server is considered a bug. Please do report any issues of this nature.

See the provided vengor-huey_consumer.service, vengor-gunicorn.socket and vengor-gunicorn.service units for an example of how to run Vengor.

Configuration

Vengor recognizes some environment variables:

VENGOR_HUEY_FILE
Path to the Huey SQLite database. Make sure that this value is equal across the WSGI app and Huey consumer.
VENGOR_DEBUG
If non null and nonempty, sets the Vengor logger level to DEBUG.
VENGOR_DATASTORE
Path to the directory in which to cache results. Make sure that this value is equal across the WSGI app and Huey consumer.
GOPROXY
Vengor uses Go module proxies for version query resolution. Make sure that this value is equal across the WSGI app and Huey consumer. It will also forcefully prefix this value with https. Defaults to proxy.golang.org.

Contributing and reporting issues

Reach out to my mailing list, please prefix your subject line with Vengor: and use format.subjectprefix = PATCH Vengor for patches.

License

GNU Affero General Public License, version 3 only.

Do not follow this link