selfbootstrap 0.1.1 → 0.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 0cc265d5cb67df046ace95dc60577d141afdfa603f6fbb9eeafe58bb34dabd1b
4
- data.tar.gz: 284bfac46459cba89fa52b14dc1ce96998235c4e8a282b924afcdf4d15afac0d
3
+ metadata.gz: 8739c46ccf96e927b7cc40f639e182255f07e7aea55b873f169e789f7f885985
4
+ data.tar.gz: 5bb61401af6856a5c800f9d8a19be52f1ebd6a5cc69734b3dbfd200c39b08a34
5
5
  SHA512:
6
- metadata.gz: 6d707540309def5c1b8bd707215bd05653df370df357ef98d2f2cb8b3f08682c8426d1a3b6da165a533366641b9a0b62e91117c315514a112db202f418463e82
7
- data.tar.gz: 8ba68f41b5810536bbd655a2112ca9b2c982b4e28761b0ff84e2dafd55719a52c1389cb02cecc014dfd7632bed24994591549e55d960361f5fc1cc08102aa789
6
+ metadata.gz: a8d1b86380929c3f71d0fc0deb3bab480712a418674183f173378c631e118b17031a172f3d791184e2b17420428a6f5b95ce520f0cc3f61492d439ea88485f84
7
+ data.tar.gz: d45e16169c93f4432ec3be3e18ee98e59da5ba9c3d29a4266417721a55f6e2d30ae49b052c706f535a2096025ce7924b9050e529faa831519ddf1b81718ee0c6
checksums.yaml.gz.sig CHANGED
Binary file
@@ -26,6 +26,40 @@ module ChefWorkstationInitialize
26
26
  module ChefHelpers
27
27
  include ChefWorkstationInitialize::SelfBootstrap::NoChef::BerksHelpers
28
28
 
29
+ def is_chef_enabled?
30
+ is_chef_constant_enabled? :Chef
31
+ end
32
+
33
+ def is_chef_command?
34
+ ::File.basename($PROGRAM_NAME).eql?('chef')
35
+ end
36
+
37
+ def is_chef_cli_command?
38
+ ::File.basename($PROGRAM_NAME).eql?('chef-cli')
39
+ end
40
+
41
+ def is_chef_client_command?
42
+ ::File.basename($PROGRAM_NAME).eql?('chef-client')
43
+ end
44
+
45
+ def is_chef_installed?
46
+ ::Dir.exist?('/opt/chef-workstation')
47
+ end
48
+
49
+ def is_chef_profile_set?
50
+ is_chef_installed? ? (base_command('which ruby', [], as_system: true).include? '/opt/chef-workstation') : false
51
+ end
52
+
53
+ def is_chefworkstation_available?
54
+ if is_chef_profile_set?
55
+ $LOAD_PATH.select do |loaded_path|
56
+ loaded_path.include? '/opt/chef-workstation'
57
+ end.count > 0
58
+ else
59
+ false
60
+ end
61
+ end
62
+
29
63
  def chef(*args, **run_opts)
30
64
  base_command('chef', args, run_opts)
31
65
  end
@@ -37,6 +71,10 @@ module ChefWorkstationInitialize
37
71
  def is_knife_gem_install?
38
72
  chef('gem list -i knife') == 'true'
39
73
  end
74
+
75
+ def install_chef_workstation
76
+ base_command('curl -L https://omnitruck.chef.io/install.sh | bash -s -- -s once -P chef-workstation', [], as_system: true)
77
+ end
40
78
  end
41
79
  end
42
80
  end
@@ -17,10 +17,14 @@ module ChefWorkstationInitialize
17
17
  module CommandlineHelpers
18
18
  include ChefWorkstationInitialize::SelfBootstrap::NoChef::DefaultMethodsHelpers
19
19
 
20
+ def is_mixlib_disabled?
21
+ !is_chef_constant_enabled? :Mixlib
22
+ end
23
+
20
24
  def main_command(command, args = [], run_opts = {})
21
25
  command = 'sudo ' + command.to_s if run_opts[:sudo]
