summaryrefslogtreecommitdiff
path: root/lib/chef/application
diff options
context:
space:
mode:
authorTim Smith <tsmith@chef.io>2019-05-06 11:46:42 -0700
committerGitHub <noreply@github.com>2019-05-06 11:46:42 -0700
commitc23a9d65f4bf5aba2fe7cf384e04f7703631fb0b (patch)
treeae33e0ce0c34a20834f8dfdc3083ecb49015159b /lib/chef/application
parent3ba19c97144832d44a1e77c3183b8b8c9b46f004 (diff)
parent2b12cda0693ad20780156d35a5ae316a90c5174b (diff)
downloadchef-c23a9d65f4bf5aba2fe7cf384e04f7703631fb0b.tar.gz
Merge pull request #7758 from chef/btm/target-mode
Initial target_mode implementation
Diffstat (limited to 'lib/chef/application')
-rw-r--r--lib/chef/application/client.rb15
1 files changed, 15 insertions, 0 deletions
diff --git a/lib/chef/application/client.rb b/lib/chef/application/client.rb
index 31932b812c..2c63a54f33 100644
--- a/lib/chef/application/client.rb
+++ b/lib/chef/application/client.rb
@@ -301,6 +301,15 @@ class Chef::Application::Client < Chef::Application
description: "Use cached cookbooks without overwriting local differences from the #{Chef::Dist::SERVER_PRODUCT}.",
boolean: false
+ option :target,
+ short: "-t TARGET",
+ long: "--target TARGET",
+ description: "Target #{Chef::Dist::PRODUCT} against a remote system or device",
+ proc: lambda { |target|
+ Chef::Log.warn "-- EXPERIMENTAL -- Target mode activated, resources and dsl may change without warning -- EXPERIMENTAL --"
+ target
+ }
+
IMMEDIATE_RUN_SIGNAL = "1".freeze
RECONFIGURE_SIGNAL = "H".freeze
@@ -351,6 +360,12 @@ class Chef::Application::Client < Chef::Application
Chef::Config.chef_zero.host = config[:chef_zero_host] if config[:chef_zero_host]
Chef::Config.chef_zero.port = config[:chef_zero_port] if config[:chef_zero_port]
+ if config[:target] || Chef::Config.target
+ Chef::Config.target_mode.enabled = true
+ Chef::Config.target_mode.host = config[:target] || Chef::Config.target
+ Chef::Config.node_name = Chef::Config.target_mode.host unless Chef::Config.node_name
+ end
+
if Chef::Config[:daemonize]
Chef::Config[:interval] ||= 1800
end