الفرق بين المراجعتين ل"وصفات puppet master المستخدمة في معسكر 2013"

من ويكي أضِف
اذهب إلى التنقل اذهب إلى البحث
(+site.pp)
(لا فرق)

مراجعة 11:48، 3 سبتمبر 2013

/etc/puppet/manifestations/site.pp

#class { 'apt':}
import "nodes"
import "templates"
import "sudo"

filebucket {
     main: server => puppet
}

file {
	'/tmp/squeak-vm_4.10.2.2614-1ubuntu2_amd64.deb':
        ensure => file,
        source => "puppet:///modules/adefcamps/squeak-vm_4.10.2.2614-1ubuntu2_amd64.deb",
        # unless has to be an executed command :S ... a7a ...
	#unless => package['squeak-vm_4.10.2.2614-1ubuntu2_amd64.deb']
}

package {
    'squeak-vm_4.10.2.2614-1ubuntu2_amd64.deb':
        ensure => present,
        provider => dpkg,
        source => '/tmp/squeak-vm_4.10.2.2614-1ubuntu2_amd64.deb',
        require => file['/tmp/squeak-vm_4.10.2.2614-1ubuntu2_amd64.deb']
}

file {
	'/tmp/qstopmotion-1.0.1-Linux.deb':
        ensure => file,
        source => "puppet:///modules/adefcamps/qstopmotion-1.0.1-Linux.deb"
}
package {
	'gstreamer-tools':
        ensure => present,
}
package {
	'libqt4-core':
        ensure => present,
}
package {
	'libqt4-gui':
        ensure => present,
}
package {
    'qstopmotion':
        provider => dpkg,
        ensure => present,
        source => '/tmp/qstopmotion-1.0.1-Linux.deb',
	require => [package['gstreamer-tools'],package['libqt4-core'],package['libqt4-gui']]
}

package {
    'traceroute':
        ensure => present,
}


#exec {
#   'test-test':
#        command => "echo test >> /tmp/test",
#        path    => "/bin"
#}

user {
    'adefadmin':
}

user {
    'root':
        password => '$6$here_goes$someencryptedpassword.',
        uid => 0,
        comment  => 'root',
}
# Caching packages requirement (fist thing to be done)
package {
    'squid-deb-proxy-client':
        ensure => installed
}

exec {
    'apt-get update':
         command => "/usr/bin/apt-get update",
         subscribe => exec['add-sunab-kdenlive-release-ppa']
}
package {
    'squid-deb-proxy':
        ensure => purged
}

package {
    'squid3':
        ensure => purged
}
# START PUPPET REQUIREMENTS
package {
   'augeas-tools':
       ensure => installed
}

package {
   'libaugeas-ruby':
       ensure => installed
}

augeas {
    'enable-puppet-listen':
       context => "/files/etc/puppet/puppet.conf/main",
       changes => "set listen true"
}

augeas {
    "enable-puppet-agent":
        context => "/files/etc/default/puppet",
        changes => "set START yes"
}

file {
    "/etc/puppet/auth.conf":
       content => "path /run
auth yes
allow *
"
}

service {
    "puppet":
        ensure => running,
        subscribe => file["/etc/puppet/auth.conf"]
}
# END PUPPET REQUIREMENTS
# START SESSION SETTINGS ; KEYBOARD LAYOUT
#augeas {
#   'gsettings-system-wide-ar-en-keyboard-layout':
#       lens    => "Xml.lns",
#       incl    => "/usr/share/glib-2.0/schemas/org.gnome.libgnomekbd.keyboard.gschema.xml",
#       context => "/files/usr/share/glib-2.0/schemas/org.gnome.libgnomekbd.keyboard.gschema.xml",
#       changes => "set schemalist/schema/key[2]/default ['ara','us']"
#}

# END SESSION SETTINGS

# START CENTEAL AUTH STUFF

#exec {
#    'add-and-enable-ldap-auth-and-ccreds':
#        command => "wget http://arabdigitalexpression.org/adefwiki/images/b/ba/Adef-camps-script-1.txt -O /usr/local/bin/adef-camps-script-1; chmod 544 /usr/local/bin/adef-camps-script-1; /usr/local/bin/adef-camps-script-1",
#        path    => "/bin:/usr/bin",
#        unless  => "test -e /usr/local/bin/adef-camps-script-1",
#}
#file {
#	'/usr/local/bin/adef-camps-script-1':
#	ensure => present,
#	source => 'puppet:///modules/adefcamps/adef-camps-script-1'
#}

augeas {
    'enable-lightdm-manual-login':
        context => "/files/etc/lightdm/lightdm.conf/SeatDefaults",
        changes => ["set greeter-show-manual-login true","set allow-guest false"]
}

augeas {
    'hide-adefadmin-from-lightdm':
         context => "/files/etc/lightdm/users.conf/UserAccounts",
         changes => "set hidden-users 'nobody nobody4 noaccess adefadmin'"
}

# setup of nfs access via automount/autofs
package {
    'autofs':
        ensure => installed
}

package {
    'nfs-common':
        ensure => installed
}

#file {
#    "/etc/auto.adefcamps":
#	ensure => file,
#	content => "SAN -fstype=nfs 10.0.0.16:/export/SAN"
#}

