qb 0.3.25 → 0.4.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/VERSION +1 -1
- data/ansible.cfg +10 -1
- data/exe/.qb_interop_receive +3 -10
- data/exe/qb +8 -2
- data/lib/python/qb/__init__.py +6 -0
- data/{roles/qb/ruby/rspec/setup/tasks/persistence.yml → lib/python/qb/ansible/__init__.py} +0 -0
- data/lib/python/qb/ansible/modules/__init__.py +0 -0
- data/lib/python/qb/ansible/modules/docker/__init__.py +0 -0
- data/lib/python/qb/ansible/modules/docker/client.py +177 -0
- data/lib/python/qb/ansible/modules/docker/image_manager.py +754 -0
- data/lib/python/qb/ipc/__init__.py +0 -0
- data/lib/python/qb/ipc/stdio/__init__.py +99 -0
- data/lib/python/qb/ipc/stdio/logging.py +151 -0
- data/lib/qb.rb +3 -3
- data/lib/qb/ansible/cmds/playbook.rb +5 -14
- data/lib/qb/ansible/env.rb +36 -6
- data/lib/qb/ansible/module.rb +396 -152
- data/lib/qb/ansible/module/response.rb +195 -0
- data/lib/qb/ansible/modules.rb +42 -0
- data/lib/qb/ansible/modules/docker/image.rb +273 -0
- data/lib/qb/cli.rb +5 -18
- data/lib/qb/cli/run.rb +2 -2
- data/lib/qb/data.rb +22 -0
- data/lib/qb/data/immutable.rb +39 -0
- data/lib/qb/docker.rb +2 -0
- data/lib/qb/docker/cli.rb +430 -0
- data/lib/qb/docker/image.rb +207 -0
- data/lib/qb/docker/image/name.rb +309 -0
- data/lib/qb/docker/image/tag.rb +113 -0
- data/lib/qb/docker/repo.rb +0 -0
- data/lib/qb/errors.rb +17 -3
- data/lib/qb/execution.rb +83 -0
- data/lib/qb/ipc.rb +48 -0
- data/lib/qb/ipc/stdio.rb +32 -0
- data/lib/qb/ipc/stdio/client.rb +267 -0
- data/lib/qb/ipc/stdio/server.rb +229 -0
- data/lib/qb/ipc/stdio/server/in_service.rb +18 -0
- data/lib/qb/ipc/stdio/server/log_service.rb +168 -0
- data/lib/qb/ipc/stdio/server/out_service.rb +20 -0
- data/lib/qb/ipc/stdio/server/service.rb +229 -0
- data/lib/qb/options.rb +360 -502
- data/lib/qb/options/option.rb +293 -115
- data/lib/qb/options/option/option_parser_concern.rb +228 -0
- data/lib/qb/options/types.rb +73 -0
- data/lib/qb/package.rb +0 -1
- data/lib/qb/package/version.rb +179 -58
- data/lib/qb/package/version/from.rb +192 -51
- data/lib/qb/package/version/leveled.rb +1 -1
- data/lib/qb/path.rb +3 -2
- data/lib/qb/repo/git.rb +9 -85
- data/lib/qb/role/default_dir.rb +2 -2
- data/lib/qb/role/errors.rb +2 -8
- data/lib/qb/util.rb +1 -2
- data/lib/qb/util/bundler.rb +73 -43
- data/lib/qb/util/decorators.rb +99 -0
- data/lib/qb/util/interop.rb +7 -8
- data/lib/qb/util/resource.rb +12 -13
- data/lib/qb/version.rb +10 -0
- data/library/path_facts +5 -10
- data/library/qb.module.rb +105 -0
- data/library/stream +6 -26
- data/load/ansible/module/autorun.rb +25 -0
- data/load/ansible/module/script.rb +123 -0
- data/load/rebundle.rb +39 -0
- data/plugins/filter/dict_filters.py +56 -0
- data/plugins/{filter_plugins/path_plugins.py → filter/path_filters.py} +0 -0
- data/plugins/{filter_plugins/ruby_interop_plugins.py → filter/ruby_interop_filters.py} +1 -17
- data/plugins/{filter_plugins/string_plugins.py → filter/string_filters.py} +1 -20
- data/plugins/{filter_plugins/version_plugins.py → filter/version_filters.py} +3 -18
- data/plugins/{lookup_plugins/every.py → lookup/every_lookups.py} +0 -0
- data/plugins/{lookup_plugins/resolve.py → lookup/resolve_lookups.py} +0 -0
- data/plugins/{lookup_plugins/version.py → lookup/version_lookups.py} +0 -16
- data/plugins/test/dict_tests.py +36 -0
- data/plugins/test/string_tests.py +36 -0
- data/qb.gemspec +7 -3
- data/roles/nrser.rb/library/set_fact_with_ruby.rb +3 -9
- data/roles/nrser.state_mate/library/state +3 -17
- data/roles/qb/call/meta/qb.yml +1 -1
- data/roles/qb/dev/ref/repo/git/meta/qb.yml +1 -1
- data/roles/qb/{ruby/rspec/setup → docker/mac/kubernetes}/defaults/main.yml +1 -1
- data/roles/qb/{ruby/rspec/setup → docker/mac/kubernetes}/meta/main.yml +3 -2
- data/roles/qb/{ruby/rspec/setup → docker/mac/kubernetes}/meta/qb.yml +12 -7
- data/roles/qb/docker/mac/kubernetes/tasks/main.yml +45 -0
- data/roles/qb/git/check/clean/meta/qb.yml +1 -1
- data/roles/qb/git/ignore/meta/qb +10 -3
- data/roles/qb/git/submodule/update/library/git_submodule_update +17 -27
- data/roles/qb/github/pages/setup/meta/qb.yml +1 -1
- data/roles/qb/labs/atom/apm/meta/qb.yml +1 -1
- data/roles/qb/osx/git/change_case/meta/qb.yml +1 -1
- data/roles/qb/osx/notif/meta/qb.yml +1 -1
- data/roles/qb/pkg/bump/library/bump +4 -16
- data/roles/qb/role/qb/defaults/main.yml +2 -0
- data/roles/qb/role/qb/meta/qb.yml +10 -5
- data/roles/qb/role/qb/templates/qb.yml.j2 +7 -2
- data/roles/qb/role/templates/library/module.rb.j2 +12 -23
- data/roles/qb/role/templates/meta/main.yml.j2 +14 -1
- data/roles/qb/ruby/bundler/meta/qb.yml +1 -1
- data/roles/qb/ruby/dependency/meta/qb.yml +1 -1
- data/roles/qb/ruby/gem/bin_stubs/meta/qb.yml +1 -1
- data/roles/qb/ruby/gem/bin_stubs/templates/console +8 -2
- data/roles/qb/ruby/gem/build/meta/qb.yml +1 -1
- data/roles/qb/ruby/gem/new/meta/qb.yml +1 -1
- data/roles/qb/ruby/nrser/rspex/generate/meta/qb.yml +5 -5
- data/roles/qb/ruby/nrser/rspex/issue/meta/qb.yml +1 -1
- data/roles/qb/ruby/yard/clean/meta/qb.yml +1 -1
- data/roles/qb/ruby/yard/config/library/yard.get_output_dir +5 -15
- data/roles/qb/ruby/yard/config/meta/qb.yml +1 -1
- data/roles/qb/ruby/yard/setup/meta/qb.yml +1 -1
- metadata +71 -22
- data/lib/qb/ansible_module.rb +0 -5
- data/lib/qb/util/stdio.rb +0 -187
- data/roles/qb/ruby/rspec/setup/tasks/main.yml +0 -4
|
File without changes
|
|
@@ -6,22 +6,6 @@ import sys
|
|
|
6
6
|
|
|
7
7
|
from ansible.errors import AnsibleError
|
|
8
8
|
|
|
9
|
-
|
|
10
|
-
HERE = os.path.dirname(os.path.realpath(__file__))
|
|
11
|
-
|
|
12
|
-
PROJECT_ROOT = os.path.realpath(
|
|
13
|
-
os.path.join(
|
|
14
|
-
HERE, # //plugins/filter_plugins
|
|
15
|
-
'..', # //plugins
|
|
16
|
-
'..', # //
|
|
17
|
-
)
|
|
18
|
-
)
|
|
19
|
-
|
|
20
|
-
LIB_PYTHON_DIR = os.path.join( PROJECT_ROOT, 'lib', 'python' )
|
|
21
|
-
|
|
22
|
-
if not (LIB_PYTHON_DIR in sys.path):
|
|
23
|
-
sys.path.insert(0, LIB_PYTHON_DIR)
|
|
24
|
-
|
|
25
9
|
import qb.interop
|
|
26
10
|
|
|
27
11
|
|
|
@@ -43,4 +27,4 @@ class FilterModule( object ):
|
|
|
43
27
|
if __name__ == '__main__':
|
|
44
28
|
import doctest
|
|
45
29
|
doctest.testmod()
|
|
46
|
-
|
|
30
|
+
|
|
@@ -30,25 +30,6 @@ import os
|
|
|
30
30
|
|
|
31
31
|
from ansible.errors import AnsibleError
|
|
32
32
|
|
|
33
|
-
|
|
34
|
-
# Project Imports Setup
|
|
35
|
-
# ----------------------------------------------------------------------------
|
|
36
|
-
|
|
37
|
-
PROJECT_ROOT = os.path.realpath(
|
|
38
|
-
os.path.join(
|
|
39
|
-
os.path.dirname(os.path.realpath(__file__)), # //plugins/filter_plugins
|
|
40
|
-
'..', # //plugins
|
|
41
|
-
'..', # //
|
|
42
|
-
)
|
|
43
|
-
)
|
|
44
|
-
|
|
45
|
-
LIB_PYTHON_DIR = os.path.join( PROJECT_ROOT, 'lib', 'python' )
|
|
46
|
-
|
|
47
|
-
if not (LIB_PYTHON_DIR in sys.path):
|
|
48
|
-
sys.path.insert(0, LIB_PYTHON_DIR)
|
|
49
|
-
|
|
50
|
-
# Now we can import from `//lib/python`...
|
|
51
|
-
|
|
52
33
|
import qb.strings
|
|
53
34
|
|
|
54
35
|
|
|
@@ -116,4 +97,4 @@ class FilterModule(object):
|
|
|
116
97
|
if __name__ == '__main__':
|
|
117
98
|
import doctest
|
|
118
99
|
doctest.testmod()
|
|
119
|
-
|
|
100
|
+
|
|
@@ -8,27 +8,12 @@ import sys
|
|
|
8
8
|
|
|
9
9
|
from ansible.errors import AnsibleError
|
|
10
10
|
|
|
11
|
-
|
|
12
|
-
HERE = os.path.dirname(os.path.realpath(__file__))
|
|
13
|
-
|
|
14
|
-
PROJECT_ROOT = os.path.realpath(
|
|
15
|
-
os.path.join(
|
|
16
|
-
HERE, # //plugins/filter_plugins
|
|
17
|
-
'..', # //plugins
|
|
18
|
-
'..', # //
|
|
19
|
-
)
|
|
20
|
-
)
|
|
21
|
-
|
|
22
|
-
LIB_PYTHON_DIR = os.path.join( PROJECT_ROOT, 'lib', 'python' )
|
|
23
|
-
|
|
24
|
-
if not (LIB_PYTHON_DIR in sys.path):
|
|
25
|
-
sys.path.insert(0, LIB_PYTHON_DIR)
|
|
26
|
-
|
|
11
|
+
import qb
|
|
27
12
|
import qb.interop
|
|
28
13
|
|
|
29
14
|
|
|
30
15
|
def get_semver_path():
|
|
31
|
-
bin_path = os.path.join(
|
|
16
|
+
bin_path = os.path.join(qb.ROOT, 'node_modules', 'semver', 'bin', 'semver')
|
|
32
17
|
|
|
33
18
|
if not os.path.isfile(bin_path):
|
|
34
19
|
raise Exception("can't find semver at %s" % bin_path)
|
|
@@ -93,7 +78,7 @@ def semver_parse(version):
|
|
|
93
78
|
|
|
94
79
|
out = subprocess.check_output(
|
|
95
80
|
cmd,
|
|
96
|
-
cwd =
|
|
81
|
+
cwd = qb.ROOT
|
|
97
82
|
)
|
|
98
83
|
|
|
99
84
|
version = json.loads(out)
|
|
File without changes
|
|
File without changes
|
|
@@ -14,22 +14,6 @@ except ImportError:
|
|
|
14
14
|
from ansible.utils.display import Display
|
|
15
15
|
display = Display()
|
|
16
16
|
|
|
17
|
-
|
|
18
|
-
HERE = os.path.dirname(os.path.realpath(__file__))
|
|
19
|
-
|
|
20
|
-
PROJECT_ROOT = os.path.realpath(
|
|
21
|
-
os.path.join(
|
|
22
|
-
HERE, # //plugins/filter_plugins
|
|
23
|
-
'..', # //plugins
|
|
24
|
-
'..', # //
|
|
25
|
-
)
|
|
26
|
-
)
|
|
27
|
-
|
|
28
|
-
LIB_PYTHON_DIR = os.path.join( PROJECT_ROOT, 'lib', 'python' )
|
|
29
|
-
|
|
30
|
-
if not (LIB_PYTHON_DIR in sys.path):
|
|
31
|
-
sys.path.insert(0, LIB_PYTHON_DIR)
|
|
32
|
-
|
|
33
17
|
import qb.interop
|
|
34
18
|
|
|
35
19
|
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
# Imports
|
|
2
|
+
# ============================================================================
|
|
3
|
+
|
|
4
|
+
from __future__ import (absolute_import, division, print_function)
|
|
5
|
+
__metaclass__ = type
|
|
6
|
+
|
|
7
|
+
import sys
|
|
8
|
+
import re
|
|
9
|
+
import os
|
|
10
|
+
|
|
11
|
+
from ansible.errors import AnsibleError
|
|
12
|
+
|
|
13
|
+
def key_prefix(key_and_value, prefix):
|
|
14
|
+
'''
|
|
15
|
+
|
|
16
|
+
>>> key_prefix(('key', 'value'), 'k')
|
|
17
|
+
True
|
|
18
|
+
'''
|
|
19
|
+
|
|
20
|
+
return key_and_value[0].startswith(prefix)
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
class TestModule(object):
|
|
24
|
+
'''Some dict filters'''
|
|
25
|
+
|
|
26
|
+
def tests(self):
|
|
27
|
+
return {
|
|
28
|
+
'key_prefix': key_prefix,
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
# testing - call camel_case on first cli arg and print result
|
|
33
|
+
if __name__ == '__main__':
|
|
34
|
+
import doctest
|
|
35
|
+
doctest.testmod()
|
|
36
|
+
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
# Imports
|
|
2
|
+
# ============================================================================
|
|
3
|
+
|
|
4
|
+
from __future__ import (absolute_import, division, print_function)
|
|
5
|
+
__metaclass__ = type
|
|
6
|
+
|
|
7
|
+
import sys
|
|
8
|
+
import re
|
|
9
|
+
import os
|
|
10
|
+
|
|
11
|
+
from ansible.errors import AnsibleError
|
|
12
|
+
|
|
13
|
+
def startswith(string, prefix):
|
|
14
|
+
'''
|
|
15
|
+
>>> startswith('bigfoot', 'big')
|
|
16
|
+
True
|
|
17
|
+
'''
|
|
18
|
+
|
|
19
|
+
return string.startswith( prefix )
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
class TestModule(object):
|
|
23
|
+
'''Some string filters'''
|
|
24
|
+
|
|
25
|
+
def tests(self):
|
|
26
|
+
return {
|
|
27
|
+
'startswith': startswith,
|
|
28
|
+
'startwith': startswith,
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
# testing - call camel_case on first cli arg and print result
|
|
33
|
+
if __name__ == '__main__':
|
|
34
|
+
import doctest
|
|
35
|
+
doctest.testmod()
|
|
36
|
+
|
data/qb.gemspec
CHANGED
|
@@ -195,13 +195,13 @@ Gem::Specification.new do |spec|
|
|
|
195
195
|
# ----------------------------------------------------------------------------
|
|
196
196
|
|
|
197
197
|
# My guns
|
|
198
|
-
spec.add_dependency
|
|
198
|
+
spec.add_dependency 'nrser', '~> 0.3.3'
|
|
199
199
|
|
|
200
200
|
# My favorite wrapper
|
|
201
|
-
spec.add_dependency "cmds", '~> 0.2.
|
|
201
|
+
spec.add_dependency "cmds", '~> 0.2.11'
|
|
202
202
|
|
|
203
203
|
# My gem to help manage system state
|
|
204
|
-
spec.add_dependency "state_mate", '~> 0.1.
|
|
204
|
+
spec.add_dependency "state_mate", '~> 0.1.4'
|
|
205
205
|
|
|
206
206
|
# Used to parse `ansible.cfg` files
|
|
207
207
|
spec.add_dependency 'parseconfig', '~> 1.0', '>= 1.0.8'
|
|
@@ -218,6 +218,10 @@ Gem::Specification.new do |spec|
|
|
|
218
218
|
# Ruby lib wrapping `git` binary system calls for use in {QB::Repo::Git}
|
|
219
219
|
spec.add_dependency 'git', '~> 1.3'
|
|
220
220
|
|
|
221
|
+
# Trying out a method decoration gem, aimed to be like Python (which I did
|
|
222
|
+
# really like, once you got past the confusion of it)
|
|
223
|
+
spec.add_dependency 'method_decorators', '~> 0.9.6'
|
|
224
|
+
|
|
221
225
|
|
|
222
226
|
# Development-Only Extra Metadata
|
|
223
227
|
# ============================================================================
|
|
@@ -6,15 +6,9 @@
|
|
|
6
6
|
# WANT_JSON
|
|
7
7
|
# ^ tell Ansible to provide args as JSON encoded file.
|
|
8
8
|
|
|
9
|
-
#
|
|
10
|
-
if ENV['
|
|
11
|
-
|
|
12
|
-
if k.start_with? 'QB_DEV_ENV_'
|
|
13
|
-
ENV[k.sub('QB_DEV_ENV_', '')] = v
|
|
14
|
-
end
|
|
15
|
-
}
|
|
16
|
-
require 'bundler/setup'
|
|
17
|
-
end
|
|
9
|
+
# Reinstate Bundler ENV vars if they have been moved
|
|
10
|
+
load ENV['QB_REBUNDLE_PATH'] if ENV['QB_REBUNDLE_PATH']
|
|
11
|
+
|
|
18
12
|
|
|
19
13
|
# stdlib
|
|
20
14
|
require 'json'
|
|
@@ -1,23 +1,9 @@
|
|
|
1
1
|
#!/usr/bin/env ruby
|
|
2
2
|
# WANT_JSON
|
|
3
3
|
|
|
4
|
-
#
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
#
|
|
8
|
-
# what we do is have exe/qb copy all the bundler env vars to
|
|
9
|
-
# `QB_DEV_ENV_<NAME` ones around the env sanitization, along with adding
|
|
10
|
-
# `QB_DEV_ENV=true`. then we pick those up here and restore them.
|
|
11
|
-
#
|
|
12
|
-
if ENV['QB_DEV_ENV']
|
|
13
|
-
ENV.each {|k, v|
|
|
14
|
-
if k.start_with? 'QB_DEV_ENV_'
|
|
15
|
-
ENV[k.sub('QB_DEV_ENV_', '')] = v
|
|
16
|
-
end
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
require 'bundler/setup'
|
|
20
|
-
end
|
|
4
|
+
# Reinstate Bundler ENV vars if they have been moved
|
|
5
|
+
load ENV['QB_REBUNDLE_PATH'] if ENV['QB_REBUNDLE_PATH']
|
|
6
|
+
|
|
21
7
|
|
|
22
8
|
require 'pp'
|
|
23
9
|
require 'json'
|
data/roles/qb/call/meta/qb.yml
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
##############################################################################
|
|
3
|
-
# Variable defaults for `qb/
|
|
3
|
+
# Variable defaults for `qb/docker/mac/kubernetes` role
|
|
4
4
|
#
|
|
5
5
|
# @see http://docs.ansible.com/ansible/latest/playbooks_reuse_roles.html#role-default-variables
|
|
6
6
|
#
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
---
|
|
2
2
|
##############################################################################
|
|
3
|
-
# Ansible metadata for `qb/
|
|
3
|
+
# Ansible metadata for `qb/docker/mac/kubernetes` role
|
|
4
4
|
##############################################################################
|
|
5
5
|
|
|
6
|
-
allow_duplicates:
|
|
6
|
+
allow_duplicates: yes
|
|
7
7
|
|
|
8
8
|
dependencies: []
|
|
9
9
|
# - role: role-name
|
|
10
|
+
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
##############################################################################
|
|
3
|
-
# QB metadata for `qb/
|
|
3
|
+
# QB metadata for `qb/docker/mac/kubernetes` role.
|
|
4
4
|
#
|
|
5
5
|
# QB settings for this role.
|
|
6
6
|
#
|
|
@@ -10,21 +10,26 @@
|
|
|
10
10
|
|
|
11
11
|
# Shown in help output, etc.
|
|
12
12
|
description: >-
|
|
13
|
-
|
|
13
|
+
Setup steps for local dev with Kubernetes on Docker for Mac
|
|
14
14
|
|
|
15
15
|
# Gemspec-style requirements. Right now only `.gems.qb` is used.
|
|
16
16
|
requirements:
|
|
17
17
|
gems:
|
|
18
|
-
|
|
18
|
+
# Role options taking advantage of the {NRSER::Types} system require
|
|
19
|
+
# QB 0.4.
|
|
20
|
+
#
|
|
21
|
+
# TODO Change this to `>= 0.4.0` when 0.4.0 is released.
|
|
22
|
+
#
|
|
23
|
+
qb: '>= 0.4.0.dev'
|
|
19
24
|
|
|
20
25
|
# Prefix for role variables
|
|
21
|
-
var_prefix:
|
|
26
|
+
var_prefix: kubernetes
|
|
22
27
|
|
|
23
28
|
# How to get a default for `DIRECTORY` arg if not provided by user.
|
|
24
29
|
#
|
|
25
30
|
# @see http://www.rubydoc.info/gems/qb/file/doc/qb_roles/metadata/default_dir.md
|
|
26
31
|
#
|
|
27
|
-
default_dir:
|
|
32
|
+
default_dir: false # means use *must* provide `DIRECTORY` arg
|
|
28
33
|
|
|
29
34
|
# If `true`, QB will ensure `DIRECTORY` exists before starting the play.
|
|
30
35
|
mkdir: false
|
|
@@ -33,13 +38,13 @@ mkdir: false
|
|
|
33
38
|
default_user: null
|
|
34
39
|
|
|
35
40
|
# Save options in `.qb-options.yml` files
|
|
36
|
-
save_options:
|
|
41
|
+
save_options: false
|
|
37
42
|
|
|
38
43
|
# Options to pass to `ansible-playbook`
|
|
39
44
|
ansible_options: {}
|
|
40
45
|
|
|
41
46
|
# Role CLI options that become Ansible vars
|
|
42
|
-
options:
|
|
47
|
+
options:
|
|
43
48
|
# - name: example
|
|
44
49
|
# description: an example of a variable.
|
|
45
50
|
# required: false
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
---
|
|
2
|
+
##############################################################################
|
|
3
|
+
# Main tasks for `qb/docker/mac/kubernetes` role
|
|
4
|
+
##############################################################################
|
|
5
|
+
|
|
6
|
+
- name: |-
|
|
7
|
+
Use the `docker-for-desktop` kubectl context
|
|
8
|
+
command: >-
|
|
9
|
+
kubectl config use-context docker-for-desktop
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
- name: |-
|
|
13
|
+
Install the Kubernetes dashboard
|
|
14
|
+
|
|
15
|
+
https://rominirani.com/tutorial-getting-started-with-kubernetes-with-docker-on-mac-7f58467203fd
|
|
16
|
+
|
|
17
|
+
command: >-
|
|
18
|
+
kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/master/src/deploy/recommended/kubernetes-dashboard.yaml
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
- name: |-
|
|
22
|
+
Tap `nrser/versions` in Homebrew to get `kubernetes-helm@2.8.2`
|
|
23
|
+
|
|
24
|
+
2.9 is busted: https://github.com/kubernetes/helm/issues/2520
|
|
25
|
+
|
|
26
|
+
homebrew_tap:
|
|
27
|
+
name: nrser/versions
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
- name: |-
|
|
31
|
+
Make sure `kubernetes-helm` is not linked in Homebrew
|
|
32
|
+
homebrew:
|
|
33
|
+
name: kubernetes-helm
|
|
34
|
+
state: unlinked
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
- name: |-
|
|
38
|
+
Install `kubernetes-helm@2.8.2`
|
|
39
|
+
homebrew:
|
|
40
|
+
name: kubernetes-helm@2.8.2
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
- name: |-
|
|
44
|
+
Init Helm
|
|
45
|
+
command: helm init
|
data/roles/qb/git/ignore/meta/qb
CHANGED
|
@@ -12,13 +12,20 @@ names = Dir.chdir(GITIGNORE_DIR) do
|
|
|
12
12
|
end
|
|
13
13
|
|
|
14
14
|
puts JSON.pretty_generate({
|
|
15
|
+
requirements: {
|
|
16
|
+
gems: {
|
|
17
|
+
# The `type: {in: ...}` syntax for the `name` option requires QB 0.4
|
|
18
|
+
qb: '>= 0.4.0.dev',
|
|
19
|
+
}
|
|
20
|
+
},
|
|
21
|
+
|
|
15
22
|
save_options: false,
|
|
16
23
|
|
|
17
24
|
default_dir: {
|
|
18
25
|
find_up: '.gitignore',
|
|
19
26
|
},
|
|
20
27
|
|
|
21
|
-
# TODO added this to preserve prefix from when role was named
|
|
28
|
+
# TODO added this to preserve prefix from when role was named
|
|
22
29
|
# `qb.gitignore`, might want to change once we sort all that out.
|
|
23
30
|
#
|
|
24
31
|
var_prefix: 'gitignore',
|
|
@@ -29,9 +36,9 @@ puts JSON.pretty_generate({
|
|
|
29
36
|
description: "name of gitignore.",
|
|
30
37
|
required: true,
|
|
31
38
|
type: {
|
|
32
|
-
|
|
39
|
+
in: names,
|
|
33
40
|
},
|
|
34
41
|
short: 'n',
|
|
35
42
|
},
|
|
36
43
|
],
|
|
37
|
-
})
|
|
44
|
+
})
|