James E. Blair 26d88125ef Handle SSL proxying and other fixes
Enable mod_ssl and enable proxying to ssl-terminated endpoints.

In the case where the artifact is not found, return NULL instead
of the bogus "Artifact_not_found" url, otherwise we can end up in
a loop where we continuously append that to the url.

Strip trailing slashes from the returned proxy target.  We can't
guarantee that folks won't have a '/' at the end of the artifact
url they return to Zuul (and in fact, it's probably more correct
that they do).  But our regex in mod_rewrite guarantees that we
will add a slash to it.  One sure way to handle this is just to
strip it from the data returned from Zuul if present.

Add a .dockerignore file with both itself and the Dockerfile
added, so that docker won't rebuild extra layers (like the C++
compile layer) if we just change the Dockerfile.

Change-Id: I00dfd0b6842abedf938702a816698d1c6526974d
2020-04-08 09:50:29 -07:00
2019-02-11 18:52:29 +00:00
2019-02-09 15:55:31 +00:00
2019-02-09 15:57:32 +00:00
2019-04-19 19:25:32 +00:00
2019-02-09 15:55:31 +00:00
2019-02-22 10:39:06 -08:00
2019-02-10 15:31:12 +00:00
2019-02-09 15:55:31 +00:00
2019-02-09 15:55:31 +00:00
2020-04-08 09:50:29 -07:00
2019-02-10 19:15:50 +00:00
2020-04-08 09:50:29 -07:00

zuul-preview

A preview proxy server for Zuul.

For example, when this http proxy is fed with a Host header in the form similar to site.167715b656ee4504baa940c5bd9f3821.openstack.preview.opendev.org it proxies to the artifact 'site' of the build 167715b656ee4504baa940c5bd9f3821 under tenant 'openstack'. The actual location is determined dynamically by querying a Zuul API configured by the environment variable $ZUUL_API_URL.

Building

First you need some dependencies:

python3 -m pip install bindep
apt-get install $(bindep -b compile)

Then you can build the code:

autoreconf -fi
./configure
make
Description
A container image for a web-site preview proxy for Zuul
Readme 358 KiB
Languages
C++ 69.6%
Dockerfile 17.9%
Makefile 12.5%