diff --git a/.gitignore b/.gitignore deleted file mode 100644 index dade81e..0000000 --- a/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -Gemfile.lock -.bundled_gems/ diff --git a/Gemfile b/Gemfile deleted file mode 100644 index 019213a..0000000 --- a/Gemfile +++ /dev/null @@ -1,15 +0,0 @@ -source 'https://rubygems.org' - -if File.exists?('/home/zuul/src/git.openstack.org/openstack-infra/puppet-openstack_infra_spec_helper') - gem_checkout_method = {:path => '/home/zuul/src/git.openstack.org/openstack-infra/puppet-openstack_infra_spec_helper'} -else - gem_checkout_method = {:git => 'https://git.openstack.org/openstack-infra/puppet-openstack_infra_spec_helper'} -end -gem_checkout_method[:require] = false - -group :development, :test, :system_tests do - gem 'puppet-openstack_infra_spec_helper', - gem_checkout_method -end - -# vim:ft=ruby diff --git a/LICENSE b/LICENSE deleted file mode 100644 index d645695..0000000 --- a/LICENSE +++ /dev/null @@ -1,202 +0,0 @@ - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - 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. diff --git a/README.md b/README.md deleted file mode 100644 index 02bf7da..0000000 --- a/README.md +++ /dev/null @@ -1,120 +0,0 @@ -# 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 - diff --git a/README.rst b/README.rst new file mode 100644 index 0000000..c4ba6c6 --- /dev/null +++ b/README.rst @@ -0,0 +1,9 @@ +This project is no longer maintained. + +The contents of this repository are still available in the Git +source code management system. To see the contents of this +repository before it reached its end of life, please check out the +previous commit with "git checkout HEAD^1". + +For any further questions, please email +service-discuss@lists.opendev.org or join #opendev on Freenode. diff --git a/Rakefile b/Rakefile deleted file mode 100644 index 7f22329..0000000 --- a/Rakefile +++ /dev/null @@ -1,8 +0,0 @@ -require 'rubygems' -require 'puppetlabs_spec_helper/rake_tasks' -require 'puppet-lint/tasks/puppet-lint' -PuppetLint.configuration.fail_on_warnings = true -PuppetLint.configuration.send('disable_80chars') -PuppetLint.configuration.send('disable_autoloader_layout') -PuppetLint.configuration.send('disable_class_inherits_from_params_class') -PuppetLint.configuration.send('disable_class_parameter_defaults') \ No newline at end of file diff --git a/bindep.txt b/bindep.txt deleted file mode 100644 index 7cdd58e..0000000 --- a/bindep.txt +++ /dev/null @@ -1,11 +0,0 @@ -# This is a cross-platform list tracking distribution packages needed by tests; -# see http://docs.openstack.org/infra/bindep/ for additional information. - -libxml2-devel [test platform:rpm] -libxml2-dev [test platform:dpkg] -libxslt-devel [test platform:rpm] -libxslt1-dev [test platform:dpkg] -ruby-devel [test platform:rpm] -ruby-dev [test platform:dpkg] -zlib1g-dev [test platform:dpkg] -zlib-devel [test platform:rpm] diff --git a/manifests/drush.pp b/manifests/drush.pp deleted file mode 100644 index 36251d1..0000000 --- a/manifests/drush.pp +++ /dev/null @@ -1,74 +0,0 @@ -# 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. -# -# == Define: drush -# -# define to add drush and custom dsd extension -# -# Drush parameters: -# - drushdsdtar: drush dsd release tarball -# - basedrushdsdtar: drush dsd tar local filename -# - download_dir: download directory, local copy of release tarball lives here - -define drupal::drush ( - $basedrushdsdtar = 'drush-dsd-0.10.tar.gz', - $download_dir = '/srv/downloads', - $drushdsdtar = 'https://github.com/mkissam/drush-dsd/archive/v0.10.tar.gz', -) { - - # Fix the resource ordering in the drush::git::drush class - Drush::Git['https://github.com/drush-ops/drush.git'] -> Exec['Install composer'] - - class {'::drush::git::drush': - git_branch => '6.x', - git_tag => '6.x', - } - - file { '/usr/share/drush/commands/dsd': - ensure => directory, - owner => 'root', - group => 'root', - mode => '0755', - require => Class['::drush::git::drush'], - } - - # If we don't already have the specified dsd tar, download it. - exec { "download:${drushdsdtar}": - command => "/usr/bin/wget ${drushdsdtar} -O ${download_dir}/${basedrushdsdtar}", - creates => "${download_dir}/${basedrushdsdtar}", - require => File[$download_dir], - } - - # If drush-dsd.tar.gz isn't the same as $basedrushdsdtar, install it. - file { "${download_dir}/drush-dsd.tar.gz": - ensure => present, - source => "file://${download_dir}/${basedrushdsdtar}", - require => Exec["download:${drushdsdtar}"], - replace => true, - owner => 'root', - group => 'root', - mode => '0644', - } - - # If drush-dsd just created extract to /etc/drush - exec { 'drush-dsd-initial-init': - user => 'root', - command => "/bin/tar -C /usr/share/drush/commands/dsd --strip 1 -xzvf ${download_dir}/drush-dsd.tar.gz;/usr/bin/drush cc all", - subscribe => File["${download_dir}/drush-dsd.tar.gz"], - refreshonly => true, - logoutput => true, - require => File['/usr/share/drush/commands/dsd'], - } - -} diff --git a/manifests/init.pp b/manifests/init.pp deleted file mode 100644 index 818f8fa..0000000 --- a/manifests/init.pp +++ /dev/null @@ -1,301 +0,0 @@ -# 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. -# -# == Class: drupal -# -# A wrapper class to support drupal project integration based on LAMP -# environment. -# -# Actions: -# - Prepare apache vhost and create mysql database (optional) -# - Install Drush tool with Drush-dsd extension -# - Fetch distribution tarball from remote repository -# - Deploy dist tarball and setup Drupal from scratch or -# upgrade an existing site. -# -# Site parameters: -# - site_name: name of the site (FQDN for example) -# - site_admin_password: password of drupal admin -# - site_docroot: root directory of drupal site -# - site_vhost_root: root directory of virtual hosts -# - site_create_database: if true, create a new database (default: false) -# - site_alias: drush site alias name -# - site_profile: installation profile to deploy -# -# SSL configuration: -# - site_ssl_enabled: true if ssl is enabled (default: false) -# - site_ssl_cert_file_contents: x509 certificate of vhost in pem format -# - site_ssl_key_file_contents: rsa key of x509 certificate in pem format -# - site_ssl_chain_file_contents: root ca's of site ssl cert -# - site_ssl_cert_file: file path of x509 certificate -# - site_ssl_key_file: file path of certificate rsa key -# - site_ssl_chain_file: file path of certificate chain -# -# Mysql connection: -# - mysql_user: mysql user of drupal site -# - mysql_password: password of site user -# - mysql_database: site database name -# - mysql_host: host of mysql server (default: localhost) -# -# Drupal configuration variables: -# - conf: contains the key-value pairs of settings.php -# -# Remarks: -# - the site lives in /srv/vhosts/{hostname}/slot0 or slot1 directory -# - the /srv/vhosts/{hostname}/w symlinks to slot0 or slot1 and -# points to actual site root. The upgrade process will begin in -# inactive slot so we can avoid typical WSOD issues with Drupal. -# - for temporary package/tarball download it is using the -# /srv/downloads directory. -# - -class drupal ( - $conf = undef, - $conf_ga_account = undef, - $conf_markdown_directory = undef, - $conf_openid_provider = undef, - $package_branch = undef, - $package_repository = undef, - $site_admin_password = undef, - $site_alias = undef, - $site_base_url = false, - $site_create_database = false, - $site_docroot = undef, - $site_file_owner = 'root', - $site_mysql_database = 'drupal', - $site_mysql_host = 'localhost', - $site_mysql_password = undef, - $site_mysql_user = 'drupal', - $site_name = $::fqdn, - $site_profile = 'standard', - $site_root = undef, - $site_ssl_enabled = false, - $site_ssl_cert_file = undef, - $site_ssl_cert_file_contents = undef, - $site_ssl_chain_file = undef, - $site_ssl_chain_file_contents = undef, - $site_ssl_key_file = undef, - $site_ssl_key_file_contents = undef, - $site_vhost_root = '/srv/vhosts', -) { - # Dependencies - require ::drupal::params - include ::httpd - - if $site_root == undef { - $_site_root = "${site_vhost_root}/${site_name}" - } else { - $_site_root = $site_root - } - - if $site_docroot == undef { - $_site_docroot = "${_site_root}/w" - } else { - $_site_docroot = $site_docroot - } - - # ssl certificates - if $site_ssl_enabled == true { - - include ::httpd::ssl - - # site x509 certificate - if $site_ssl_cert_file_contents != undef { - file { $site_ssl_cert_file: - owner => 'root', - group => 'root', - mode => '0640', - content => $site_ssl_cert_file_contents, - before => Httpd::Vhost[$site_name], - } - } - - # site ssl key - if $site_ssl_key_file_contents != undef { - file { $site_ssl_key_file: - owner => 'root', - group => 'root', - mode => '0640', - content => $site_ssl_key_file_contents, - before => Httpd::Vhost[$site_name], - } - } - - # site ca certificates file - if $site_ssl_chain_file_contents != undef { - file { $site_ssl_chain_file: - owner => 'root', - group => 'root', - mode => '0640', - content => $site_ssl_chain_file_contents, - before => Httpd::Vhost[$site_name], - } - } - } - - # setup apache and virtualhosts, enable mod rewrite - file { $site_vhost_root: - ensure => directory, - owner => 'root', - group => 'root', - mode => '0755', - } - - # Check vhost permission set. - $new_vhost_perms = (versioncmp($::drupal::params::apache_version, '2.4') >= 0) - - ::httpd::vhost { $site_name: - port => 80, - priority => '50', - docroot => $_site_docroot, - require => Exec['init-slot-dirs'], - template => 'drupal/drupal.vhost.erb', - } - - file { $_site_root: - ensure => directory, - owner => 'root', - group => 'www-data', - mode => '0755', - require => Package['httpd'], - } - - # Create initial symlink here to allow apache vhost creation - # so drush dsd can flip this symlink between slot0/slot1 - # (won't be recreated until the symlink exists) - exec { 'init-slot-dirs': - command => "/bin/ln -s ${_site_root}/slot1 ${_site_docroot}", - unless => "/usr/bin/test -L ${_site_docroot}", - logoutput => 'on_failure', - require => File[$_site_root], - } - - httpd_mod { 'rewrite': - ensure => present, - } - - # php packages - $drupal_related_packages = [ 'unzip', 'php5-mysql', 'php5-gd', 'php5-cli', - 'libapache2-mod-php5' ] - - package { $drupal_related_packages: - ensure => 'installed', - require => Package['httpd'], - notify => Service['httpd'], - } - - # This directory is used to download and cache tarball releases - # without proper upstream packages - file { '/srv/downloads': - ensure => directory, - owner => 'root', - group => 'root', - mode => '0755', - } - - # setup drush and drush-dsd extension - ::drupal::drush { 'drush': - require => File['/srv/downloads'], - } - - # site mysql database - if $site_create_database == true { - if $site_mysql_password == undef { - fail('You must set $site_mysql_password when $site_create_database is true.') - } - mysql::db { $site_mysql_database: - user => $site_mysql_user, - password => $site_mysql_password, - host => $site_mysql_host, - grant => ['all'], - } - } - - # drush site-alias definition - - file { '/etc/drush': - ensure => directory, - owner => 'root', - group => 'root', - mode => '0755', - } - - file { '/etc/drush/aliases.drushrc.php': - ensure => present, - owner => 'root', - group => 'root', - mode => '0400', - content => template('drupal/aliases.drushrc.php.erb'), - replace => true, - require => [ File['/etc/drush'], Drupal::Drush['drush'] ], - } - - # site custom configuration - - file { "${_site_root}/etc": - ensure => directory, - owner => 'root', - group => 'root', - mode => '0755', - require => File[$_site_root], - } - - file { "${_site_root}/etc/settings.php": - ensure => file, - owner => 'root', - group => 'root', - mode => '0400', - content => template('drupal/settings.php.erb'), - replace => true, - require => File["${_site_root}/etc"], - } - - # deploy a site from scratch when site status is 'NOT INSTALLED' - exec { "sitedeploy-${site_name}": - command => "/usr/bin/drush dsd-init @${site_alias}", - logoutput => true, - timeout => 600, - onlyif => "/usr/bin/drush dsd-status @${site_alias} | /bin/grep -c 'NOT INSTALLED'", - require => [ - File['/etc/drush/aliases.drushrc.php'], - ] - } - - # update the site into a new slot when a remote update available - exec { "siteupdate-${site_name}": - command => "/usr/bin/drush dsd-update @${site_alias}", - logoutput => true, - timeout => 600, - onlyif => "/usr/bin/drush dsd-status @${site_alias} | /bin/grep -c 'UPDATE'", - require => [ - File['/etc/drush/aliases.drushrc.php'], - Exec["sitedeploy-${site_name}"], - ] - } - - # setup cron job - - if $site_base_url != false and is_hash($conf) { - cron { $site_name: - name => "${site_name}.cron", - command => "wget -O /dev/null -q -t 1 ${$site_base_url}/cron.php?cron_key=${$conf['cron_key']}", - user => root, - minute => '*/5', - require => [ - Exec["sitedeploy-${site_name}"], - ] - } - } - -} diff --git a/manifests/params.pp b/manifests/params.pp deleted file mode 100644 index b5a44be..0000000 --- a/manifests/params.pp +++ /dev/null @@ -1,18 +0,0 @@ -# == Class: drupal::params -# -# Centralized configuration management for the drupal module. -# -class drupal::params() { - case $::osfamily { - 'Debian': { - if $::operatingsystem == 'Ubuntu' and versioncmp($::operatingsystemrelease, '13.10') >= 0 { - $apache_version = '2.4' - } else { - $apache_version = '2.2' - } - } - default: { - fail("Unsupported osfamily: ${::osfamily} The 'storyboard' module only supports osfamily Debian.") - } - } -} diff --git a/metadata.json b/metadata.json deleted file mode 100644 index 82b63fa..0000000 --- a/metadata.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "name": "openstackinfra-drupal", - "version": "0.0.1", - "author": "Openstack CI", - "summary": "Puppet module for drupal", - "license": "Apache 2.0", - "source": "https://git.openstack.org/openstack-infra/puppet-drupal.git", - "project_page": "http://docs.openstack.org/infra/system-config/", - "issues_url": "https://storyboard.openstack.org/#!/project/762", - "operatingsystem_support": [ - { "operatingsystem": "Ubuntu", "operatingsystemrelease": ["12.04"] } - ], - "requirements": [ - { "name": "pe", "version_requirement": ">= 3.2.0 < 3.4.0" }, - { "name": "puppet", "version_requirement": "3.x" } - ], - "dependencies": [ - { "name": "puppetlabs/stdlib", "version_requirement": ">= 3.2.0" }, - { "name": "puppetlabs/mysql", "version_requirement": ">= 0.6.1" }, - { "name": "openstackinfra/httpd", "version_requirement": "0.x" } - ] -} diff --git a/spec/acceptance/nodesets/default.yml b/spec/acceptance/nodesets/default.yml deleted file mode 100644 index 3bb3e62..0000000 --- a/spec/acceptance/nodesets/default.yml +++ /dev/null @@ -1,11 +0,0 @@ -HOSTS: - ubuntu-server-1404-x64: - roles: - - master - platform: ubuntu-14.04-amd64 - box: puppetlabs/ubuntu-14.04-64-nocm - box_url: https://vagrantcloud.com/puppetlabs/ubuntu-14.04-64-nocm - hypervisor: vagrant -CONFIG: - log_level: debug - type: git diff --git a/spec/acceptance/nodesets/nodepool-centos7.yml b/spec/acceptance/nodesets/nodepool-centos7.yml deleted file mode 100644 index c552874..0000000 --- a/spec/acceptance/nodesets/nodepool-centos7.yml +++ /dev/null @@ -1,10 +0,0 @@ -HOSTS: - centos-70-x64: - roles: - - master - platform: el-7-x86_64 - hypervisor: none - ip: 127.0.0.1 -CONFIG: - type: foss - set_env: false diff --git a/spec/acceptance/nodesets/nodepool-trusty.yml b/spec/acceptance/nodesets/nodepool-trusty.yml deleted file mode 100644 index 9fc624e..0000000 --- a/spec/acceptance/nodesets/nodepool-trusty.yml +++ /dev/null @@ -1,10 +0,0 @@ -HOSTS: - ubuntu-14.04-amd64: - roles: - - master - platform: ubuntu-14.04-amd64 - hypervisor: none - ip: 127.0.0.1 -CONFIG: - type: foss - set_env: false diff --git a/spec/acceptance/nodesets/nodepool-xenial.yml b/spec/acceptance/nodesets/nodepool-xenial.yml deleted file mode 100644 index 99dd318..0000000 --- a/spec/acceptance/nodesets/nodepool-xenial.yml +++ /dev/null @@ -1,10 +0,0 @@ -HOSTS: - ubuntu-16.04-amd64: - roles: - - master - platform: ubuntu-16.04-amd64 - hypervisor: none - ip: 127.0.0.1 -CONFIG: - type: foss - set_env: false diff --git a/templates/aliases.drushrc.php.erb b/templates/aliases.drushrc.php.erb deleted file mode 100644 index ea1a032..0000000 --- a/templates/aliases.drushrc.php.erb +++ /dev/null @@ -1,32 +0,0 @@ -'] = array( - 'root' => '<%= @_site_docroot %>', - 'dsd-root' => '<%= @_site_root %>', - 'uri' => '<%= @site_base_url %>', - 'db-url' => 'mysql://<%= @site_mysql_user %>:<%= @site_mysql_password %>@<%= @site_mysql_host %>/<%= @site_mysql_database %>', - 'databases' => array( - 'default' => array( - 'driver' => 'mysql', - 'username' => '<%= @site_mysql_user %>', - 'password' => '<%= @site_mysql_password %>', - 'port' => '', - 'host' => '<%= @site_mysql_host %>', - 'database' => '<%= @site_mysql_database %>', - ), - ), - 'file-owner' => '<%= @site_file_owner %>', - 'file-group' => 'www-data', - 'variables' => array( - 'site_name' => '<%= @site_name %>', - ), - 'profile' => '<%= @site_profile %>', - 'default-admin-password' => '<%= @site_admin_password %>', - 'disable-features-revert' => FALSE, - 'package-provider' => 'drush-dl', - 'package-repository' => '<%= @package_repository %>', - 'package-dist-name' => 'groups', -<% if @package_branch == 'dev' %> - 'package-dev-branch' => TRUE, -<% end %> -); \ No newline at end of file diff --git a/templates/drupal.vhost.erb b/templates/drupal.vhost.erb deleted file mode 100644 index 28e940e..0000000 --- a/templates/drupal.vhost.erb +++ /dev/null @@ -1,158 +0,0 @@ -# ************************************ -# Puppet Drupal 7 vhost template -# Managed by Puppet -# ************************************ - -NameVirtualHost <%= @vhost_name %>:80 -:80> -<% if scope.lookupvar('::drupal::site_ssl_enabled') %> - ServerName <%= @srvname %> - Redirect / https://<%= @srvname %>/ - - -NameVirtualHost <%= @vhost_name %>:443 -:443> - SSLEngine on - SSLProtocol All -SSLv2 -SSLv3 - SSLCertificateFile <%= scope.lookupvar('::drupal::site_ssl_cert_file') %> - SSLCertificateKeyFile <%= scope.lookupvar('::drupal::site_ssl_key_file') %> -<% if ! ['', nil, :undef].include?(scope.lookupvar('::drupal::site_ssl_chain_file_contents')) %> - SSLCertificateChainFile <%= scope.lookupvar('::drupal::site_ssl_chain_file') %> -<% end %> -<% end %> - ServerName <%= @srvname %> -<% if @serveraliases.is_a? Array -%> -<% @serveraliases.each do |name| -%><%= " ServerAlias #{name}\n" %><% end -%> -<% elsif ! ['', nil].include?(@serveraliases) -%> -<%= " ServerAlias #{@serveraliases}" %> -<% end -%> - DocumentRoot <%= @docroot %> - > - Options FollowSymLinks MultiViews - AllowOverride None - <% if scope.lookupvar('::drupal::new_vhost_perms') %> - Require all granted - <% else %> - Order allow,deny - Allow from all - <% end %> - # Protect files and directories from prying eyes. - - Order allow,deny - - # Make Drupal handle any 404 errors. - ErrorDocument 404 /index.php - # Set the default handler. - DirectoryIndex index.php index.html index.htm - # PHP 5, Apache 1 and 2. - - php_flag magic_quotes_gpc off - php_flag magic_quotes_sybase off - php_flag register_globals off - php_flag session.auto_start off - php_value mbstring.http_input pass - php_value mbstring.http_output pass - php_flag mbstring.encoding_translation off - php_value max_execution_time 300 - php_value memory_limit 192M - - # Requires mod_expires to be enabled. - - # Enable expirations. - ExpiresActive On - - # Cache all files for 2 weeks after access (A). - ExpiresDefault A1209600 - - - # Do not allow PHP scripts to be cached unless they explicitly send cache - # headers themselves. Otherwise all scripts would have to overwrite the - # headers set by mod_expires if they want another caching behavior. This may - # fail if an error occurs early in the bootstrap process, and it may cause - # problems if a non-Drupal PHP file is installed in a subdirectory. - ExpiresActive Off - - - # Various rewrite rules. - - RewriteEngine on - - # Block access to "hidden" directories whose names begin with a period. This - # includes directories used by version control systems such as Subversion or - # Git to store control files. Files whose names begin with a period, as well - # as the control files used by CVS, are protected by the FilesMatch directive - # above. - # - # NOTE: This only works when mod_rewrite is loaded. Without mod_rewrite, it is - # not possible to block access to entire directories from .htaccess, because - # is not allowed here. - # - # If you do not have mod_rewrite installed, you should remove these - # directories from your webroot or otherwise protect them from being - # downloaded. - RewriteRule "(^|/)\." - [F] - - # If your site can be accessed both with and without the 'www.' prefix, you - # can use one of the following settings to redirect users to your preferred - # URL, either WITH or WITHOUT the 'www.' prefix. Choose ONLY one option: - # - # To redirect all users to access the site WITH the 'www.' prefix, - # (http://example.com/... will be redirected to http://www.example.com/...) - # uncomment the following: - # RewriteCond %{HTTP_HOST} !^www\. [NC] - # RewriteRule ^ http://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301] - # - # To redirect all users to access the site WITHOUT the 'www.' prefix, - # (http://www.example.com/... will be redirected to http://example.com/...) - # uncomment the following: - # RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC] - # RewriteRule ^ http://%1%{REQUEST_URI} [L,R=301] - - # Modify the RewriteBase if you are using Drupal in a subdirectory or in a - # VirtualDocumentRoot and the rewrite rules are not working properly. - # For example if your site is at http://example.com/drupal uncomment and - # modify the following line: - # RewriteBase /drupal - # - # If your site is running in a VirtualDocumentRoot at http://example.com/, - # uncomment the following line: - # RewriteBase / - - # Pass all requests not referring directly to files in the filesystem to - # index.php. Clean URLs are handled in drupal_environment_initialize(). - RewriteCond %{REQUEST_FILENAME} !-f - RewriteCond %{REQUEST_FILENAME} !-d - RewriteCond %{REQUEST_URI} !=/favicon.ico - RewriteRule ^ index.php [L] - - # Rules to correctly serve gzip compressed CSS and JS files. - # Requires both mod_rewrite and mod_headers to be enabled. - - # Serve gzip compressed CSS files if they exist and the client accepts gzip. - RewriteCond %{HTTP:Accept-encoding} gzip - RewriteCond %{REQUEST_FILENAME}\.gz -s - RewriteRule ^(.*)\.css $1\.css\.gz [QSA] - - # Serve gzip compressed JS files if they exist and the client accepts gzip. - RewriteCond %{HTTP:Accept-encoding} gzip - RewriteCond %{REQUEST_FILENAME}\.gz -s - RewriteRule ^(.*)\.js $1\.js\.gz [QSA] - - # Serve correct content types, and prevent mod_deflate double gzip. - RewriteRule \.css\.gz$ - [T=text/css,E=no-gzip:1] - RewriteRule \.js\.gz$ - [T=text/javascript,E=no-gzip:1] - - - # Serve correct encoding type. - Header set Content-Encoding gzip - # Force proxies to cache gzipped & non-gzipped css/js files separately. - Header append Vary Accept-Encoding - - - - - ErrorLog /var/log/apache2/<%= @name %>_error.log - LogLevel warn - CustomLog /var/log/apache2/<%= @name %>_access.log combined - ServerSignature Off - diff --git a/templates/settings.php.erb b/templates/settings.php.erb deleted file mode 100644 index 28f68d5..0000000 --- a/templates/settings.php.erb +++ /dev/null @@ -1,28 +0,0 @@ - -<% if @conf_cron_key %> -$conf['cron_key'] = '<%= @conf_cron_key %>'; -<% end %> -<% if @conf_markdown_directory %> -$conf['groups_feeds_markdown_directory'] = '<%= @conf_markdown_directory %>'; -<% end %> -<% if @conf_ga_account %> -$conf['googleanalytics_account'] = '<%= @conf_ga_account %>'; -<% end %> -<% if @conf_openid_provider %> -$conf['groups_openid_provider'] = '<%= @conf_openid_provider %>'; -<% end %> - -<%# Build configuration from conf parameter %> -<% if @conf %> -<% @conf.each do |key, value| -%> -$conf['<%= key %>'] = '<%= value %>'; -<% end -%> -<% end %>