--- /dev/null
+class site_hadoop::kdc (
+ $realm = $site_hadoop::kdc::params::realm,
+ $master_password = $site_hadoop::kdc::params::master_password,
+) inherits site_hadoop::kdc::params {
+
+ include site_hadoop::kdc::install
+ include site_hadoop::kdc::config
+ include site_hadoop::kdc::service
+
+ Class['site_hadoop::kdc::install'] ->
+ Class['site_hadoop::kdc::config'] ~>
+ Class['site_hadoop::kdc::service']
+}
--- /dev/null
+class site_hadoop::kdc::config {
+ $realm = $site_hadoop::kdc::realm
+ $domain = $site_hadoop::kdc::domain
+ $kdcserver = $site_hadoop::kdc::kdcserver
+
+ file { '/etc/krb5.conf':
+ mode => '0644',
+ content => template('site_hadoop/krb5.conf.erb'),
+ }
+
+ file { '/var/kerberos/krb5kdc/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',
+ }
+ File['/etc/krb5.conf'] -> Exec['kdb5_util-create']
+ File['/var/kerberos/krb5kdc/kdc.conf'] -> Exec['kdb5_util-create']
+}
--- /dev/null
+class site_hadoop::kdc::install {
+ if $site_hadoop::kdc::kdc_packages {
+ ensure_packages($site_hadoop::kdc::kdc_packages)
+ }
+}
--- /dev/null
+class site_hadoop::kdc::params {
+ $kdc_packages = $::osfamily ? {
+ redhat => ['krb5-server', 'krb5-workstation'],
+ }
+ $realm = 'HADOOP'
+ $kdcserver = $::fqdn
+ $master_password = '12345'
+}
--- /dev/null
+class site_hadoop::kdc::service {
+ service{'kadmin':
+ ensure => running,
+ }
+ service{'krb5kdc':
+ ensure => running,
+ }
+}
--- /dev/null
+[kdcdefaults]
+ kdc_ports = 88
+ kdc_tcp_ports = 88
+
+[realms]
+ <%= @realm -%> = {
+ #master_key_type = aes256-cts
+ acl_file = /var/kerberos/krb5kdc/kadm5.acl
+ dict_file = /usr/share/dict/words
+ 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
+ }
--- /dev/null
+[libdefaults]
+ default_realm = <%= @realm %>
+
+ dns_lookup_kdc = no
+ dns_lookup_realm = no
+ dns_fallback = no
+
+[realms]
+ <%= @realm %> = {
+ kdc = <%= @kdcserver -%>:88
+ admin_server = <%= @kdcserver -%>:749
+ default_domain = <%= @domain %>
+ }
+
+[domain_realm]
+ .<%= @domain %> = <%= @realm %>
+ <%= @domain %> = <%= @realm %>