Newer
Older
# Set up basic Kerberos configuration and allow logins via Kerberos rlogin and
#
# **********************************************************************
# NOTE: If you wish to override the file /etc/krb.conf in your own class,
# and you are using the "source" parameter, be sure to undefine the
# "content" parameter or you will get an error. Example:
#
# class s_myclass {
# include base::kerberos
#
# File['/etc/krb5.conf'] {
# source => 'puppet:///modules/s_accounts/etc/krb5.conf',
# content => undef,
# }
# }
# **********************************************************************
#
#
# $krb_env:
# Which kerberos environment to use. Must be one of:
# 'prod', 'uat', 'qa', or 'test'.
# Default: 'prod'
#
# $prefer_tcp:
# Normal kerberos traffic uses UDP, but some applications
# (lookin' at you Java!) work better with TCP. Set this parameter to
# "true" to force the client to prefer TCP to UDP.
# Default: false
# $rdns_enabled:
# If 'true' have the Kerberos client do a reverse DNS lookup on the
# hostname when connecting to a server. This should be set to 'false' if
# you want the client to be able to connect to services where the service
# name's IP address PTR record may not match the hostname (e.g., for
# services running in Amazon Web Services).
class base::kerberos(
$prefer_tcp = false,
$krb_env = 'prod',
$rdns_enabled = true,
){
# We only allow the 'prod', 'uat', and 'test' environments.
case $krb_env {
default: { fail("unrecognized kerberos environment '${krb_env}'") }
}
case $::osfamily {
'RedHat': {
package { 'krb5-workstation': ensure => present }
}
# We intentionally don't do anything here currently since some systems
# use MIT and some use Heimdal. Eventually, this should be a
# parameterized class that says what type of Kerberos to install.
}
default: {
fail("unsupported OS ${::operatingsystem}")
# Check to see if we are in Livermore right now
if ( ip_in_cidr($::ipaddress, '204.63.224.0/21')
or ip_in_cidr($::ipaddress, '172.20.224.0/21')
) {
$drSite = true
} else {
$drSite = false
# Basic Kerberos configuration.
file { '/etc/krb5.conf':
content => template('base/kerberos/krb5.conf.erb')
# base::kerberos::dr is no longer needed, because it's functionality has been
# implemented in base::kerberos.
# Thie class should eventually start failing Puppet builds, and eventually be
# removed altogether.