22
26
  main_command = [command, args].compact.join(' ')
23
- worklog "running \"#{main_command}\" from a shell terminal" if run_opts[:debug]
27
+ worklog "running \"#{main_command}\" from a shell terminal" # if run_opts[:debug]
24
28
  [main_command, run_options(run_opts)]
25
29
  end
26
30
 
@@ -31,9 +35,22 @@ module ChefWorkstationInitialize
31
35
  if respond_to?('shell_out!')
32
36
  warning_worklog('Using shell_out! as executer')
33
37
  [shell_out!(final_command, final_run_options)]
34
- elsif defined?(Mixlib).nil?
35
- error_worklog('Cannot continue without at least a Chef workstation setup to run command ' + final_command)
36
- exit 1
38
+ elsif is_mixlib_disabled?
39
+ if run_opts[:as_system]
40
+ warning_worklog "Using system to run command #{final_command}"
41
+ exit_status = system(final_command)
42
+ if exit_status.nil?
43
+ 1
44
+ elsif exit_status.is_a?(Integer)
45
+ exit_status
46
+ else
47
+ 2
48
+ end
49
+ else
50
+ error_worklog('Cannot continue without at least a Chef workstation setup to run command ' + final_command)
51
+ restart_bootstrap
52
+ exit 1
53
+ end
37
54
  else
38
55
  # warning_worklog('Using Mixlib::ShellOut as executer')
39
56
  shell_command = Mixlib::ShellOut.new(final_command, final_run_options)
@@ -47,22 +64,7 @@ module ChefWorkstationInitialize
47
64
 
48
65
  def run_options(run_opts = {})
49
66
  # debug_worklog run_opts.inspect
50
- env = {}
51
- if workstation_resource[:user]
52
- run_opts[:user] = workstation_resource[:user]
53
- # Certain versions of `git` misbehave if git configuration is
54
- # inaccessible in $HOME. We need to ensure $HOME matches the
55
- # user who is executing `git` not the user running Chef.
56
- env['HOME'] = get_homedir(workstation_resource[:user])
57
- end
58
- livestream = run_opts[:live].nil? || run_opts[:live]
59
- run_opts[:group] = workstation_resource[:group] if workstation_resource[:group]
60
- env['GIT_SSH'] = workstation_resource[:ssh_wrapper] if workstation_resource[:ssh_wrapper]
61
- run_opts[:log_tag] = workstation_resource[:log_tag] if workstation_resource[:log_tag]
62
- run_opts[:timeout] = workstation_resource[:timeout] if workstation_resource[:timeout]
63
- env.merge!(workstation_resource[:environment_variables]) if workstation_resource[:environment_variables]
64
- run_opts[:environment] = env unless env.empty?
65
- run_opts[:live_stream] = $stdout if livestream
67
+ run_opts[:live_stream] = $stdout if run_opts[:live]
66
68
  run_opts.delete :sudo if run_opts.key? :sudo
67
69
  run_opts.delete :live if run_opts.key? :live
68
70
  run_opts.delete :debug if run_opts.key? :debug
@@ -24,10 +24,6 @@ require 'fileutils'
24
24
  require 'yaml'
25
25
  require 'socket'
26
26
 
27
- require 'kitchen'
28
- require 'chef'
29
- require 'chef/workstation_config_loader'
30
-
31
27
  module ChefWorkstationInitialize
32
28
  module SelfBootstrap
33
29
  module NoChef
@@ -35,6 +31,16 @@ module ChefWorkstationInitialize
35
31
  def define_resource_requirements
36
32
  end
37
33
 
34
+ def is_chef_constant_enabled?(constant)
35
+ # if is_chefworkstation_available?
36
+ constant_defined = const_defined?(constant)
37
+ worklog "constant_defined = #{constant_defined.class} for #{constant}"
38
+ constant_defined
39
+ # else
40
+ # false
41
+ # end
42
+ end
43
+
38
44
  def worklog_counter
39
45
  @worklog_counter ||= 0
40
46
  @worklog_counter += 1
