On puppet 3 an explicit undef value is evaluated as the symbol :undef in
ERB templates, while on puppet 4 the explicit undef is evaluated the
same as the implicit undef which comes to the nil value in ERB. Check
for both values to make both puppet versions happy.
Change-Id: Ib4bff7259fea2722f799745d476d1af0c34408d5
This is required to properly support handling requests for project by
name, where the name may contain encoded slashes. For example,
GET /v1/projects/openstack-infra%2Fstoryboard
causes Apache to give a 404 error without this patch.
Change-Id: Ibe95dbfc28621574bac7e4af78fe1d913fa4e1b6
Dynamic scoping for variables in ERB templates was removed in puppet
4[1] which means that the variables defined in the manifests cannot be
found when it is referenced in the httpd::vhost defined type and will be
evaluated as nil when puppet runs. Use scope.lookupvar instead to be
explicit about the variable's source.
[1] https://puppet.com/docs/puppet/4.10/lang_updating_manifests.html#dynamic-scoping-in-erb
Change-Id: I007975c920bd12a352acdea742b841a17ecc5d17
On systems where the site FQDN is mapped to the loopback interface
in /etc/hosts, Apache doesn't apply the vhost configuration on
incoming connections to other addresses/interfaces. Apache
recommends wildcarding VirtualHost directives these days, and it's
something we already hard-code in other modules (e.g. puppet-zuul).
This _could_ conceivably cause complication for anyone trying to
coinstall this module on a server hosting other sites without
name-based hosting configured correctly, but that should be an
increasingly unusual configuration.
Change-Id: I11f5b586c4f7b42017c2eb78af4be87211343381
Apache version 2.4.3 changes the Order Allow,Deny security
configuration options. This patch modifies the input parameters
as well as the vhost templates in order to support it.
Change-Id: I179ffa924fed204c45a08ba19ea4acdc519edda2
In order to get the puppet module for storyboard up to a level where
we can publish it to puppetforge, I did some work on it to create
separate modules which can be used by anyone to install storyboard.
- API and Webclient are now installed via storyboard::application,
which assumes that you can provide the DB connection criteria.
- storyboard::cert is now a separate class, which accepts either
files or strings, which generates the SSL certificate and chain
files for storyboard.
- storyboard::params is our dependency checker.
- storyboard::init will install a standalone, entirely
self-contained instance of storyboard.
- Added various puppet module files necessary for eventual
deployment to puppetforge.
- Added README.md documentation for later puppetforge addition.
This patch also includes a new module: example42-puppi, which is a
series of convenience utilities useful for deployment. For example,
puppi::netinstall (used here) will fetch tarballs and zip files and
extract them into a provided directory. It also contains changes to
the storyboard configuration for the new refresh token support patch
in #94363
Change-Id: I6ab8c24b308df38774fc0694d218dcb5022cd899