content => template('site_hadoop/krb5.conf.erb'),
}
- file { '/var/kerberos/krb5kdc/kdc.conf':
+ file { "${site_hadoop::kdc::kdc_dir}/kdc.conf":
mode => '0600',
content => template('site_hadoop/kdc.conf.erb'),
}
exec { 'kdb5_util-create':
command => "kdb5_util create -s -P ${site_hadoop::kdc::master_password}",
path => '/sbin:/usr/sbin:/bin:/usr/bin',
- creates => '/var/kerberos/krb5kdc/principal',
+ creates => "${site_hadoop::kdc::kdc_dir}/principal",
}
File['/etc/krb5.conf'] -> Exec['kdb5_util-create']
- File['/var/kerberos/krb5kdc/kdc.conf'] -> Exec['kdb5_util-create']
+ File["${site_hadoop::kdc::kdc_dir}/kdc.conf"] -> Exec['kdb5_util-create']
}
class site_hadoop::kdc::params {
+ case $::osfamily {
+ 'Debian': {
+ $daemons = {
+ 'kadmin' => 'krb5-admin-server',
+ 'kdc' => 'krb5-kdc',
+ }
+ }
+ 'RedHat': {
+ $daemons = {
+ 'kadmin' => 'kadmin',
+ 'kdc' => 'krb5kdc',
+ }
+ }
+ }
+
+ $kdc_dir = $::osfamily ? {
+ debian => '/var/lib/krb5kdc',
+ redhat => '/var/kerberos/krb5kdc',
+ }
+
$kdc_packages = $::osfamily ? {
+ debian => ['krb5-kdc', 'krb5-admin-server'],
redhat => ['krb5-server', 'krb5-workstation'],
}
+
$realm = 'HADOOP'
+
$kdcserver = $::fqdn
+
$master_password = '12345'
}
class site_hadoop::kdc::service {
- service{'kadmin':
+ service{$site_hadoop::kdc::daemons['kadmin']:
ensure => running,
}
- service{'krb5kdc':
+ service{$site_hadoop::kdc::daemons['kdc']:
ensure => running,
}
}
+<% if scope.lookupvar('::osfamily') == 'debian' -%>
+[kdcdefaults]
+ kdc_ports = 750,88
+
+[realms]
+ <%= @realm -%> = {
+ database_name = /var/lib/krb5kdc/principal
+ admin_keytab = FILE:/etc/krb5kdc/kadm5.keytab
+ acl_file = /etc/krb5kdc/kadm5.acl
+ key_stash_file = /etc/krb5kdc/stash
+ kdc_ports = 750,88
+ max_life = 10h 0m 0s
+ max_renewable_life = 7d 0h 0m 0s
+ master_key_type = des3-hmac-sha1
+ supported_enctypes = aes256-cts:normal arcfour-hmac:normal des3-hmac-sha1:normal des-cbc-crc:normal des:normal des:v4 des:norealm des:onlyrealm des:afs3
+ default_principal_flags = +preauth
+ }
+<% elsif scope.lookupvar('::osfamily') == 'redhat' -%>
[kdcdefaults]
kdc_ports = 88
kdc_tcp_ports = 88
admin_keytab = /var/kerberos/krb5kdc/kadm5.keytab
supported_enctypes = aes256-cts:normal aes128-cts:normal des3-hmac-sha1:normal arcfour-hmac:normal camellia256-cts:normal camellia128-cts:normal des-hmac-sha1:normal des-cbc-md5:normal des-cbc-crc:normal
}
+<% end -%>