Don't like ads? PRO users don't see any ads ;-)
Guest

Untitled

By: a guest on Aug 3rd, 2012  |  syntax: None  |  size: 1.34 KB  |  hits: 13  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. class mongodb {
  2.  
  3.     $add-key = "/usr/bin/apt-key adv --keyserver keyserver.ubuntu.com --recv 7F0CEB10"
  4.     $mongodb-repo = "deb http://downloads-distro.mongodb.org/repo/ubuntu-upstart dist 10gen"
  5.  
  6.     Exec { require => Package["python-software-properties"] }
  7.  
  8.     exec { "add-10gen-key":
  9.         command => $add-key,
  10.         onlyif => "/usr/bin/apt-key list | /usr/bin/awk '$0 ~ /10gen/ { exit 1 }' /etc/apt/sources.list"
  11.     }
  12.  
  13.     exec { "10gen-repo" :
  14.         command => "/usr/bin/add-apt-repository '${mongodb-repo}'",
  15.         require => Exec["add-10gen-key"],
  16.         onlyif => "/usr/bin/awk '$0 ~ /10gen/ { exit 1 }' /etc/apt/sources.list"
  17.     }
  18.  
  19.     $required-execs = [ "10gen-repo" ]
  20.  
  21.     exec { "mongodb-apt-ready" :
  22.         command => "/usr/bin/apt-get update",
  23.         require => Exec[$required-execs],
  24.         onlyif => "/usr/bin/test ! -x /usr/bin/mongo"
  25.     }
  26.  
  27.     package { [ "mongodb-10gen" ] :
  28.         ensure => "installed",
  29.         require => Exec["mongodb-apt-ready"]
  30.     }
  31.  
  32.     service { "mongodb":
  33.         ensure => "running",
  34.         enable => "true",
  35.         require => Package["mongodb-10gen"]
  36.     }
  37.  
  38.     file { "/etc/mongodb.conf":
  39.         notify => Service["mongodb"],
  40.         mode => 600,
  41.         owner => "root",
  42.         group => "root",
  43.         require => Package["mongodb-10gen"],
  44.         content => template("mongodb/mongodb.conf.erb")
  45.     }
  46. }