X-Git-Url: https://git.adam-barratt.org.uk/?a=blobdiff_plain;f=modules%2Froles%2Fmanifests%2Fstatic_base.pp;h=fa756d692abdd30d677e50b6bfbdd5f346b258b3;hb=0aa086d9cbd14ffa4946355a64a257f9069c2bc4;hp=2de3b9b6e16b45cca35697e3c61a0d07050de846;hpb=a95dfc2201046441a1b3bc2dc9aeccd1f8020e97;p=mirror%2Fdsa-puppet.git diff --git a/modules/roles/manifests/static_base.pp b/modules/roles/manifests/static_base.pp index 2de3b9b6e..fa756d692 100644 --- a/modules/roles/manifests/static_base.pp +++ b/modules/roles/manifests/static_base.pp @@ -1,11 +1,53 @@ class roles::static_base { - if ! $::staticsync_key { - exec { 'create-staticsync-key': - command => '/bin/su - staticsync -c \'mkdir -p -m 02700 .ssh && ssh-keygen -C "`whoami`@`hostname` (`date +%Y-%m-%d`)" -P "" -f .ssh/id_rsa -q\'', - onlyif => '/usr/bin/getent passwd staticsync > /dev/null && ! [ -e /home/staticsync/.ssh/id_rsa ]' - } - } + if ! $::staticsync_key { + exec { 'create-staticsync-key': + command => '/bin/su - staticsync -c \'mkdir -p -m 02700 .ssh && ssh-keygen -C "`whoami`@`hostname` (`date +%Y-%m-%d`)" -P "" -f .ssh/id_rsa -q\'', + onlyif => '/usr/bin/getent passwd staticsync > /dev/null && ! [ -e /home/staticsync/.ssh/id_rsa ]' + } + } + + file { '/etc/static-components.conf': + content => template('roles/static-mirroring/static-components.conf.erb'), + } + + file { '/etc/ssh/userkeys/staticsync': + content => template('roles/static-mirroring/staticsync-authorized_keys.erb'), + } + + file { '/usr/local/bin/staticsync-ssh-wrap': + source => 'puppet:///modules/roles/static-mirroring/staticsync-ssh-wrap', + mode => '0555', + } + + file { '/usr/local/bin/static-update-component': + source => 'puppet:///modules/roles/static-mirroring/static-update-component', + mode => '0555', + } + + file { '/usr/local/bin/static-mirror-ssh-wrap': ensure => absent; } + file { '/usr/local/bin/static-master-ssh-wrap': ensure => absent; } + + @ferm::rule { 'dsa-static-bt-v4': + description => 'Allow bt between static hosts', + rule => 'proto tcp mod state state (NEW) mod multiport destination-ports (6881:6999) @subchain \'static-bt\' { saddr ($HOST_STATIC_V4) ACCEPT; }', + notarule => true, + } + @ferm::rule { 'dsa-static-bt-v6': + description => 'Allow bt between static hosts', + domain => 'ip6', + rule => 'proto tcp mod state state (NEW) mod multiport destination-ports (6881:6999) @subchain \'static-bt\' { saddr ($HOST_STATIC_V6) ACCEPT; }', + notarule => true, + } + + file { "/etc/staticsync.conf": + content => @("EOF"), + # This file is sourced by bash + # and parsed by python + # - empty lines and lines starting with a # are ignored. + # - other lines are key=value. No extra spaces anywhere. No quoting. + base=/srv/static.debian.org + masterbase=/home/staticsync/static-master/master + staticuser=staticsync + | EOF + } } -# vim:set et: -# vim:set sts=4 ts=4: -# vim:set shiftwidth=4: