Changes

no edit summary
Line 1: Line 1: −
{{TOCright}}
+
Sugar Labs Puppet infrastructure.
 +
 
 +
== Recipes ==
 +
 
 +
There are two kinds of Puppet recipes:
   −
Sugar Labs Puppet infrastructure.
+
* Puppet modules that are abstracted from final usage on particular Sugar Labs sites,
 +
* and recipes that composite modules and describe final configurations of Sugar Labs services.
   −
== Modules ==
+
=== Modules ===
   −
Modules are end-usage environment independent blocks to build final configuration. All end-usage configuration happen via class/define/type arguments from out of these modules in the nodes. Modules are stored in vcs.
+
Puppet modules configure particular service, e.g., mysqld and are not tied to final configurations. All modules are collected as repositories in [http://git.sugarlabs.org/puppets puppets] Gitorious project. Modules might be created from scratch or mirrored from upstream, so, all modules that are used within Sugar Labs are stored in one place. Model repository might have followed branches:
   −
=== Low-level ===
+
* ''master'', development version (might be absent if project is mirrorred from upstream),
 +
* ''production'', version is being used in production,
 +
* ''upstream'', if it is mirrorred project.
   −
'''[http://git.sugarlabs.org/projects/puppet-util util]'''
+
=== Final configuration ===
[http://git.sugarlabs.org/projects/puppet-util/repos/mainline/blobs/master/README README]<br>
  −
Common infrastructure routines. Module contains only code, not any data.
     −
'''[http://git.sugarlabs.org/projects/puppet-firewall firewall]'''
+
Final recipes are stored on [[Machine/lightwave|puppetmaster host]] in private git repository:
[http://git.sugarlabs.org/projects/puppet-firewall/repos/mainline/blobs/master/README README]<br>
  −
High level setup of iptables.
     −
'''[http://git.sugarlabs.org/projects/puppet-mysql mysql]'''
+
* {{Code|/var/lib/puppet/etc/puppet.git}}
[http://git.sugarlabs.org/projects/puppet-mysql/repos/mainline/blobs/master/README README]<br>
+
* {{Code|/var/lib/puppet/etc/puppet}} detached working directory
MySQL procedures.
+
* {{Code|/etc/puppet}} symlink to detached working directory
 +
* {{Code|/var/lib/puppet/etc/puppet.git/config}}:
   −
'''[http://git.sugarlabs.org/projects/puppet-lighttpd lighttpd]'''
+
[core]
[http://git.sugarlabs.org/projects/puppet-lighttpd/repos/mainline/blobs/master/README README]<br>
+
repositoryformatversion = 0
Lighttpd support.
+
filemode = true
 +
bare = false
 +
sharedRepository = true
 +
logallrefupdates = true
 +
worktree = /etc/puppet
 +
 +
[receive]
 +
denycurrentbranch = ignore
 +
 +
[hooks]
 +
mailinglist = systems-logs@...
 +
emailprefix = "[PUPPET] "
 +
showrev = "git show -C %s; echo"
   −
'''[http://github.com/alsroot/puppet-vcsrepo vcsrepo]'''
+
* {{Code|/var/lib/puppet/etc/puppet.git/description}}:
[http://github.com/reductivelabs/puppet-vcsrepo/raw/master/README.GIT.markdown README]<br>
  −
Version control systems procedures.
     −
'''[http://git.sugarlabs.org/projects/puppet-memcached memcached]'''
+
Sugar Labs Puppet configuration
[http://git.sugarlabs.org/projects/puppet-memcached/repos/mainline/blobs/master/README README]<br>
  −
Setup memcached.
     −
=== End applications ===
+
* {{Code|/var/lib/puppet/etc/puppet.git/hooks/post-receive}}
   −
'''[http://git.sugarlabs.org/projects/puppet-supybot supybot]'''
+
#!/bin/bash
[http://git.sugarlabs.org/projects/puppet-supybot/repos/mainline/blobs/master/README README]<br>
+
/bin/bash /usr/share/doc/git-core/contrib/hooks/post-receive-email
Setup supybot IRC bot.
+
git checkout -f
 +
tail -n0 -f /var/log/daemon.log &
 +
puppet kick --all
 +
sleep 3
   −
'''[http://git.sugarlabs.org/projects/puppet-bazaar bazaar]'''
+
Git repository has submodules to all, used on all puppetized hosts, modules from [http://git.sugarlabs.org/puppets puppets] project. All submodules are checked out to ''production'' branch.
[http://git.sugarlabs.org/projects/puppet-bazaar/repos/mainline/blobs/master/README README]<br>
  −
Maintain bazaar.sugarlabs.org infrastructure.
      
== Nodes ==
 
== Nodes ==