Puppet modules for deploying Apache in OpenStack infrastructure
Go to file
Colleen Murphy e5996fd275 Add content parameter to httpd::vhost
Evaluating the template from the vhost defined type rather than the
module where it originates causes problems when dereferencing the
variables in the ERB file. If they are not accessed via the internal
scope object, they can't be found when using puppet 4. The scope object
is also useless when the variables are defined in a defined type and not
a class.

This patch adds a new parameter, $content, which overrides the $template
parameter. If provided, $content indicates the literal string content
for the vhost, as opposed to a reference to a template that needs to be
rendered. This can be used like this:

  $content = template('example/example.vhost.erb')
  httpd::vhost { 'vhostname':
    content => $content,
    priority => 50
  }

This way the template is evaluated when the template() function is
called and has access to variables in that scope.

Change-Id: Ibe3c609d92f3321f43f4794062a64b119b07a1d0
2018-05-28 15:04:15 -07:00
files Enable SNI on Ubuntu 12.04 LTS 2015-10-21 15:35:33 +00:00
lib/puppet Rename apache2 to httpd globally 2015-02-05 05:49:30 -08:00
manifests Add content parameter to httpd::vhost 2018-05-28 15:04:15 -07:00
spec/acceptance Depend on helper gem for spec_helper_acceptance 2017-08-18 10:41:43 +02:00
templates Allow access to docroot for proxy exclusions 2018-02-22 16:28:32 +00:00
tests fix tests 2012-04-16 15:19:12 +08:00
.gitignore Add acceptance tests for puppet-httpd 2015-09-28 14:50:03 -03:00
.gitreview Add .gitreview 2014-11-20 11:07:40 +11:00
bindep.txt Add bindep.txt file 2017-05-01 21:09:37 -04:00
CHANGELOG Version 0.0.4 Forge Release 2012-05-08 09:19:52 -07:00
Gemfile Depend on helper gem for spec_helper_acceptance 2017-08-18 10:41:43 +02:00
LICENSE Add missing LICENSE file 2015-01-30 00:16:24 +00:00
metadata.json Add puppetlabs-firewall dependency to metadata 2015-08-07 18:41:07 -07:00
Rakefile Update Rakefile and module info 2015-01-29 12:06:43 +11:00
README.md Replace ci.o.o links with docs.o.o/infra 2015-05-14 21:38:17 +00:00

Overview

puppet-httpd is the openstack-infra fork of puppetlabs-apache. We forked at the 0.0.4 release.

Why we forked

We forked because we were unable to upgrade to later versions of the apache module, and in some cases because we were unwilling to do this. The modern apache module takes the position of fully modelling the apache config file. The older module, that this forked from, takes the position of weakly modelling, it accepts a template and puts that in a vhost. This allows us to write our vhosts in the apache syntax with a thin erb layer on top of it.

However, with the apache module pinned to 0.0.4, we were unable to bring in new modules that depended on a newer apache module. Groups who consumed our puppet code downstream couldn't use the modern apache module either.

We forked to the httpd namespace so that this module (weakly modelling) and a modern puppetlabs-apache module (strongly modelling) could co-exist.

This also allows us to add features and bugfixes to this module without changing its weakly modelled architecture.

Classes

TODO

Defined types

TODO

License

Copyright (C) 2012 Puppet Labs Inc

Puppet Labs can be contacted at: info@puppetlabs.com

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Project website

Though this project is mirrored to github, that is just a mirror. This is a sub project under the OpenStack umbrella, and so has more process associated with it than your typical Puppet module.

This module is under the direction of the openstack-infra team. Website: http://docs.openstack.org/infra/system-config/

The official git repository is at: https://git.openstack.org/cgit/openstack-infra/puppet-httpd/

Bugs can be submitted against this module at: https://storyboard.openstack.org/#!/search?q=puppet-httpd

And contributions should be submitted through review.openstack.org by following http://docs.openstack.org/infra/manual/developers.html

Contact

You can reach the maintainers of this module on freenode in #openstack-infra and on the openstack-infra mailing list.