@@ -47,47 +47,47 @@ module ChefWorkstationInitialize
47
47
  }
48
48
  end
49
49
 
50
- class DefaultWorkstationResource
51
- include ChefWorkstationInitialize::SelfBootstrap::NoChef
52
- prepend ChefWorkstationInitialize::SelfBootstrap::NoChef
50
+ # class DefaultWorkstationResource
51
+ # include ChefWorkstationInitialize::SelfBootstrap::NoChef
52
+ # prepend ChefWorkstationInitialize::SelfBootstrap::NoChef
53
53
 
54
- def initialize
55
- config_loader = ChefConfig::WorkstationConfigLoader.new(nil)
56
- Chef::Config.from_file(config_loader.config_location)
57
- end
54
+ # def initialize
55
+ # config_loader = ChefConfig::WorkstationConfigLoader.new(nil)
56
+ # Chef::Config.from_file(config_loader.config_location)
57
+ # end
58
58
 
59
- def workstation_resource_keys
60
- @selfbootstrap_resource.keys
61
- end
59
+ # def workstation_resource_keys
60
+ # @selfbootstrap_resource.keys
61
+ # end
62
62
 
63
- def [](key)
64
- @selfbootstrap_resource ||= default_workstation_data
65
- if @selfbootstrap_resource.key?(key.to_sym)
66
- @selfbootstrap_resource[key.to_sym]
67
- elsif @selfbootstrap_resource.key?(key.to_s)
68
- @selfbootstrap_resource[key.to_s]
69
- end
70
- end
63
+ # def [](key)
64
+ # @selfbootstrap_resource ||= default_workstation_data
65
+ # if @selfbootstrap_resource.key?(key.to_sym)
66
+ # @selfbootstrap_resource[key.to_sym]
67
+ # elsif @selfbootstrap_resource.key?(key.to_s)
68
+ # @selfbootstrap_resource[key.to_s]
69
+ # end
70
+ # end
71
71
 
72
- def get_workstation_property(property_name)
73
- debug_worklog("Get property #{property_name}") # if property_name == 'group'
74
- self[property_name]
75
- end
72
+ # def get_workstation_property(property_name)
73
+ # debug_worklog("Get property #{property_name}") # if property_name == 'group'
74
+ # self[property_name]
75
+ # end
76
76
 
77
- def set_workstation_property(property_name, value)
78
- debug_worklog("Assign property #{property_name} is value #{value.is_a?(::Dir) ? get_path(value) : value}")
79
- self[property_name] = value
80
- end
77
+ # def set_workstation_property(property_name, value)
78
+ # debug_worklog("Assign property #{property_name} is value #{value.is_a?(::Dir) ? get_path(value) : value}")
79
+ # self[property_name] = value
80
+ # end
81
81
 
82
- def render_template(generated_path, source, **variables)
83
- if ::File.basename(generated_path).eq?('kitchen.yml')
84
- worklog('Generating a new kitchen file')
85
- kitchen 'init'
86
- else
87
- super(generated_path, source, variables)
88
- end
89
- end
90
- end
82
+ # def render_template(generated_path, source, **variables)
83
+ # if ::File.basename(generated_path).eq?('kitchen.yml')
84
+ # worklog('Generating a new kitchen file')
85
+ # kitchen 'init'
86
+ # else
87
+ # super(generated_path, source, variables)
88
+ # end
89
+ # end
90
+ # end
91
91
  end
92
92
  end
93
93
  #
@@ -28,6 +28,10 @@ module ChefWorkstationInitialize
28
28
  include ChefWorkstationInitialize::SelfBootstrap::NoChef::ChefHelpers
29
29
  include ChefWorkstationInitialize::SelfBootstrap::NoChef::ProvisionersHelpers
30
30
 
31
+ def is_kitchen_command?
32
+ ::File.basename($PROGRAM_NAME).eql?('kitchen')
33
+ end
34
+
31
35
  def kitchen(*args, **run_opts)
32
36
  write_kitchen_file unless args.eql? ['init']
33
37
  base_command('kitchen', args, run_opts)
