nodeinfo = scope.lookupvar('site::nodeinfo')
out = []
-restricted_purposes = ['kvm host', 'central syslog server', 'puppet master', 'jumphost', 'buildd']
+restricted_purposes = ['kvm host', 'central syslog server', 'puppet master', 'jumphost', 'buildd', 'static-mirror', 'anycast mirror']
restrict_ssh = %w{tchaikovsky draghi adayevskaya}
if (nodeinfo['ldap'].has_key?('purpose')) then
ssh4allowed << '$HOST_STATICMASTER_V4'
ssh6allowed << '$HOST_STATICMASTER_V6'
end
+ if scope.function_has_role(['debian_mirror']) or
+ scope.function_has_role(['security_mirror']) or
+ scope.function_has_role(['historical_mirror']) or
+ scope.function_has_role(['syncproxy']) then
+ ssh4allowed << '$HOST_MIRRORMASTER_V4'
+ ssh6allowed << '$HOST_MIRRORMASTER_V6'
+ end
+ if scope.function_has_role(['debian_mirror']) or
+ scope.function_has_role(['syncproxy']) then
+ ssh4allowed << '$HOST_SYNCPROXY_V4'
+ ssh6allowed << '$HOST_SYNCPROXY_V6'
+ end
+ if scope.function_has_role(['security_mirror']) or
+ scope.function_has_role(['syncproxy']) then
+ ssh4allowed << '$HOST_SECMASTER_V4'
+ ssh6allowed << '$HOST_SECMASTER_V6'
+ end
+ if scope.function_has_role(['historical_mirror']) then
+ ssh4allowed << '$HOST_ARCHIVEMASTER_V4'
+ ssh6allowed << '$HOST_ARCHIVEMASTER_V6'
+ end
+ if scope.function_has_role(['syncproxy']) then
+ ssh4allowed << '$HOST_FTPMASTER_V4'
+ ssh6allowed << '$HOST_FTPMASTER_V6'
+ ssh4allowed << '$HOST_PORTSMASTER_V4'
+ ssh6allowed << '$HOST_PORTSMASTER_V6'
+ end
end
ssh4allowed.length == 0 and ssh4allowed << '0.0.0.0/0'
ssh6allowed.length == 0 and ssh6allowed << '::/0'