knife-zero 1.12.1 → 1.13.0
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 +4 -4
- data/CHANGELOG.md +4 -0
- data/README.md +2 -0
- data/lib/chef/knife/zero_bootstrap.rb +19 -0
- data/lib/chef/knife/zero_converge.rb +30 -0
- data/lib/knife-zero/core/bootstrap_context.rb +24 -0
- data/lib/knife-zero/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 03d111ff54381aa4b04054cb4361f8f8e7e5d015
|
4
|
+
data.tar.gz: a3bbc9916becca098ac252ebf8829cfd2ebd3020
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: abcb2c7552806897a0bf5281c656adc38717eb11c48d912c5a64c5e664e6770e51aa00e7b5826acc169757f8ebdc390263d95603a6aa85cfb6948b114112d2fb
|
7
|
+
data.tar.gz: 3e9d4dc4a096967a205edbf02a2789137cf79748466e23ad8703e8767a243b3c0073854f87e62beb947111b677a5ff49cf27c53d63b9a473888d22e17ddf5c39
|
data/CHANGELOG.md
CHANGED
data/README.md
CHANGED
@@ -19,6 +19,8 @@ Run chef-client at remote node with chef-zero(local-mode) via HTTP over SSH port
|
|
19
19
|
- [Knife-Zero Document](https://knife-zero.github.io)
|
20
20
|
- [Knife-Zero Document(Ja)](https://knife-zero.github.io/ja/)
|
21
21
|
|
22
|
+
- [CHANGELOG](https://github.com/higanworks/knife-zero/blob/master/CHANGELOG.md)
|
23
|
+
|
22
24
|
## Requirements
|
23
25
|
|
24
26
|
- Must support AllowTcpForward
|
@@ -18,6 +18,7 @@ class Chef
|
|
18
18
|
self.options = Bootstrap.options.merge(self.options)
|
19
19
|
self.options.delete :node_ssl_verify_mode
|
20
20
|
self.options.delete :node_verify_api_cert
|
21
|
+
self.options.delete :policy_group
|
21
22
|
|
22
23
|
## Override to use nil by default. It should be create PR
|
23
24
|
option :ssh_user,
|
@@ -31,6 +32,15 @@ class Chef
|
|
31
32
|
:default => true,
|
32
33
|
:proc => lambda { |v| Chef::Config[:knife][:bootstrap_converge] = v }
|
33
34
|
|
35
|
+
option :appendix_config,
|
36
|
+
:long => "--appendix-config PATH",
|
37
|
+
:description => "Append lines to end of client.rb on remote node from file.",
|
38
|
+
:proc => lambda { |o| File.read(o) },
|
39
|
+
:default => nil
|
40
|
+
|
41
|
+
## For support policy_document_databag(old style)
|
42
|
+
self.options[:policy_name][:description] = "Policy name to use (It'll be set as deployment_group=POLICY_NAME-local)"
|
43
|
+
|
34
44
|
def run
|
35
45
|
## Command hook before_bootstrap (After launched Chef-Zero)
|
36
46
|
if Chef::Config[:knife][:before_bootstrap]
|
@@ -72,6 +82,15 @@ class Chef
|
|
72
82
|
end
|
73
83
|
end
|
74
84
|
|
85
|
+
## For support policy_document_databag(old style)
|
86
|
+
def validate_options!
|
87
|
+
if policyfile_and_run_list_given?
|
88
|
+
ui.error("Policyfile options and --run-list are exclusive")
|
89
|
+
exit 1
|
90
|
+
end
|
91
|
+
true
|
92
|
+
end
|
93
|
+
|
75
94
|
def build_knifezero_attributes_for_node
|
76
95
|
## Return to Pending.
|
77
96
|
# ssh_url = String.new("ssh://")
|
@@ -34,6 +34,12 @@ class Chef
|
|
34
34
|
:default => nil,
|
35
35
|
:proc => lambda { |o| o.to_s }
|
36
36
|
|
37
|
+
## For support policy_document_databag(old style)
|
38
|
+
option :named_run_list,
|
39
|
+
:short => "-n NAMED_RUN_LIST",
|
40
|
+
:long => "--named-run-list NAMED_RUN_LIST",
|
41
|
+
:description => "Use a policyfile's named run list instead of the default run list"
|
42
|
+
|
37
43
|
option :client_version,
|
38
44
|
:long => "--client-version [latest|VERSION]",
|
39
45
|
:description => "Up or downgrade omnibus chef-client before converge.",
|
@@ -56,6 +62,8 @@ class Chef
|
|
56
62
|
::Knife::Zero::Helper.hook_shell_out!("before_converge", ui, Chef::Config[:knife][:before_converge])
|
57
63
|
end
|
58
64
|
|
65
|
+
validate_options!
|
66
|
+
|
59
67
|
@name_args = [@name_args[0], start_chef_client]
|
60
68
|
end
|
61
69
|
|
@@ -70,6 +78,28 @@ class Chef
|
|
70
78
|
Chef::Log.info "Remote command: " + s
|
71
79
|
s
|
72
80
|
end
|
81
|
+
|
82
|
+
## For support policy_document_databag(old style)
|
83
|
+
def validate_options!
|
84
|
+
if override_and_named_given?
|
85
|
+
ui.error("--override_runlist and --named_run_list are exclusive")
|
86
|
+
exit 1
|
87
|
+
end
|
88
|
+
true
|
89
|
+
end
|
90
|
+
# True if policy_name and run_list are both given
|
91
|
+
def override_and_named_given?
|
92
|
+
override_runlist_given? && named_run_list_given?
|
93
|
+
end
|
94
|
+
|
95
|
+
def override_runlist_given?
|
96
|
+
!config[:run_list].nil? && !config[:run_list].empty?
|
97
|
+
end
|
98
|
+
|
99
|
+
def named_run_list_given?
|
100
|
+
!config[:run_list].nil? && !config[:run_list].empty?
|
101
|
+
end
|
102
|
+
|
73
103
|
end
|
74
104
|
end
|
75
105
|
end
|
@@ -28,6 +28,20 @@ class Chef
|
|
28
28
|
end
|
29
29
|
end
|
30
30
|
client_rb << white_lists.join("\n")
|
31
|
+
|
32
|
+
## For support policy_document_databag(old style)
|
33
|
+
if @config[:policy_name]
|
34
|
+
client_rb << ["\n", "use_policyfile true",
|
35
|
+
"versioned_cookbooks true",
|
36
|
+
"policy_document_native_api false",
|
37
|
+
%Q{deployment_group "#{@config[:policy_name]}-local"}].join("\n")
|
38
|
+
end
|
39
|
+
|
40
|
+
if @config[:appendix_config]
|
41
|
+
client_rb << ["\n## --appendix-config", @config[:appendix_config]].join("\n")
|
42
|
+
end
|
43
|
+
|
44
|
+
client_rb
|
31
45
|
end
|
32
46
|
|
33
47
|
alias :orig_start_chef start_chef
|
@@ -49,6 +63,16 @@ class Chef
|
|
49
63
|
orig_start_chef
|
50
64
|
end
|
51
65
|
end
|
66
|
+
|
67
|
+
## For support policy_document_databag(old style)
|
68
|
+
alias :orig_first_boot first_boot
|
69
|
+
def first_boot
|
70
|
+
attributes = orig_first_boot
|
71
|
+
if @config[:policy_name]
|
72
|
+
attributes.delete(:run_list)
|
73
|
+
end
|
74
|
+
attributes
|
75
|
+
end
|
52
76
|
end
|
53
77
|
end
|
54
78
|
end
|
data/lib/knife-zero/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: knife-zero
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.13.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- sawanoboly
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-01-
|
11
|
+
date: 2016-01-24 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|