diff --git a/manifests/init.pp b/manifests/init.pp index 2fa07c3..830afef 100644 --- a/manifests/init.pp +++ b/manifests/init.pp @@ -12,24 +12,17 @@ # License for the specific language governing permissions and limitations # under the License. # -# Define: reviewday +# Class: reviewday # -define reviewday::init( - $gerrit_url = '', - $gerrit_port = '', - $gerrit_user = '', - $reviewday_rsa_key_contents = '', - $reviewday_rsa_pubkey_contents = '', - $reviewday_gerrit_ssh_key = '' -) { - if ! defined(Package['python-launchpadlib']) { - package { 'python-launchpadlib': - ensure => present, - } - } - package { 'python-cheetah': +class reviewday { + if ! defined(Package['python-launchpadlib']) { + package { 'python-launchpadlib': ensure => present, } + } + package { 'python-cheetah': + ensure => present, + } group { 'reviewday': ensure => present, @@ -37,54 +30,13 @@ define reviewday::init( user { 'reviewday': ensure => present, - home => "/var/lib/${name}", + home => '/var/lib/reviewday', shell => '/bin/bash', gid => 'reviewday', managehome => true, require => Group['reviewday'], } - file { "/var/lib/${name}/.ssh/": - ensure => directory, - owner => 'reviewday', - group => 'reviewday', - mode => '0700', - require => User['reviewday'], - } - - if $reviewday_rsa_key_contents != '' { - file { "/var/lib/${name}/.ssh/id_rsa": - owner => 'reviewday', - group => 'reviewday', - mode => '0600', - content => $reviewday_rsa_key_contents, - replace => true, - require => File["/var/lib/${name}/.ssh/"] - } - } - - if $reviewday_rsa_pubkey_contents != '' { - file { "/var/lib/${name}/.ssh/id_rsa.pub": - owner => 'reviewday', - group => 'reviewday', - mode => '0600', - content => $reviewday_rsa_pubkey_contents, - replace => true, - require => File["/var/lib/${name}/.ssh/"] - } - } - - if $reviewday_gerrit_ssh_key != '' { - file { "/var/lib/${name}/.ssh/known_hosts": - owner => 'reviewday', - group => 'reviewday', - mode => '0600', - content => $reviewday_gerrit_ssh_key, - replace => true, - require => File["/var/lib/${name}/.ssh/"] - } - } - } # vim:sw=2:ts=2:expandtab:textwidth=79 diff --git a/manifests/site.pp b/manifests/site.pp index 9581b45..5926839 100644 --- a/manifests/site.pp +++ b/manifests/site.pp @@ -15,26 +15,64 @@ # == Define: reviewday # define reviewday::site( + $gerrit_url = '', + $gerrit_port = '', + $gerrit_user = '', + $reviewday_rsa_key_contents = '', + $reviewday_rsa_pubkey_contents = '', + $reviewday_gerrit_ssh_key = '', $git_url = '', $httproot = '', - $serveradmin = '', + $serveradmin = '' ) { - include apache - vcsrepo { "/var/lib/${name}/reviewday": + file { '/var/lib/reviewday/.ssh/': + ensure => directory, + owner => 'reviewday', + group => 'reviewday', + mode => '0700', + require => User['reviewday'], + } + + if $reviewday_rsa_key_contents != '' { + file { '/var/lib/reviewday/.ssh/id_rsa': + owner => 'reviewday', + group => 'reviewday', + mode => '0600', + content => $reviewday_rsa_key_contents, + replace => true, + require => File['/var/lib/reviewday/.ssh/'] + } + } + + if $reviewday_rsa_pubkey_contents != '' { + file { '/var/lib/reviewday/.ssh/id_rsa.pub': + owner => 'reviewday', + group => 'reviewday', + mode => '0600', + content => $reviewday_rsa_pubkey_contents, + replace => true, + require => File['/var/lib/reviewday/.ssh/'] + } + } + + if $reviewday_gerrit_ssh_key != '' { + file { '/var/lib/reviewday/.ssh/known_hosts': + owner => 'reviewday', + group => 'reviewday', + mode => '0600', + content => $reviewday_gerrit_ssh_key, + replace => true, + require => File['/var/lib/reviewday/.ssh/'] + } + } + + vcsrepo { '/var/lib/reviewday/reviewday': ensure => present, provider => git, source => $git_url, } - apache::vhost { $name: - docroot => $httproot, - port => 80, - priority => '50', - require => File[$httproot], - template => 'reviewday.vhost.erb', - } - file { $httproot: ensure => directory, owner => 'reviewday', @@ -42,19 +80,20 @@ define reviewday::site( mode => '0644', } - file { "/var/lib/${name}/.ssh/config": + file { '/var/lib/reviewday/.ssh/config': ensure => present, content => template('ssh_config.erb'), - owner => reviewday, - group => reviewday, + owner => 'reviewday', + group => 'reviewday', mode => '0644', } - cron { "update ${name} reviewday": - command => "cd /var/lib/${name}/reviewday && PYTHONPATH=\$PWD python bin/reviewday -o /${httproot}", + cron { 'update reviewday': + command => "cd /var/lib/reviewday/reviewday && PYTHONPATH=\$PWD python bin/reviewday -o ${httproot}", minute => '*/15', user => 'reviewday', } + } # vim:sw=2:ts=2:expandtab:textwidth=79 diff --git a/templates/reviewday.vhost.erb b/templates/reviewday.vhost.erb deleted file mode 100644 index 638f6b9..0000000 --- a/templates/reviewday.vhost.erb +++ /dev/null @@ -1,10 +0,0 @@ -:80> - ServerAdmin <%= serveradmin %> - DocumentRoot <%= httproot %> - - ErrorLog ${APACHE_LOG_DIR}/<%= name %>-error.log - - LogLevel warn - - CustomLog ${APACHE_LOG_DIR}/<%= name %>-access.log combined - diff --git a/templates/ssh_config.erb b/templates/ssh_config.erb index 4a0a224..14e5da9 100644 --- a/templates/ssh_config.erb +++ b/templates/ssh_config.erb @@ -2,5 +2,5 @@ Host review Hostname <%= gerrit_url %> Port <%= gerrit_port %> User <%= gerrit_user %> - IdentityFile /var/lib/<%= name %>/.ssh/id_rsa - UserKnownHostsFile /var/lib/<%= name %>/.ssh/known_hosts + IdentityFile /var/lib/reviewday/.ssh/id_rsa + UserKnownHostsFile /var/lib/reviewday/.ssh/known_hosts