]> Cypherpunks.ru repositories - gocheese.git/blobdiff - doc/proxy.texi
Metadata, mtime support. Massive refactoring
[gocheese.git] / doc / proxy.texi
diff --git a/doc/proxy.texi b/doc/proxy.texi
new file mode 100644 (file)
index 0000000..ef8d30e
--- /dev/null
@@ -0,0 +1,43 @@
+@node Proxying
+@section Proxying
+
+By default GoCheese is configured to use PyPI:
+@option{-pypi https://pypi.org/simple/},
+@option{-pypi-json https://pypi.org/pypi/} (if empty string, then do not
+try to update the metadata).
+
+It gives several HTTP endpoints to work with:
+
+@table @asis
+
+@item @code{/simple/} (@option{-refresh} option)
+Simple API entrypoint. Each access to it asks for upstream if any state
+refresh is needed. Each refresh update the package's metadata (if
+@option{-pypi-json} is enabled), available releases and their checksums.
+
+@item @code{/norefresh/} (@option{-norefresh} option)
+Same as above, but does not refresh data from the upstream, completely
+read only mode.
+
+@item @code{/gpgupdate/} (@option{-gpgupdate} option)
+Refresh the package state from the upstream as above, but additionally
+check and download missing GPG signatures. Intended to be used only
+manually, for example after database migration.
+It is probably useful to set @env{$GOCHEESE_NO_SYNC=1} environment
+variable to turn off filesystem synchronization calls.
+
+@item @code{/pypi/} (@option{-json} option)
+Read only (non refreshing) JSON API entrypoint, giving metadata for the
+packages and releases.
+
+@item @code{/} and @code{/hr/*}
+Those URLs give human readable packages listing and package information.
+
+@end table
+
+To use GoCheese as a proxy, just configure your @file{pip.conf}:
+
+@example
+[install]
+index-url = http://gocheese.host:8080/simple/
+@end example