{"id":23984596,"url":"https://github.com/tohuwabohu/puppet-drupal","last_synced_at":"2025-04-14T08:43:48.143Z","repository":{"id":21614968,"uuid":"24935310","full_name":"tohuwabohu/puppet-drupal","owner":"tohuwabohu","description":"Puppet module to manage one or more Drupal installations.","archived":false,"fork":false,"pushed_at":"2024-09-23T16:58:41.000Z","size":285,"stargazers_count":0,"open_issues_count":2,"forks_count":3,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-06T21:46:01.791Z","etag":null,"topics":["drupal","drush","drush-makefiles","puppet"],"latest_commit_sha":null,"homepage":null,"language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tohuwabohu.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2014-10-08T10:16:21.000Z","updated_at":"2024-09-23T16:58:39.000Z","dependencies_parsed_at":"2023-02-14T15:16:18.106Z","dependency_job_id":"99a07d3c-bd5b-4472-93e8-316a2f629d67","html_url":"https://github.com/tohuwabohu/puppet-drupal","commit_stats":null,"previous_names":[],"tags_count":14,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tohuwabohu%2Fpuppet-drupal","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tohuwabohu%2Fpuppet-drupal/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tohuwabohu%2Fpuppet-drupal/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tohuwabohu%2Fpuppet-drupal/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tohuwabohu","download_url":"https://codeload.github.com/tohuwabohu/puppet-drupal/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248850201,"owners_count":21171717,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["drupal","drush","drush-makefiles","puppet"],"created_at":"2025-01-07T13:33:43.393Z","updated_at":"2025-04-14T08:43:48.119Z","avatar_url":"https://github.com/tohuwabohu.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"# drupal\n\n[![License](https://img.shields.io/github/license/tohuwabohu/puppet-drupal.svg)](https://github.com/tohuwabohu/puppet-drupal/blob/master/LICENSE.txt)\n[![build-and-test](https://github.com/tohuwabohu/puppet-drupal/actions/workflows/main.yml/badge.svg)](https://github.com/tohuwabohu/puppet-drupal/actions/workflows/main.yml)\n[![Puppet Forge](https://img.shields.io/puppetforge/v/tohuwabohu/drupal.svg)](https://forge.puppetlabs.com/tohuwabohu/drupal)\n[![Puppet Forge - downloads](https://img.shields.io/puppetforge/dt/tohuwabohu/drupal.svg)](https://forge.puppetlabs.com/tohuwabohu/drupal)\n\n## Overview\n\nInstall and manage different versions of Drupal including modules and sites.\n\n## Usage\n\nThe module uses [Drush](https://github.com/drush-ops/drush) and the Drush makefiles to manage a Drupal site\nconfiguration. So everytime any of the Puppet configuration changes, the whole site will be rebuild from ground. To be\nable to do this, the site configuration (`settings.php`) and `files` have to be kept outside of the actual Drupal site.\nFurthermore, multi-site configurations are currently not supported.\n\nThe structure of the three major properties (`modules`, `themes` and `libraries`) translates directly to the Drush\nmakefile format. See [here](https://github.com/drush-ops/drush/blob/master/examples/example.make) for an example of the\npossible configuration.\n\nInstall Drupal 7 with a bunch of modules, a theme and a library:\n\n```\ndrupal::site { 'example.com':\n  core_version =\u003e '7.32',\n  modules      =\u003e {\n    'ctools'   =\u003e '1.4',\n    'token'    =\u003e '1.5',\n    'pathauto' =\u003e '1.2',\n    'views'    =\u003e '3.8',\n  },\n  themes       =\u003e {\n    'omega' =\u003e '4.3',\n  },\n  libraries    =\u003e {\n    'jquery_ui' =\u003e {\n      'download' =\u003e {\n        'type' =\u003e 'file',\n        'url'  =\u003e 'http://jquery-ui.googlecode.com/files/jquery.ui-1.6.zip',\n        'md5'  =\u003e 'c177d38bc7af59d696b2efd7dda5c605',\n      },\n    },\n  },\n}\n```\n\nInstall Drupal 6:\n\n```\ndrupal::site { 'example.com':\n  core_version =\u003e '6.33',\n}\n```\n\nInstall a module from a custom location:\n\n```\ndrupal::site { 'example.com':\n  modules =\u003e {\n    'cck'   =\u003e {\n      'download' =\u003e {\n        'type' =\u003e 'file',\n        'url'  =\u003e 'http://ftp.drupal.org/files/projects/cck-6.x-2.9.tar.gz',\n        'md5'  =\u003e '9e30f22592b7ecf08d020e0c626efc5b',\n      },\n    },\n  },\n}\n```\n\nApply a patch:\n\n```\ndrupal::site { 'example.com':\n  modules =\u003e {\n    'pathauto' =\u003e {\n      'version' =\u003e '1.2',\n      'patch'   =\u003e [\n        'https://www.drupal.org/files/pathauto_admin.patch'\n      ],\n    },\n  },\n}\n```\n\nInstall the `jquery_ui` library into `sites/all/modules/jquery_ui/jquery.ui` as opposed to `sites/all/libraries/jquery_ui`.\n\n```\ndrupal::site { 'example.com':\n  libraries =\u003e {\n    'jquery_ui' =\u003e {\n      'download'       =\u003e {\n        'type' =\u003e 'file',\n        'url'  =\u003e 'https://www.dropbox.com/s/kcg4l39c3bqgee1/jquery.ui-1.6.zip',\n        'md5'  =\u003e 'c177d38bc7af59d696b2efd7dda5c605',\n      },\n      'destination'    =\u003e 'modules/jquery_ui',\n      'directory_name' =\u003e 'jquery.ui',\n    },\n  },\n}\n```\n\nConfigure the cron job:\n\n```\ndrupal::site { 'example.com':\n  cron_email_address =\u003e 'webmaster',\n}\n```\n\nDisable the cron job (e.g. if it is managed separately):\n\n```\ndrupal::site { 'example.com':\n  cron_file_ensure =\u003e absent,\n}\n```\n\n## Limitations\n\nDrupal-specific\n\n* No multi-sites support\n* No backup configuration\n* Drupal site configuration (`settings.xml`) has to be provided\n\nThe module has been tested on the following operating systems. Testing and patches for other platforms are welcome.\n\n* Debian 9.0 (Stretch)\n* Debian 10.0 (Buster)\n* Ubuntu 18.04 (Bionic Beaver)\n* Ubuntu 20.04 (Focal Fossa)\n\n[![Build Status](https://travis-ci.org/tohuwabohu/puppet-drupal.png?branch=master)](https://travis-ci.org/tohuwabohu/puppet-drupal)\n\n## Contributing\n\n1. Fork it\n2. Create your feature branch (`git checkout -b my-new-feature`)\n3. Commit your changes (`git commit -am 'Add some feature'`)\n4. Push to the branch (`git push origin my-new-feature`)\n5. Create new Pull Request\n\n### Development\n\nThis project uses rspec-puppet and beaker to ensure the module works as expected and to prevent regressions.\n\n```\ngem install bundler\nbundle install --path vendor\n\nbundle exec rake spec\nbundle exec rake beaker\n```\n(note: see [Beaker - Supported ENV variables](https://github.com/puppetlabs/beaker-rspec/blob/master/README.md)\nfor a list of environment variables to control the default behaviour of Beaker)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftohuwabohu%2Fpuppet-drupal","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftohuwabohu%2Fpuppet-drupal","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftohuwabohu%2Fpuppet-drupal/lists"}