puppet/google/manifests/init.pp

91 lines
2.4 KiB
Puppet

# Install common prequisites for Google products.
#
class google::common {
case $::operatingsystem {
"centos","redhat","fedora": {
include yum::repo::google
}
default: {
fail("Google products via puppet not supported on ${::operatingsystem}")
}
}
}
# Install Google Chrome browser.
#
# == Parameters:
#
# $managed:
# Source for managed profile settings, defaults to none.
#
# $recommended:
# Source for recommended profile settings, defaults to none.
#
class google::chrome($managed=undef, $recommended=undef) {
include google::common
package { "google-chrome-beta":
ensure => installed,
require => Class["google::common"],
}
if $managed or $recommended {
file { [ "/etc/opt", "/etc/opt/chrome", "/etc/opt/chrome/policies", ]:
ensure => directory,
mode => "0755",
owner => "root",
group => "root",
}
if $managed {
file { "/etc/opt/chrome/policies/managed":
ensure => directory,
mode => "0755",
owner => "root",
group => "root",
require => File["/etc/opt/chrome/policies"],
}
file { "/etc/opt/chrome/policies/managed/defaults.json":
ensure => present,
source => $managed,
mode => "0644",
owner => "root",
group => "root",
require => File["/etc/opt/chrome/policies/managed"],
}
}
if $recommended {
file { "/etc/opt/chrome/policies/recommended":
ensure => directory,
mode => "0755",
owner => "root",
group => "root",
require => File["/etc/opt/chrome/policies"],
}
file { "/etc/opt/chrome/policies/recommended/defaults.json":
ensure => present,
source => $recommended,
mode => "0644",
owner => "root",
group => "root",
require => File["/etc/opt/chrome/policies/recommended"],
}
}
}
}
# Install Google Desktop.
#
class google::desktop {
include google::common
package { "google-desktop-linux":
ensure => installed,
require => Class["google::common"],
}
}