class gitmirror {

    $git_dir     = '/git'
    $git_login   = 'git'
    $git_homedir = "/var/lib/${git_login}"
    $git_rundir  = '/var/run/on-the-pull'

    group { $git_login:
      ensure => present,
    }

    user { $git_login:
      ensure      => present,
      home        => $git_homedir,
    }

    file { $git_dir:
      ensure => directory,
      owner  => $git_login,
      group  => $git_login,
      mode   => '0755',
    }

    file { $git_rundir:
      ensure => directory,
      mode   => '0755',
    }

    mga_common::local_script { 'on-the-pull':
        source  => 'puppet:///modules/gitmirror/on-the-pull',
    }

    file { '/etc/init.d/on-the-pull':
        source  => 'puppet:///modules/gitmirror/on-the-pull.init',
        mode    => '0755',
    }

    service { 'on-the-pull':
        require  => [
            Mga_common::Local_script["on-the-pull"],
            File['/etc/init.d/on-the-pull'],
        ],
    }

    mga_common::local_script { 'gitmirror-sync-metadata':
        source  => 'puppet:///modules/gitmirror/rsync-metadata.sh',
    }
}