@@ -26,6 +26,10 @@ module ChefWorkstationInitialize
26
26
  module KnifeHelpers
27
27
  include ChefWorkstationInitialize::SelfBootstrap::NoChef::ChefRepoHelpers
28
28
 
29
+ def is_knife?
30
+ ::File.basename($PROGRAM_NAME).eql?('knife')
31
+ end
32
+
29
33
  def knife(*args, **run_opts)
30
34
  base_command('knife', *args, **run_opts)
31
35
  end
@@ -53,21 +57,9 @@ module ChefWorkstationInitialize
53
57
  end
54
58
 
55
59
  def knife_self_bootstrap_cmd
60
+ debug_worklog 'boostrapped with chef-server and knife'
56
61
  knife "bootstrap #{self_bootstrap_options} --policy-group #{project_name} --policy-name #{project_name} #{default_hostname}"
57
62
  end
58
-
59
- def chef_client_self_bootstrap_cmd
60
- chef_client_options = [self_bootstrap_options]
61
- chef_client_options << "--runlist #{project_name}"
62
- if ::File.exist?('solo.rb')
63
- chef_client_options << '-c solo.rb'
64
- else
65
- chef_client_options << chef_solo_options_command
66
- chef_client_options << "--chef-zero-host #{default_hostname}"
67
- chef_client_options << "--chef-zero-port #{default_chefzero_portrange}"
68
- end
69
- chef_client chef_client_options, debug: true
70
- end
71
63
  end
72
64
  end
73
65
  end
@@ -19,37 +19,6 @@ module ChefWorkstationInitialize
19
19
 
20
20
  attr_accessor :force_solo
21
21
 
22
- def self_bootstrap_with_kitchen
23
- worklog 'Self bootstrap with sudo command'
24
- base_command('selfbootstrap', sudo: true)
25
- # kitchen 'list bootstrap self', sudo: true
26
- end
27
-
28
- def set_chef_profile
29
- bash_file = '/etc/bash.bashrc.copy'
30
- chef_shell_cmd = 'eval "$(chef shell-init bash)"'
31
- debug_worklog "Set chef profile tpo #{bash_file}"
32
- open(bash_file, 'a') do |f|
33
- f.puts chef_shell_cmd
34
- end unless ::File.read(bash_file).include?(chef_shell_cmd)
35
- end
36
-
37
- def install_chef_client
38
- base_command('curl -L https://omnitruck.chef.io/install.sh | sudo bash -s -- -s once -P chef-workstation')
39
- end
40
-
41
- def is_chef_installed?
42
- ::Dir.exist?('/opt/chef-workstation')
43
- end
44
-
45
- def is_chef_profile_set?
46
- base_command('which ruby') == '/usr/bin/chef-client'
47
- end
48
-
49
- def is_knife?
50
- ::File.basename($PROGRAM_NAME).eql?('knife')
51
- end
52
-
53
22
  def for_solo?
54
23
  is_knife? && ARGV.join(' ').include?('config show solo --format json')
55
24
  end
@@ -63,36 +32,23 @@ module ChefWorkstationInitialize
63
32
  end
64
33
 
65
34
  def is_boostrapping?
66
- # debug_worklog "unauthorized_to_boostrap = #{bootstrapping_progress_file}"
67
- ::File.exist?(bootstrapping_progress_file)
68
- end
69
-
70
- def is_chef_command?
71
- ::File.basename($PROGRAM_NAME).eql?('chef')
72
- end
73
-
74
- def is_chef_cli_command?
75
- ::File.basename($PROGRAM_NAME).eql?('chef-cli')
76
- end
77
-
78
- def is_chef_client_command?
79
- ::File.basename($PROGRAM_NAME).eql?('chef-client')
80
- end
81
-
82
- def is_kitchen_command?
83
- ::File.basename($PROGRAM_NAME).eql?('kitchen')
35
+ is_chef_enabled? ? ::File.exist?(bootstrapping_progress_file) : false
84
36
  end
85
37
 
86
38
  def unauthorized_to_boostrap?
87
39
  is_chef_command? || is_chef_client_command? || is_chef_cli_command?
88
40
  end
89
41
 
42
+ def run_as_root?
43
+ ENV['USER'] == 'root' # workstation_resource[:user] == 'root'
44
+ end
45
+
90
46
  def skip_boostrap?
91
47
  debug_worklog("for_solo = #{for_solo?}")
92
48
  debug_worklog("for_search_local_node = #{for_search_local_node?}")
93
- debug_worklog("is_boostrapping = #{is_boostrapping?}")
94
49
  debug_worklog("unauthorized_to_boostrap = #{unauthorized_to_boostrap?}")
95
- for_solo? || for_search_local_node? || is_boostrapping? || unauthorized_to_boostrap?
50
+ debug_worklog("is_boostrapping = #{is_boostrapping?}")
51
+ for_solo? || for_search_local_node? || unauthorized_to_boostrap? || is_boostrapping?
96
52
  end
97
53
 
98
54
  def chef_solo_options
@@ -123,6 +79,58 @@ module ChefWorkstationInitialize
123
79
  FileUtils.rm bootstrapping_progress_file if ::File.exist?(bootstrapping_progress_file)
124
80
  end
125
81
 
82
+ def install_this_gem
83
+ chef 'gem install selfbootstrap', { as_system: true }
84
+ end
85
+
86
+ def restart_bootstrap
87
+ rerun_opt = { sudo: true }
88
+ if run_as_root?
89
+ install_chef_workstation
90
+ set_chef_profile
91
+ install_this_gem
92
+ rerun_opt[:as_system] = true
93
+ end
94
+ worklog 'Self bootstrap with sudo command'
95
+ debug_worklog 'boostrapped with solo and kitchen and root'
96
+ remove_bootstrap_file
97
+ exit base_command('selfbootstrap', ARGV, rerun_opt)
98
+ # kitchen 'list bootstrap self', sudo: true
99
+ end
100
+
101
+ def set_chef_profile
102
+ bash_file = '/etc/bash.bashrc'
103
+ # chef_shell_cmd = "cd #{workstation_scripts_dir}; curl -L https://omnitruck.chef.io/install_desktop.sh | sudo bash -s -- #{project_name} #{environments.join(' ')}"
104
+ chef_shell_cmd = 'eval "$(chef shell-init bash)"'
105
+ debug_worklog "Set chef profile to #{bash_file}"
106
+ open(bash_file, 'a') do |f|
107
+ f.puts chef_shell_cmd
108
+ end unless ::File.read(bash_file).include?(chef_shell_cmd)
109
+ end
110
+
111
+ def bootstrap_self_command
112
+ if is_solo?
113
+ debug_worklog 'boostrapped with solo'
114
+ if chefworkstation_available?
115
+ if chef_enabled?
116
+ prepend ChefWorkstationInitialize::SelfBootstrap::WithChef
117
+ bootstrap_self_command
118
+ else
119
+ require 'kitchen'
120
+ require 'chef'
121
+ require 'chef/workstation_config_loader'
122
+ end
123
+ elsif run_as_root?
124
+ chef_client_self_bootstrap_cmd
125
+ else
126
+ restart_bootstrap
127
+ end
128
+ else
129
+ knife_self_bootstrap_cmd
130
+ end
131
+ debug_worklog 'bootstrap self command completed'
132
+ end
133
+
126
134
  def boostrapp_once
127
135
  create_chef_additionnal_dir
128
136
  berks_vendor_init unless is_self_bootsrapping?
@@ -136,24 +144,19 @@ module ChefWorkstationInitialize
136
144
  end
137
145
  end
138
146
 
139
- def bootstrap_self_command
140
- if is_solo?
141
- debug_worklog 'boostrapped with solo'
142
- if workstation_resource[:user] != 'root'
143
- debug_worklog 'boostrapped with solo and kitchen and root'
144
- remove_bootstrap_file
145
- self_bootstrap_with_kitchen
146
- else
147
- debug_worklog 'boostrapped with solo and chef-client'
148
- install_chef_client
149
- set_chef_profile
150
- chef_client_self_bootstrap_cmd
151
- end
147
+ def chef_client_self_bootstrap_cmd
148
+ debug_worklog 'boostrapped with solo and chef-client'
149
+
150
+ chef_client_options = [self_bootstrap_options]
151
+ chef_client_options << "--runlist #{project_name}"
152
+ if ::File.exist?('solo.rb')
153
+ chef_client_options << '-c solo.rb'
152
154
  else
153
- debug_worklog 'boostrapped with chef-server and knife'
154
- knife_self_bootstrap_cmd
155
+ chef_client_options << chef_solo_options_command
156
+ chef_client_options << "--chef-zero-host #{default_hostname}"
157
+ chef_client_options << "--chef-zero-port #{default_chefzero_portrange}"
155
158
  end
156
- debug_worklog 'bootstrap self command completed'
159
+ chef_client chef_client_options, debug: true
157
160
  end
158
161
 
159
162
  def bootstrap_self
@@ -22,7 +22,7 @@ module ChefWorkstationInitialize
22
22
  end
23
23
 
24
24
  def ssh_keygen(*args, **run_opts)
25
- base_command('ssh', args, run_opts)
25
+ base_command('ssh-keygen', args, run_opts)
26
26
  end
27
27
 
28
28
  def ssh_command(ip_or_name, user, command)
@@ -90,8 +90,7 @@ module ChefWorkstationInitialize
90
90
  end
91
91
 
92
92
  def workstation_resource
93
- prepend ChefWorkstationInitialize::SelfBootstrap::WithChef
94
- workstation_resource
93
+ default_workstation_data
95
94
  end
96
95
  end
97
96
  end
@@ -16,6 +16,25 @@ module ChefWorkstationInitialize
16
16
  module WithChef
17
17
  module CommandlineHelpers
18
18
  include ChefWorkstationInitialize::SelfBootstrap::WithChef::DefaultMethodsHelpers
19
+
20
+ def run_options(run_opts = {})
21
+ # debug_worklog run_opts.inspect
22
+ env = {}
23
+ if workstation_resource[:user]
24
+ run_opts[:user] = workstation_resource[:user]
25
+ # Certain versions of `git` misbehave if git configuration is
26
+ # inaccessible in $HOME. We need to ensure $HOME matches the
27
+ # user who is executing `git` not the user running Chef.
28
+ env['HOME'] = get_homedir(workstation_resource[:user])
29
+ end
30
+ run_opts[:group] = workstation_resource[:group] if workstation_resource[:group]
31
+ env['GIT_SSH'] = workstation_resource[:ssh_wrapper] if workstation_resource[:ssh_wrapper]
32
+ run_opts[:log_tag] = workstation_resource[:log_tag] if workstation_resource[:log_tag]
33
+ run_opts[:timeout] = workstation_resource[:timeout] if workstation_resource[:timeout]
34
+ env.merge!(workstation_resource[:environment_variables]) if workstation_resource[:environment_variables]
35
+ run_opts[:environment] = env unless env.empty?
36
+ super(run_opts)
37
+ end
19
38
  end
20
39
  end
21
40
  end
@@ -36,6 +36,17 @@ module ChefWorkstationInitialize
36
36
  # swap_workstation(ChefWorkstationInitialize::SelfBootstrap::WithLogger) if respond_to? 'logger'
37
37
  # @workstation
38
38
  # end
39
+
40
+ def workstation_resource
41
+ @workstation_data ||= (
42
+ if Chef::Config[:selfbootstrap].nil?
43
+ config_loader = ChefConfig::WorkstationConfigLoader.new(nil)
44
+ Chef::Config.from_file(config_loader.config_location) unless config_loader.config_location.nil?
45
+ default_workstation_data.deep_merge Chef::Config[:selfbootstrap]
46
+ end
47
+ )
48
+ @workstation_data
49
+ end
39
50
  end
40
51
  end
41
52
  end
@@ -16,17 +16,6 @@ module ChefWorkstationInitialize
16
16
  module SelfBootstrap
