#
# Apache configuration file for Pulp's Puppet support
#
# -- HTTPS Repositories ---------
Alias /pulp/puppet /var/www/pub/puppet/https/repos
Options FollowSymLinks Indexes
# -- HTTP Repositories ----------
Options FollowSymLinks Indexes
# -- Files Repositories ----------
Alias /pulp/puppet_files /var/www/pub/puppet/files
SSLRequireSSL
SSLVerifyClient optional_no_ca
SSLVerifyDepth 2
SSLOptions +StdEnvVars +ExportCertData +FakeBasicAuth
Options FollowSymLinks Indexes
# The puppet module tool does url joins improperly. When we send it a path to a
# file like "/pulp/puppet/demo/system/releases/p/puppetlabs/puppetlabs-stdlib-3.1.0.tar.gz",
# it treats that like a relative path instead of absolute. The following redirect
# compensates for this. The only path that should be available under
# /pulp_puppet/forge/ is /pulp_puppet/forge//consumer_id|repo_id>/api/v1/releases.json
# and so the following redirect will match any path that isn't the above.
RedirectMatch ^\/?pulp_puppet\/forge\/[^\/]+\/[^\/]+\/(?!api\/v1\/releases\.json)(.*)$ /$1
WSGIDaemonProcess pulp_forge user=apache group=apache processes=1 display-name=%{GROUP}
WSGIProcessGroup pulp_forge
WSGIApplicationGroup pulp_forge
WSGIScriptAlias /api/v1 /usr/share/pulp/wsgi/puppet_forge.wsgi process-group=pulp_forge application-group=pulp_forge
WSGIScriptAlias /pulp_puppet/forge /usr/share/pulp/wsgi/puppet_forge.wsgi process-group=pulp_forge application-group=pulp_forge
WSGIScriptAlias /v3 /usr/share/pulp/wsgi/puppet_forge.wsgi process-group=pulp_forge application-group=pulp_forge
WSGIPassAuthorization On