Module: ChefWorkstationInitialize::SelfBootstrap::NoChef::UsersHelpers
Instance Method Summary
collapse
#commit_state
#get_solo_cmd, #is_knife?, #knife, #knife_get_node_attribute, #knife_search_self_cmd, #knife_self_bootstrap_cmd, #self_bootstrap_options
#create_attribute_file, #create_chef_additionnal_dir, #create_chef_infra_cookbook, #create_cookbook, #create_generator, #create_recipe, #create_template_file, #define_cron_job, #ensure_main_environment, #project_environment_json, #project_role_json, #render_template, #write_Solo_file, #write_kitchen_file, #write_main_environment, #write_main_role, #write_main_role_environment, #write_role_environment
#building_kitchen, #generate_kitchen, #generate_machine, #is_kitchen_command?, #kitchen, #kitchen_machine, #kitchen_root
#chef_zero_provisioner, #provisioners
#default_platforms
#default_suites
#inspec_verifier, #verifiers
#chef, #chef_client, #install_chef_workstation, #is_chef_cli_command?, #is_chef_client_command?, #is_chef_command?, #is_chef_enabled?, #is_chef_installed?, #is_chef_profile_set?, #is_chefworkstation_available?, #is_knife_gem_install?
#berks, #berks_vendor, #berks_vendor_all_cookbook, #berks_vendor_cookbook, #berks_vendor_init, #delete_all_berkslock, #delete_cookbook_berkslock, #reset_berks_vendor_dir, #self_berks_vendor
Methods included from GitHelpers
#all_cookbooks, #generate_git_submodules, #generate_json_repo, #get_git_path, #get_git_relative_path, #get_git_server, #get_git_submodule, #get_self_git, #git_exec, #git_submodule_init, #repository_list
Methods included from SSHHelpers
#delete_hostkey, #delete_hostkey_ip_or_name, #generate_private_key, #ssh, #ssh_command, #ssh_keygen
#base_command, #get_homedir, #is_mixlib_disabled?, #main_command, #run_options
#analyse_object, #check_install_dir, #debug_worklog, #default_chefzero_portrange, #default_hostname, #default_install_dir, #define_resource_requirements, #error_worklog, #generate_default_install_dir, #generate_directory, #get_out_of_cache_path, #get_out_of_folder, #get_out_of_local_chef_path, #get_path, #is_chef_constant_enabled?, #parent_nil?, #require_implement_method, #search_local_project_folder, #warning_worklog, #worklog, #worklog_counter
Instance Method Details
#create_group(groupname, groupcomment, users) ⇒ Object
33
34
35
|
# File 'lib/selfbootstrap/nochef/users.rb', line 33
def create_group(groupname, , users)
require_implement_method('create_group', %w(groupname groupcomment users))
end
|
#create_user(user, user_data) ⇒ Object
29
30
31
|
# File 'lib/selfbootstrap/nochef/users.rb', line 29
def create_user(user, user_data)
require_implement_method('create_user', %w(user user_data))
end
|
#generate_secret ⇒ Object
41
42
43
|
# File 'lib/selfbootstrap/nochef/users.rb', line 41
def generate_secret
require_implement_method('generate_secret', [])
end
|
#generate_ssh_user_key(user, user_data) ⇒ Object
69
70
71
72
73
74
75
76
77
78
79
80
81
82
|
# File 'lib/selfbootstrap/nochef/users.rb', line 69
def generate_ssh_user_key(user, user_data)
unless user_fully_created?(user, user_data)
worklog("Generate SSH user key for {#{user}: #{user_data}}")
sshdir = ::File.join(user_data[:home], '.ssh')
privkey = ::File.join(sshdir, 'id_rsa')
create_user(user, user_data)
= 'group for all new_resource user'
['docker', workstation_resource[:group]].each do |groupname|
create_group(groupname, )
end
ssh_keygen("-m 'RFC4716' -N '' -P '' -f #{privkey}", { user: user, cwd: user_data[:home] })
end
end
|
#generate_user_data(user, home = '') ⇒ Object
37
38
39
|
# File 'lib/selfbootstrap/nochef/users.rb', line 37
def generate_user_data(user, home = '')
require_implement_method('generate_user_data', %w(user home))
end
|
#secretdatabag ⇒ Object
53
54
55
|
# File 'lib/selfbootstrap/nochef/users.rb', line 53
def secretdatabag
workstation_resource[:cookbook_source]
end
|
#secretdatabagitem ⇒ Object
57
58
59
|
# File 'lib/selfbootstrap/nochef/users.rb', line 57
def secretdatabagitem
'cookbook_secret_keys'
end
|
#secretdatabagkey ⇒ Object
61
62
63
|
# File 'lib/selfbootstrap/nochef/users.rb', line 61
def secretdatabagkey
'secret'
end
|
#set_cookbook_user_secret_key ⇒ Object
45
46
47
|
# File 'lib/selfbootstrap/nochef/users.rb', line 45
def set_cookbook_user_secret_key
require_implement_method('set_cookbook_user_secret_key', [])
end
|
#user_fully_created?(user, user_data) ⇒ Boolean
65
66
67
|
# File 'lib/selfbootstrap/nochef/users.rb', line 65
def user_fully_created?(user, user_data)
file_exist?(user_data[:home]) && file_exist?(sshdir) && file_exist?(privkey)
end
|
#userdatabag ⇒ Object
49
50
51
|
# File 'lib/selfbootstrap/nochef/users.rb', line 49
def userdatabag
'users'
end
|