diff --git a/manifests/key_management.pp b/manifests/key_management.pp index bccffe56..06dd980c 100644 --- a/manifests/key_management.pp +++ b/manifests/key_management.pp @@ -68,11 +68,14 @@ group => $group, mode => '0700', } - $sshkey_require = File[$sshkey_dotdir] + } + if $sshkey_custom_path != undef { + $sshkey_require = File[$key_file] } else { - $sshkey_require = undef + $sshkey_require = File[$sshkey_dotdir] } - $sshkey_before = File[$key_file] + $sshkey_before = undef + } else { if $purge_user_home and $user_home { file { $sshkey_dotdir: diff --git a/spec/acceptance/accounts_spec.rb b/spec/acceptance/accounts_spec.rb index 6ffad1e9..50c35c4d 100644 --- a/spec/acceptance/accounts_spec.rb +++ b/spec/acceptance/accounts_spec.rb @@ -233,8 +233,11 @@ }, 'accounts::user_list' => { 'hunner' => { - 'home' => '/test/hunner', - 'sshkeys' => [ + 'home' => '/test/hunner', + 'sshkey_custom_path' => '/test/sshkeys/hunner', + 'sshkey_owner' => 'root', + 'sshkey_group' => 'root', + 'sshkeys' => [ "ssh-rsa #{test_key} vagrant", "ssh-rsa #{test_key} vagrant2", ], @@ -493,6 +496,7 @@ expect(file('/home/specd_user')).not_to exist expect(file('/home/duplicate_user1')).not_to exist expect(file('/home/duplicate_user2')).not_to exist + expect(file('/test/sshkeys/hunner')).not_to exist expect(user('hunner')).not_to exist expect(user('first.last')).not_to exist expect(user('grp_flse')).not_to exist