RETIRED, Puppet module for groups drupal portal
Go to file
Colleen Murphy e4901f6217 Depend on helper gem for spec_helper_acceptance
Instead of keeping a local copy of spec_helper_acceptance.rb and
requiring updates to all modules for any change, we can move it into the
common helper gem and require it from there. This will make it easier to
create and review changes that affect all puppet modules. Also change
the Gemfile to look for the gem in the local workspace if running in a
zuul environment.

Change-Id: Iac4b8137c8a8621083ced76879e9f4fbe1ce70a0
2017-08-18 10:41:43 +02:00
manifests Merge "Refactor drush deployment" 2016-03-30 15:10:17 +00:00
spec/acceptance/nodesets Depend on helper gem for spec_helper_acceptance 2017-08-18 10:41:43 +02:00
templates Support Apache 2.4 2016-03-29 15:22:02 +02:00
.gitignore Add Gemfile and puppet 4 checks 2015-07-23 12:53:03 -07:00
.gitreview Add standard puppet module files and .gitreview 2015-01-28 20:04:03 +01: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-29 22:56:52 +00:00
README.md Add groups-dev.openstack.org node 2013-09-17 11:43:00 +02:00
Rakefile Add standard puppet module files and .gitreview 2015-01-28 20:04:03 +01:00
bindep.txt Add bindep.txt file 2017-05-01 21:06:55 -04:00
metadata.json Migrate to puppet-httpd module 2015-07-16 15:48:45 -04:00

README.md

License

Copyright 2013 OpenStack Foundation 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.

Drupal module for Puppet

This module manages Drupal on Linux distros.

Description

Usage

drupal

Install and configure a Drupal site, including Apache vhost entry, MySQL database, Pear and drush cli tool.

Example:

class { 'drupal':
  site_name            => 'www.example.com',
  site_docroot         => '/srv/vhosts/example.com',
  site_mysql_host      => 'localhost',
  site_mysql_user      => 'myuser',
  site_mysql_password  => 's3cretPassw0rd',
  site_mysql_database  => 'example',
  site_vhost_root      => '/srv/vhosts',
  site_staging_tarball => 'example-dev.tar.gz',
  site_admin_password  => 'adminadmin',
  site_build_reponame  => 'example-master',
  site_makefile        => 'build-example.make',
  site_repo_url        => 'https://git.example.com/repo/example',
  site_profile         => 'standard',
  site_base_url        => 'http://example.com',
  ...
}

Build process:

  • build a distribution tarball (drupal::distbuild)
  • deploy a site from scratch (drupal:sitedeploy)

drupal::distbuild

Build a distribution from a git repository, using drush make command. Check out the git repository under site_sandbox_root and compare head commit with latest deployed version. If version is different, clean up the site_deploy_flagfile, and drush make building process start. The flag file site_build_flagfile always contains the version of built repository.

Example:

distbuild { "distbuild-${site_name}":
  site_sandbox_root    => '/srv/sandbox',
  site_staging_root    => '/srv/sandbox/release',
  site_repo_url        => 'https://git.example.com/repo/example',
  site_build_repo_name => 'example-master',
  site_staging_tarball => 'example-dev.tar.gz',
  site_build_flagfile  => '/tmp/drupal-site-build',
  site_deploy_flagfile => '/tmp/drupal-site-deploy',
  site_makefile        => 'build-example.make',
  ...
}

Directory structure: /srv/sandbox/example-master local git repository clone build-example.make drupal-org-core.make drupal-org.make example.info example.install example.profile /srv/sandbox/release distribution tarball directory example-dev.tar.gz

Flag files: /tmp/drupal-site-build Holds the version of information of latest successfull build # pack-refs with: peeled df23bc9510ac8406c33f896f824997a79d20d27d refs/remotes/origin/master

/tmp/drupal-site-deploy If missing, drupal:sitedeploy triggers a new deployment process.

drupal:sitedeploy

Deploy and install a new site based on a previously built distribution tarball, using drupal_site_deploy.sh script.

Example:

sitedeploy { "sitedeploy-${site_name}":
  site_docroot         => '/srv/vhosts/example.com',
  site_staging_root    => '/srv/sandbox/release',
  site_staging_tarball => 'example-dev.tar.gz',
  site_deploy_flagfile => '/tmp/drupal-site-deploy',
  site_name            => $site_name,
  site_profile         => 'standard',
  site_mysql_host      => 'localhost',
  site_mysql_user      => 'myuser',
  site_mysql_password  => 's3cretPassw0rd',
  site_mysql_database  => 'example',
  site_admin_password  => 'adminadmin',
  site_base_url        => 'http://example.com',
  ...
}

Directory structure: /srv/vhosts/example.com drupal site root /etc/drupal example.com.config drupal site deploy script configuration