file {
    "/adefcamps":
        ensure => directory
}

exec {
    'add-adefcamps-automount':
    command => "echo  '/adefcamps /etc/auto.adefcamps --ghost' | tee -a  /etc/auto.master",
    path => "/bin/:/usr/bin/",
    unless => "grep adefcamps /etc/auto.master"
}


service {
    'autofs-service':
       name => "autofs",
       enable => true,
       ensure => running,
       require => [package['autofs'],file['/adefcamps']]
}

# END OF AUTOMOUNT SETUP


# START OF AUTOHOME 

#package {
#    'autodir':
#        ensure => installed,
#        #before => service['autodir-service']
#}

#augeas {
#    'configure-autohome-service':
#        context => "/files/etc/default/autodir",
#        changes => ["set AUTOHOME_HOME /users",'set RUN_AUTOHOME "yes"']
#}


file {
    '/users':
	ensure => directory;
}

#service {
#    'autodir-service':
#       name => "autodir",
#       enable => true,
#       ensure => running,
#       require => [package['autodir'],file['/users']],
#       subscribe => augeas['configure-autohome-service']
#}


# END OF AUTOHOME

# START OF IT TRACK SOFTWARE
package {
    'scratch':
        ensure => installed
}

exec {
    'install-processing':
        environment => "http_proxy=http://10.0.0.6:8000",
        path => "/usr/bin:/bin:",
        command => "wget http://download.processing.org/processing-2.0.2-linux64.tgz -O /tmp/processing-2.0.2-linux64.tgz; tar xzf /tmp/processing-2.0.2-linux64.tgz -C /tmp ; mv /tmp/processing-2.0.2/* /usr/local/bin/",
        unless => "test -e /usr/local/bin/processing"
}

file {
    'processing-deskotp':
	ensure => file,
	path => "/usr/share/applications/processing.desktop",
        source => "puppet:///modules/adefcamps/processing.desktop"
	
}
# END OF IT TRACK SOFTWARE

# START OF VIDEO SOFTWARE
# START KDENLIVE INSTALL

exec {
    'add-sunab-kdenlive-release-ppa':
        command => "apt-add-repository -y ppa:sunab/kdenlive-release",
        path => "/usr/bin",
        unless => "test -e /etc/apt/sources.list.d/sunab-kdenlive-release-raring.list"
}

package {
    'kdenlive':
        ensure => '0.9.6-0ubuntu0~sunab~raring1',
        require  => [exec['add-sunab-kdenlive-release-ppa'],exec['apt-get update']]
}

package {
    'x264':
        ensure => installed
}

package {
    'libx264-123':
        ensure => installed
}

package {
    'libavcodec-extra-53':
        ensure => installed
}
#exec {
#    'add-lmms-repo':
#        command => "apt-add-repository ppa:dns/sound",
#        path => "/usr/bin"
#}

# END KDENLIVE INSTALL

package {
    'hydrogen': 
        ensure => installed 
}

package {
    'flashplugin-installer':
        ensure => installed
}

package {
    'pitivi': 
        ensure => installed 
}

package {
    'audacity': 
        ensure => installed 
}

file {
    '/usr/local/bin/audacity':
        ensure => file,
        content => "#!/bin/bash
LANGUAGE='en'
/usr/bin/audacity
",
         mode => 755
}

package {
    'lmms': 
        ensure => installed 
}

package {
    'mixxx': 
        ensure => installed 
}

package {
    'ardour': 
        ensure => installed 
}

package {
    'jack': 
        ensure => installed 
}

package {
    'vocproc': 
        ensure => installed 
}

package {
    'gimp': 
        ensure => installed 
}

package {
    'inkscape': 
        ensure => installed 
}

package {
    'pencil': 
        ensure => installed 
}

package {
    'stopmotion': 
        ensure => installed 
}

package {
    'rosegarden': 
        ensure => installed 
}

package {
    'blender': 
        ensure => installed 
}

package {
    'winff': 
        ensure => installed 
}


package {
    'ubuntu-restricted-extras': 
        ensure => installed 
}

package {
    'vlc': 
        ensure => installed 
}

package {
    'soundconverter': 
        ensure => installed 
}

package {
    'synfigstudio': 
        ensure => installed 
}

package {
    'fonts-arabeyes': 
        ensure => installed 
}

package {
    'fonts-hosny-amiri': 
        ensure => installed 
}

package {
    'fonts-hosny-thabit': 
        ensure => installed 
}

package {
    'k3b': 
        ensure => installed 
}

package {
    'openshot': 
        ensure => installed 
}

# other useful tools:
package {
    'comix': 
        ensure => installed 
}

package {
    'playonlinux': 
        ensure => installed 
}

package {
    'gcstar': 
        ensure => installed 
}

package {
    'desktop-webmail': 
        ensure => installed 
}

#package {
#    'skype': 
#       ensure => installed 
#}

#package {
#    'jitsi': 
#        ensure => installed 
#}

package {
    'guvcview': 
        ensure => installed 
}

package {
    'vnc4server': 
        ensure => installed 
}

package {
    'cowsay': 
        ensure => installed 
}

package {
    'filezilla': 
        ensure => installed 
}