aboutsummaryrefslogtreecommitdiff
path: root/manifests/init.pp
blob: 287590e06ba9db3eb12b8b5dae2df6d8f1f9953d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
class drupal(
  $folder = "${apache::www_folder}/drupal",
  $sites_folder = "${apache::sites_folder}",
  $www_folder = "${apache::sites_www_folder}"
) {
  include pear

  # We use drupal source from upstream 
  package { "drupal6":
      ensure => absent,
  }

  # Needed packages
  package { [ "drush", "php5-gd", "php5-imagick" ]:
      ensure => installed,
  }

  # Drupal management script
  file { "/usr/local/sbin/drupal":
    ensure  => present,
    content => template('drupal/drupal.sh.erb'),
    owner   => root,
    group   => root,
    mode    => 755,
  }

  # Run drupal cron
  cron { "drupal-cron":
    command  => "/usr/local/sbin/drupal cron &> /dev/null",
    user     => root,
    hour     => "*/1",
    minute   => "15",
    ensure   => present,
    require  => File['/usr/local/sbin/drupal'],
  }

  # Keep themes and modules up-to-date
  cron { "drupal-update":
    command  => "/usr/local/sbin/drupal cron-update",
    user     => root,
    hour     => "02",
    minute   => "30",
    ensure   => present,
  }

  # Drupal shared folder
  file { "/usr/local/share/drupal":
    ensure  => directory,
    owner   => root,
    group   => root,
    mode    => 755,
  }

  # Drupal 6 makefile
  file { "/usr/local/share/drupal/drupal6.make":
    ensure  => present,
    owner   => root,
    group   => root,
    mode    => 644,
    source  => "puppet:///modules/drupal/drupal6.make",
    require => File['/usr/local/share/drupal'],
  }

  # Drupal 7 makefile
  file { "/usr/local/share/drupal/drupal7.make":
    ensure  => present,
    owner   => root,
    group   => root,
    mode    => 644,
    source  => "puppet:///modules/drupal/drupal7.make",
    require => File['/usr/local/share/drupal'],
  }

  # Drupal 6 theme makefile
  file { "/usr/local/share/drupal/themes6.make":
    ensure  => present,
    owner   => root,
    group   => root,
    mode    => 644,
    source  => "puppet:///modules/drupal/themes6.make",
    require => File['/usr/local/share/drupal'],
  }

  # Drupal 7 theme makefile
  file { "/usr/local/share/drupal/themes7.make":
    ensure  => present,
    owner   => root,
    group   => root,
    mode    => 644,
    source  => "puppet:///modules/drupal/themes7.make",
    require => File['/usr/local/share/drupal'],
  }
}