qb 0.1.14 → 0.1.15
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/exe/qb +14 -6
- data/lib/qb/options.rb +151 -83
- data/lib/qb/role.rb +6 -3
- data/lib/qb/version.rb +1 -1
- data/roles/qb.qb_role/meta/main.yml +0 -8
- data/roles/qb.qb_role/meta/qb.yml +3 -35
- data/roles/qb.qb_role/templates/qb.yml.j2 +2 -2
- data/roles/qb.role/defaults/main.yml +8 -19
- data/roles/qb.role/meta/main.yml +0 -12
- data/roles/qb.role/meta/qb.yml +12 -11
- data/roles/qb.role/templates/meta/main.yml.j2 +8 -0
- data/roles/qb.role/vars/main.yml +20 -0
- metadata +2 -2
- data/roles/qb.qb_role/defaults/main.yml +0 -10
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ae9aeb0e2f878eadc6e1cf220a2a7e26783fd358
|
4
|
+
data.tar.gz: c13dd57a5475abe283a69ca5b941b14df7cf7394
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 94c65c40bee65ff720d9cb28ab0e119a4da69f62d831e0dbef002e0f9b77f4649d78ee97e85ca9e4d8f650e92075c81a80d3479d3db880185238fde38e18bdd2
|
7
|
+
data.tar.gz: 851f4d7785b1b68310b7003393d2deb1a638345da45de47912c85651f931936a79013132f90c79307f435a65ecf89d50254c91fa7b3a4ecacb4fb73abc200998
|
data/exe/qb
CHANGED
@@ -143,7 +143,15 @@ def main args
|
|
143
143
|
saved_options_path = Pathname.new(dir) + '.qb-options.yml'
|
144
144
|
|
145
145
|
saved_options = if saved_options_path.exist?
|
146
|
-
|
146
|
+
# convert old _ separated names to - separated
|
147
|
+
YAML.load(saved_options_path.read).map {|role_options_key, role_options|
|
148
|
+
[
|
149
|
+
role_options_key,
|
150
|
+
role_options.map {|name, value|
|
151
|
+
[QB::Options.cli_ize_name(name), value]
|
152
|
+
}.to_h
|
153
|
+
]
|
154
|
+
}.to_h.tap {|saved_options|
|
147
155
|
debug "found saved options", saved_options
|
148
156
|
}
|
149
157
|
else
|
@@ -156,8 +164,8 @@ def main args
|
|
156
164
|
|
157
165
|
debug "found saved options for role", role_saved_options
|
158
166
|
|
159
|
-
role_saved_options.each do |
|
160
|
-
option = options[
|
167
|
+
role_saved_options.each do |option_cli_name, value|
|
168
|
+
option = options[option_cli_name]
|
161
169
|
|
162
170
|
if option.value.nil?
|
163
171
|
debug "setting from saved options", option: option, value: value
|
@@ -181,7 +189,7 @@ def main args
|
|
181
189
|
}
|
182
190
|
|
183
191
|
set_options.values.each do |option|
|
184
|
-
playbook_role[option.
|
192
|
+
playbook_role[option.var_name] = option.value
|
185
193
|
end
|
186
194
|
|
187
195
|
playbook = [
|
@@ -216,12 +224,12 @@ def main args
|
|
216
224
|
# save the options back
|
217
225
|
if (
|
218
226
|
# we set some options that we can save
|
219
|
-
set_options.values.select {|o| o.save }.length > 0 &&
|
227
|
+
set_options.values.select {|o| o.save? }.length > 0 &&
|
220
228
|
# the role says to save options
|
221
229
|
role.save_options
|
222
230
|
)
|
223
231
|
saved_options[role.options_key] = set_options.select{|key, option|
|
224
|
-
option.save
|
232
|
+
option.save?
|
225
233
|
}.map {|key, option|
|
226
234
|
[key, option.value]
|
227
235
|
}.to_h
|
data/lib/qb/options.rb
CHANGED
@@ -1,16 +1,8 @@
|
|
1
1
|
require 'optparse'
|
2
|
+
require 'weakref'
|
2
3
|
|
3
4
|
module QB
|
4
5
|
module Options
|
5
|
-
# small struct to hold the differnt names of the option now that including
|
6
|
-
# makes it more complicated
|
7
|
-
Option = Struct.new :qb_meta_name,
|
8
|
-
:cli_option_name,
|
9
|
-
:ansible_var_name,
|
10
|
-
:required,
|
11
|
-
:save,
|
12
|
-
:value
|
13
|
-
|
14
6
|
# errors
|
15
7
|
# ======
|
16
8
|
|
@@ -26,129 +18,203 @@ module QB
|
|
26
18
|
end
|
27
19
|
end
|
28
20
|
|
29
|
-
|
30
|
-
|
21
|
+
# raised when there's bad option metadata
|
22
|
+
class MetadataError < Error
|
23
|
+
end
|
24
|
+
|
25
|
+
def self.cli_ize_name option_name
|
26
|
+
option_name.gsub '_', '-'
|
27
|
+
end
|
28
|
+
|
29
|
+
def self.var_ize_name option_name
|
30
|
+
option_name.gsub '-', '_'
|
31
|
+
end
|
32
|
+
|
33
|
+
#
|
34
|
+
class Option
|
35
|
+
# the role that this option is for
|
36
|
+
# attr_reader :role
|
37
|
+
|
38
|
+
# the entry from the qb metadata for this option
|
39
|
+
attr_reader :meta
|
40
|
+
|
41
|
+
# array of strings representing how this option was included
|
42
|
+
# empty for top-level options
|
43
|
+
attr_reader :include_path
|
44
|
+
|
45
|
+
# the name of the option in the qb metadata, equal to #meta['name']
|
46
|
+
attr_reader :meta_name
|
47
|
+
|
48
|
+
# the name that this option will be available in the cli as
|
49
|
+
attr_reader :cli_name
|
50
|
+
|
51
|
+
# the name that the value will be passed to ansible as
|
52
|
+
attr_reader :var_name
|
53
|
+
|
54
|
+
# the value of the option, or `nil` if we never assign one
|
55
|
+
attr_accessor :value
|
56
|
+
|
57
|
+
def initialize role, meta, include_path
|
58
|
+
# @role = WeakRef.new role
|
59
|
+
@meta = meta
|
60
|
+
@include_path = include_path
|
61
|
+
|
62
|
+
@meta_name = meta.fetch 'name'
|
63
|
+
|
64
|
+
@cli_name = if @include_path.empty?
|
65
|
+
Options.cli_ize_name @meta_name
|
66
|
+
else
|
67
|
+
"#{ @include_path.join('-') }-#{ Options.cli_ize_name @meta_name }"
|
68
|
+
end
|
69
|
+
|
70
|
+
@var_name = if role.var_prefix
|
71
|
+
"#{ role.var_prefix }_#{ Options.var_ize_name @meta_name }"
|
72
|
+
else
|
73
|
+
Options.var_ize_name @meta_name
|
74
|
+
end
|
75
|
+
|
76
|
+
@value = nil
|
77
|
+
end
|
78
|
+
|
79
|
+
# if the option is required in the cli
|
80
|
+
def required?
|
81
|
+
!!meta_or(['required', 'require'], false)
|
82
|
+
end
|
83
|
+
|
84
|
+
# if we should save the option value in .qb-options.yml
|
85
|
+
def save?
|
86
|
+
!!meta_or('save', true)
|
87
|
+
end
|
88
|
+
|
89
|
+
def description
|
90
|
+
value = meta_or 'description',
|
91
|
+
"set the #{ @var_name } role variable"
|
92
|
+
|
93
|
+
if @meta['type'].is_a?(Hash) && @meta['type'].key?('one_of')
|
94
|
+
line_break = "\n" + "\t" * 5
|
95
|
+
value += " options:" +
|
96
|
+
"#{ line_break }#{ @meta['type']['one_of'].join(line_break) }"
|
97
|
+
end
|
98
|
+
|
99
|
+
value
|
100
|
+
end
|
101
|
+
|
102
|
+
private
|
103
|
+
|
104
|
+
# get the value at the first found of the keys or the default.
|
105
|
+
def meta_or keys, default
|
106
|
+
keys = [keys] if keys.is_a? String
|
107
|
+
keys.each do |key|
|
108
|
+
if @meta.key? key
|
109
|
+
return @meta[key]
|
110
|
+
end
|
111
|
+
end
|
112
|
+
default
|
113
|
+
end
|
114
|
+
|
115
|
+
end # Option
|
116
|
+
|
117
|
+
def self.include_role opts, options, include_meta, include_path
|
118
|
+
role_name = include_meta['include']
|
31
119
|
role = QB::Role.require role_name
|
32
|
-
|
120
|
+
new_include_path = if include_meta.key? 'as'
|
121
|
+
case include_meta['as']
|
122
|
+
when nil, false
|
123
|
+
# include it in with the parent role's options
|
124
|
+
include_path
|
125
|
+
when String
|
126
|
+
include_path + [include_meta['as']]
|
127
|
+
else
|
128
|
+
raise MetadataError.new,
|
129
|
+
"bad 'as' value: #{ include_meta.inspect }"
|
130
|
+
end
|
131
|
+
else
|
132
|
+
include_path + [role.namespaceless]
|
133
|
+
end
|
33
134
|
|
34
|
-
QB.debug "including #{ role.name } as #{
|
135
|
+
QB.debug "including #{ role.name } as #{ new_include_path.join('-') }"
|
35
136
|
|
36
|
-
add opts, options, role,
|
137
|
+
add opts, options, role, new_include_path
|
37
138
|
end
|
38
139
|
|
39
140
|
# add the options from a role to the OptionParser
|
40
|
-
def self.add opts, options, role,
|
141
|
+
def self.add opts, options, role, include_path = []
|
41
142
|
QB.debug "adding options", "role" => role
|
42
143
|
|
43
|
-
role.
|
44
|
-
if
|
45
|
-
|
46
|
-
unless include_as.nil?
|
47
|
-
raise NestedIncludeError.new
|
48
|
-
end
|
49
|
-
|
50
|
-
include_role opts, options, var
|
144
|
+
role.options.each do |option_meta|
|
145
|
+
if option_meta.key? 'include'
|
146
|
+
include_role opts, options, option_meta, include_path
|
51
147
|
|
52
148
|
else
|
53
149
|
# create an option
|
150
|
+
option = Option.new role, option_meta, include_path
|
54
151
|
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
# name that will be used in QB cli
|
59
|
-
cli_option_name = if include_as
|
60
|
-
"#{ include_as }_#{ qb_meta_name }"
|
152
|
+
arg_style = if option.required?
|
153
|
+
:REQUIRED
|
61
154
|
else
|
62
|
-
|
155
|
+
:OPTIONAL
|
63
156
|
end
|
64
157
|
|
65
|
-
# name that is passed to ansible role
|
66
|
-
ansible_var_name = "#{ role.var_prefix }_#{ qb_meta_name }"
|
67
|
-
|
68
|
-
required = var['required'] || false
|
69
|
-
save = if var.key? 'save'
|
70
|
-
!!var['save']
|
71
|
-
else
|
72
|
-
true
|
73
|
-
end
|
74
|
-
|
75
|
-
option = options[cli_option_name] = Option.new qb_meta_name,
|
76
|
-
cli_option_name,
|
77
|
-
ansible_var_name,
|
78
|
-
required,
|
79
|
-
save,
|
80
|
-
nil
|
81
|
-
|
82
|
-
arg_style = required ? :REQUIRED : :OPTIONAL
|
83
|
-
|
84
158
|
# on_args = [arg_style]
|
85
159
|
on_args = []
|
86
160
|
|
87
|
-
if
|
161
|
+
if option.meta['type'] == 'boolean'
|
88
162
|
# don't use short names when included (for now)
|
89
|
-
if
|
90
|
-
on_args << "-#{
|
163
|
+
if include_path.empty? && option.meta['short']
|
164
|
+
on_args << "-#{ option.meta['short'] }"
|
91
165
|
end
|
92
166
|
|
93
|
-
on_args << "--[no-]#{
|
167
|
+
on_args << "--[no-]#{ option.cli_name }"
|
94
168
|
|
95
169
|
else
|
96
|
-
ruby_type = case
|
170
|
+
ruby_type = case option.meta['type']
|
171
|
+
when nil
|
172
|
+
raise MetadataError,
|
173
|
+
"must provide type in qb metadata for option #{ option.meta_name }"
|
97
174
|
when 'string'
|
98
175
|
String
|
99
176
|
when Hash
|
100
|
-
if
|
177
|
+
if option.meta['type'].key? 'one_of'
|
101
178
|
klass = Class.new
|
102
179
|
opts.accept(klass) {|value|
|
103
|
-
if
|
180
|
+
if option.meta['type']['one_of'].include? value
|
104
181
|
value
|
105
182
|
else
|
106
|
-
raise
|
107
|
-
"one of: #{
|
183
|
+
raise MetadataError,
|
184
|
+
"option '#{ option.cli_name }' must be one of: #{ option.meta['type']['one_of'].join(', ') }"
|
108
185
|
end
|
109
186
|
}
|
110
187
|
klass
|
111
188
|
else
|
112
|
-
raise
|
189
|
+
raise MetadataError,
|
190
|
+
"bad type for option #{ option.meta_name }: #{ option.meta['type'].inspect }"
|
113
191
|
end
|
114
192
|
else
|
115
|
-
raise
|
193
|
+
raise MetadataError,
|
194
|
+
"bad type for option #{ option.meta_name }: #{ option.meta['type'].inspect }"
|
116
195
|
end
|
117
196
|
|
118
197
|
# don't use short names when included (for now)
|
119
|
-
if
|
120
|
-
on_args << "-#{
|
198
|
+
if include_path.empty? && option.meta['short']
|
199
|
+
on_args << "-#{ option.meta['short'] } #{ option.cli_name.upcase }"
|
121
200
|
end
|
122
201
|
|
123
|
-
on_args << "--#{
|
202
|
+
on_args << "--#{ option.cli_name }=#{ option.cli_name.upcase }"
|
124
203
|
|
125
204
|
on_args << ruby_type
|
126
205
|
end
|
127
206
|
|
128
|
-
|
129
|
-
description = if var.key? 'description'
|
130
|
-
var['description']
|
131
|
-
else
|
132
|
-
"set the #{ ansible_var_name } variable"
|
133
|
-
end
|
207
|
+
on_args << option.description
|
134
208
|
|
135
|
-
if
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
end
|
140
|
-
|
141
|
-
on_args << description
|
142
|
-
|
143
|
-
if role.defaults.key? ansible_var_name
|
144
|
-
on_args << if var['type'] == 'boolean'
|
145
|
-
if role.defaults[ansible_var_name]
|
146
|
-
"default --#{ cli_option_name }"
|
209
|
+
if role.defaults.key? option.var_name
|
210
|
+
on_args << if option.meta['type'] == 'boolean'
|
211
|
+
if role.defaults[option.var_name]
|
212
|
+
"default --#{ option.cli_name }"
|
147
213
|
else
|
148
|
-
"default --no-#{
|
214
|
+
"default --no-#{ option.cli_name }"
|
149
215
|
end
|
150
216
|
else
|
151
|
-
"default = #{ role.defaults[
|
217
|
+
"default = #{ role.defaults[option.var_name] }"
|
152
218
|
end
|
153
219
|
end
|
154
220
|
|
@@ -161,6 +227,8 @@ module QB
|
|
161
227
|
|
162
228
|
option.value = value
|
163
229
|
end
|
230
|
+
|
231
|
+
options[option.cli_name] = option
|
164
232
|
end
|
165
233
|
end # each var
|
166
234
|
end # add
|
data/lib/qb/role.rb
CHANGED
@@ -183,11 +183,14 @@ module QB
|
|
183
183
|
meta['var_prefix'] || namespaceless
|
184
184
|
end
|
185
185
|
|
186
|
-
#
|
187
|
-
def
|
188
|
-
meta['vars'] || []
|
186
|
+
# get the options from the metadata, defaulting to [] if none defined
|
187
|
+
def options
|
188
|
+
meta['options'] || meta['opts'] || meta['vars'] || []
|
189
189
|
end
|
190
190
|
|
191
|
+
# old name
|
192
|
+
alias_method :vars, :options
|
193
|
+
|
191
194
|
# loads the defaults from defaults/main.yml, caching by default
|
192
195
|
def load_defaults cache = true
|
193
196
|
defaults_path = @path + 'defaults' + 'main.yml'
|
data/lib/qb/version.rb
CHANGED
@@ -5,11 +5,3 @@ allow_duplicates: yes
|
|
5
5
|
|
6
6
|
dependencies:
|
7
7
|
- role: qb.role
|
8
|
-
role_role_name: "{{ qb_role_name }}"
|
9
|
-
role_defaults: "{{ qb_role_defaults }}"
|
10
|
-
role_files: "{{ qb_role_files }}"
|
11
|
-
role_handlers: "{{ qb_role_handlers }}"
|
12
|
-
role_meta: "{{ qb_role_meta }}"
|
13
|
-
role_tasks: "{{ qb_role_tasks }}"
|
14
|
-
role_templates: "{{ qb_role_templates }}"
|
15
|
-
role_vars: "{{ qb_role_vars }}"
|
@@ -10,38 +10,6 @@ var_prefix: null
|
|
10
10
|
# how to get a default for `dir` if it's not provided as the
|
11
11
|
default_dir: null
|
12
12
|
|
13
|
-
|
14
|
-
-
|
15
|
-
|
16
|
-
description: name of the role.
|
17
|
-
short: n
|
18
|
-
|
19
|
-
- name: files
|
20
|
-
type: boolean
|
21
|
-
description: create a files directory.
|
22
|
-
short: f
|
23
|
-
|
24
|
-
- name: handlers
|
25
|
-
type: boolean
|
26
|
-
description: create handlers/main.yml
|
27
|
-
short: a
|
28
|
-
|
29
|
-
- name: meta
|
30
|
-
type: boolean
|
31
|
-
description: create meta/main.yml
|
32
|
-
short: m
|
33
|
-
|
34
|
-
- name: tasks
|
35
|
-
type: boolean
|
36
|
-
description: create tasks/main.yml
|
37
|
-
short: t
|
38
|
-
|
39
|
-
- name: templates
|
40
|
-
type: boolean
|
41
|
-
description: create a templates directory.
|
42
|
-
short: e
|
43
|
-
|
44
|
-
- name: vars
|
45
|
-
type: boolean
|
46
|
-
description: create vars/main.yml
|
47
|
-
short: v
|
13
|
+
options:
|
14
|
+
- include: qb.role
|
15
|
+
as: null
|
@@ -1,5 +1,5 @@
|
|
1
1
|
---
|
2
|
-
# meta/qb.yml file for {{
|
2
|
+
# meta/qb.yml file for {{ role_role_name }}
|
3
3
|
#
|
4
4
|
# qb settings for this role. see README.md for more info.
|
5
5
|
#
|
@@ -13,7 +13,7 @@ default_dir: null
|
|
13
13
|
# set to false to not save options in {{ qb_dir }}/.qb-options.yml
|
14
14
|
save_options: true
|
15
15
|
|
16
|
-
|
16
|
+
options: []
|
17
17
|
# - name: example
|
18
18
|
# description: an example of a variable.
|
19
19
|
# required: false
|
@@ -9,23 +9,12 @@ role_tasks: true
|
|
9
9
|
role_templates: false
|
10
10
|
role_vars: false
|
11
11
|
|
12
|
-
#
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
12
|
+
# galaxy
|
13
|
+
role_galaxy: false
|
14
|
+
role_author: "{{ git_user_name }}"
|
15
|
+
role_description: "{{ role_role_name }} ansible role."
|
16
|
+
role_license: "BSD"
|
17
|
+
role_min_ansible_version: 2.1.2.0
|
17
18
|
|
18
|
-
#
|
19
|
-
|
20
|
-
|
21
|
-
# rest of the project variables default to false except readme
|
22
|
-
role_project_bin: false
|
23
|
-
role_project_dev: false
|
24
|
-
role_project_dev_bin: false
|
25
|
-
role_project_setup: false
|
26
|
-
role_project_scratch: false
|
27
|
-
role_project_tmp: false
|
28
|
-
role_project_readme: true
|
29
|
-
role_project_hub: false
|
30
|
-
role_project_private: false
|
31
|
-
role_project_force: false
|
19
|
+
# init a project repo for the role
|
20
|
+
role_project: false
|
data/roles/qb.role/meta/main.yml
CHANGED
@@ -3,16 +3,4 @@
|
|
3
3
|
|
4
4
|
dependencies:
|
5
5
|
- role: qb.project
|
6
|
-
project_owner: "{{ role_project_owner }}"
|
7
|
-
project_name: "{{ role_project_name }}"
|
8
|
-
project_bin: "{{ role_project_bin }}"
|
9
|
-
project_dev: "{{ role_project_dev }}"
|
10
|
-
project_dev_bin: "{{ role_project_dev_bin }}"
|
11
|
-
project_setup: "{{ role_project_setup }}"
|
12
|
-
project_scratch: "{{ role_project_scratch }}"
|
13
|
-
project_tmp: "{{ role_project_tmp }}"
|
14
|
-
project_readme: "{{ role_project_readme }}"
|
15
|
-
project_hub: "{{ role_project_hub }}"
|
16
|
-
project_private: "{{ role_project_private }}"
|
17
|
-
project_force: "{{ role_project_force }}"
|
18
6
|
when: role_project
|
data/roles/qb.role/meta/qb.yml
CHANGED
@@ -16,6 +16,11 @@ vars:
|
|
16
16
|
description: name of the role.
|
17
17
|
short: n
|
18
18
|
|
19
|
+
- name: defaults
|
20
|
+
type: boolean
|
21
|
+
description: create a defaults directory.
|
22
|
+
short: d
|
23
|
+
|
19
24
|
- name: files
|
20
25
|
type: boolean
|
21
26
|
description: create a files directory.
|
@@ -46,19 +51,15 @@ vars:
|
|
46
51
|
description: create vars/main.yml
|
47
52
|
short: v
|
48
53
|
|
54
|
+
- name: galaxy
|
55
|
+
type: boolean
|
56
|
+
description: include galaxy info in meta/main.yml
|
57
|
+
short: g
|
58
|
+
|
49
59
|
- name: project
|
50
60
|
type: boolean
|
51
61
|
description: create a project repo for this role
|
62
|
+
short: p
|
52
63
|
|
53
|
-
-
|
54
|
-
type: string
|
55
|
-
description: the github owner of the project repo
|
56
|
-
|
57
|
-
- name: project_name
|
58
|
-
type: string
|
59
|
-
description: the github name of the project repo
|
60
|
-
|
61
|
-
- name: project_hub
|
62
|
-
type: boolean
|
63
|
-
description: switch to `hub create` the project repo
|
64
|
+
- include: qb.project
|
64
65
|
|
@@ -5,3 +5,11 @@ allow_duplicates: yes
|
|
5
5
|
|
6
6
|
dependencies: []
|
7
7
|
# - role: role-name
|
8
|
+
|
9
|
+
{% if role_galaxy %}
|
10
|
+
galaxy_info:
|
11
|
+
author: {{ role_author | to_json }}
|
12
|
+
description: {{ role_description | to_json }}
|
13
|
+
license: {{ role_license | to_json }}
|
14
|
+
min_ansible_version: {{ role_min_ansible_version | to_json }}
|
15
|
+
{% endif %}
|
@@ -0,0 +1,20 @@
|
|
1
|
+
---
|
2
|
+
# vars file for qb.role
|
3
|
+
|
4
|
+
# overriding the qb.project defaults has to happen here - values in
|
5
|
+
# defaults/main.yml **will not** be visible to the included role
|
6
|
+
|
7
|
+
# the name of the project repo, which defaults to "ansible-<role-name>"
|
8
|
+
project_name: "ansible-{{ role_role_name }}"
|
9
|
+
|
10
|
+
# rest of the project variables default to false except readme
|
11
|
+
project_bin: false
|
12
|
+
project_dev: false
|
13
|
+
project_dev_bin: false
|
14
|
+
project_setup: false
|
15
|
+
project_scratch: false
|
16
|
+
project_tmp: false
|
17
|
+
project_readme: true
|
18
|
+
project_hub: false
|
19
|
+
project_private: false
|
20
|
+
project_force: false
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: qb
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.15
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- nrser
|
@@ -440,7 +440,6 @@ files:
|
|
440
440
|
- roles/qb.project/templates/bootstrap.yml.j2
|
441
441
|
- roles/qb.project/templates/setup.yml.j2
|
442
442
|
- roles/qb.qb_role/.qb-options.yml
|
443
|
-
- roles/qb.qb_role/defaults/main.yml
|
444
443
|
- roles/qb.qb_role/meta/main.yml
|
445
444
|
- roles/qb.qb_role/meta/qb.yml
|
446
445
|
- roles/qb.qb_role/tasks/main.yml
|
@@ -461,6 +460,7 @@ files:
|
|
461
460
|
- roles/qb.role/templates/meta/main.yml.j2
|
462
461
|
- roles/qb.role/templates/tasks/main.yml.j2
|
463
462
|
- roles/qb.role/templates/vars/main.yml.j2
|
463
|
+
- roles/qb.role/vars/main.yml
|
464
464
|
- temp.yml
|
465
465
|
- tmp/.gitkeep
|
466
466
|
homepage: https://github.com/nrser/qb
|