ソースを参照

feat(client): Add the possibility to add chef-client configuration

Signed-off-by: Jeremy MAURO <jeremy.mauro@gmail.com>
Jeremy MAURO 2 年 前
コミット
01e4ffadb1
3 ファイル変更13 行追加0 行削除
  1. 8 0
      client.d/00cache.rb
  2. 4 0
      client.d/99handler.rb
  3. 1 0
      scripts/run_policy.sh.template

+ 8 - 0
client.d/00cache.rb

@@ -0,0 +1,8 @@
+candidate_user = ENV['USER'].gsub(/\./, '_')
+if candidate_user == 'root'
+  cache_path      '/var/chef'
+  file_cache_path '/var/chef/cache'
+else
+  cache_path      "/tmp/chef-#{candidate_user}"
+  file_cache_path "/tmp/chef-#{candidate_user}/cache"
+end

+ 4 - 0
client.d/99handler.rb

@@ -0,0 +1,4 @@
+::Dir.glob(::File.join(::Chef::Config.cache_path, 'handlers','*.rb')) do |rb_file|
+  require rb_file
+  start_handlers << Etckeeper::StartHandler.new if ::File.basename(rb_file) == 'etckeeper_handler.rb'
+end

+ 1 - 0
scripts/run_policy.sh.template

@@ -38,5 +38,6 @@ if [ ${FLAG_D} -eq 1 ]; then
 fi
 
 bundle exec chef-client --chef-license 'accept' -z ${OPT}
+bundle exec chef-client --chef-license 'accept' --config-option 'client_d_dir=../client.d' -z ${OPT}
 popd > /dev/null
 ./scripts/end_run.sh