17
17
  module WithChef
18
18
  include ChefWorkstationInitialize::SelfBootstrap::WithChef::SelfBootstrapHelpers
19
-
20
- def workstation_resource
21
- @workstation_data ||= (
22
- if Chef::Config[:selfbootstrap].nil?
23
- config_loader = ChefConfig::WorkstationConfigLoader.new(nil)
24
- Chef::Config.from_file(config_loader.config_location) unless config_loader.config_location.nil?
25
- default_workstation_data.deep_merge Chef::Config[:selfbootstrap]
26
- end
27
- )
28
- @workstation_data
29
- end
30
19
  #
31
20
  # Define the methods that you would like to assist the work you do in recipes,
32
21
  # resources, or templates.
@@ -16,10 +16,6 @@ module ChefWorkstationInitialize
16
16
  module SelfBootstrap
17
17
  module WithLogger
18
18
  include ChefWorkstationInitialize::SelfBootstrap::WithLogger::SelfBootstrapHelpers
19
-
20
- def worklog(logstr)
21
- logger.warn("\n\n(#{worklog_counter})WORKLOG:: #{logstr}\n\n")
22
- end
23
19
  #
24
20
  # Define the methods that you would like to assist the work you do in recipes,
25
21
  # resources, or templates.
data/lib/selfbootstrap.rb CHANGED
@@ -13,13 +13,7 @@ require_relative 'selfbootstrap/withlogger'
13
13
 
14
14
  module ChefWorkstationInitialize
15
15
  module SelfBootstrap
16
- if respond_to? 'logger'
17
- include ChefWorkstationInitialize::SelfBootstrap::WithLogger
18
- elsif respond_to? 'Chef'
19
- include ChefWorkstationInitialize::SelfBootstrap::WithChef
20
- else
21
- include ChefWorkstationInitialize::SelfBootstrap::NoChef
22
- end
16
+ include ChefWorkstationInitialize::SelfBootstrap::NoChef
23
17
 
24
18
  def self.bootstrap
25
19
  extend ChefWorkstationInitialize::SelfBootstrap
data.tar.gz.sig CHANGED
Binary file
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: selfbootstrap
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jimmy Provencher
@@ -35,22 +35,36 @@ cert_chain:
35
35
  +V3ectLBpuoKM8f/ZFMnUPA0mAv5e7J6u9IBwyNj/cy+wLOAbpPdmhoKZXCpQcno
36
36
  ysBBJbi//0tgFWwC4vOaDMch
37
37
  -----END CERTIFICATE-----
38
- date: 2022-10-19 00:00:00.000000000 Z
38
+ date: 2022-10-21 00:00:00.000000000 Z
39
39
  dependencies:
40
+ - !ruby/object:Gem::Dependency
41
+ name: chef
42
+ requirement: !ruby/object:Gem::Requirement
43
+ requirements:
44
+ - - "<="
45
+ - !ruby/object:Gem::Version
46
+ version: '17.10'
47
+ type: :runtime
48
+ prerelease: false
49
+ version_requirements: !ruby/object:Gem::Requirement
50
+ requirements:
51
+ - - "<="
52
+ - !ruby/object:Gem::Version
53
+ version: '17.10'
40
54
  - !ruby/object:Gem::Dependency
41
55
  name: test-kitchen
42
56
  requirement: !ruby/object:Gem::Requirement
43
57
  requirements:
44
- - - "~>"
58
+ - - "<"
45
59
  - !ruby/object:Gem::Version
46
- version: '3'
60
+ version: '4'
47
61
  type: :runtime
48
62
  prerelease: false
49
63
  version_requirements: !ruby/object:Gem::Requirement
50
64
  requirements:
51
- - - "~>"
65
+ - - "<"
52
66
  - !ruby/object:Gem::Version
53
- version: '3'
67
+ version: '4'
54
68
  description: Using Chef cookbook style and force any script using it to switch to
55
69
  chef even if it is not install. It will install it tho ;)
56
70
  email:
metadata.gz.sig CHANGED
Binary file