kubes 0.7.9 → 0.8.2

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.
Files changed (82) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +17 -0
  3. data/docs/.gitignore +1 -0
  4. data/docs/Gemfile +2 -0
  5. data/docs/_config.yml +8 -0
  6. data/docs/_docs/config/app-overrides.md +7 -0
  7. data/docs/_docs/config/boot.md +46 -0
  8. data/docs/_docs/config/env.md +29 -2
  9. data/docs/_docs/config/hooks/docker.md +2 -0
  10. data/docs/_docs/config/hooks/generator.md +16 -0
  11. data/docs/_docs/config/hooks/kubectl.md +2 -0
  12. data/docs/_docs/config/hooks/kubes.md +2 -0
  13. data/docs/_docs/config/reference.md +2 -2
  14. data/docs/_docs/config/skip.md +22 -0
  15. data/docs/_docs/helpers/aws/iam-role.md +1 -0
  16. data/docs/_docs/install/dependencies.md +18 -0
  17. data/docs/_docs/install/gem/custom-version.md +70 -0
  18. data/docs/_docs/install/gem.md +6 -0
  19. data/docs/_docs/install/standalone/centos.md +70 -0
  20. data/docs/_docs/install/standalone/details/permissions.md +44 -0
  21. data/docs/_docs/install/standalone/details/uninstall.md +16 -0
  22. data/docs/_docs/install/standalone/details.md +20 -0
  23. data/docs/_docs/install/standalone/macosx.md +45 -0
  24. data/docs/_docs/install/standalone/ubuntu.md +48 -0
  25. data/docs/_docs/install/standalone.md +43 -0
  26. data/docs/_docs/install.md +8 -0
  27. data/docs/_docs/learn/dsl/install.md +1 -1
  28. data/docs/_docs/learn/yaml/install.md +1 -1
  29. data/docs/_docs/patterns/central-deployer.md +38 -0
  30. data/docs/_docs/variables/advanced.md +32 -1
  31. data/docs/_docs/variables/basic.md +1 -0
  32. data/docs/_docs/vs/custom.md +2 -0
  33. data/docs/_docs/vs/helm.md +2 -0
  34. data/docs/_docs/vs/kustomize.md +3 -1
  35. data/docs/_docs/vs.md +2 -0
  36. data/docs/_docs/yaml/erb-comment.md +89 -0
  37. data/docs/_includes/banner/foot.html +2 -0
  38. data/docs/_includes/banner/head.html +5 -0
  39. data/docs/_includes/config/app-overrides-cheatsheet.md +44 -0
  40. data/docs/_includes/config/hooks/generator.md +6 -0
  41. data/docs/_includes/content.html +1 -1
  42. data/docs/_includes/install/gem.md +7 -0
  43. data/docs/_includes/install/wrapper.md +9 -0
  44. data/docs/_includes/layering/layers.md +3 -0
  45. data/docs/_includes/learn/next-steps.md +11 -0
  46. data/docs/_includes/sidebar.html +33 -4
  47. data/docs/_includes/videos/learn/vs.md +4 -0
  48. data/docs/_includes/videos/learn.md +12 -0
  49. data/docs/_includes/videos/youtube.md +1 -0
  50. data/docs/_layouts/default.html +3 -0
  51. data/docs/_reference/kubes-new-hook.md +30 -0
  52. data/docs/_reference/kubes-new-variable.md +7 -0
  53. data/docs/_reference/kubes-new.md +1 -0
  54. data/docs/_sass/theme.scss +11 -0
  55. data/docs/bin/web +1 -1
  56. data/docs/js/scripts.js +7 -0
  57. data/kubes.gemspec +3 -2
  58. data/lib/kubes/booter.rb +26 -0
  59. data/lib/kubes/cli/help/new/hook.md +9 -0
  60. data/lib/kubes/cli/help/new/variable.md +6 -0
  61. data/lib/kubes/cli/init.rb +0 -1
  62. data/lib/kubes/cli/new/hook.rb +18 -0
  63. data/lib/kubes/cli/new.rb +4 -0
  64. data/lib/kubes/command.rb +1 -1
  65. data/lib/kubes/compiler/layering.rb +9 -0
  66. data/lib/kubes/compiler/shared/runtime_helpers.rb +7 -0
  67. data/lib/kubes/compiler/strategy/erb/comment.rb +46 -0
  68. data/lib/kubes/compiler/strategy/erb.rb +4 -0
  69. data/lib/kubes/compiler/strategy/result.rb +13 -1
  70. data/lib/kubes/compiler.rb +2 -0
  71. data/lib/kubes/config.rb +6 -2
  72. data/lib/kubes/core.rb +4 -0
  73. data/lib/kubes/kubectl/ordering.rb +9 -6
  74. data/lib/kubes/version.rb +1 -1
  75. data/lib/kubes.rb +3 -0
  76. data/lib/templates/new/hooks/docker.rb +9 -0
  77. data/lib/templates/new/hooks/kubectl.rb +11 -0
  78. data/lib/templates/new/hooks/kubes.rb +9 -0
  79. data/lib/templates/yaml/.kubes/resources/base/deployment.yaml.tt +2 -0
  80. metadata +58 -11
  81. data/docs/_docs/intro/install.md +0 -6
  82. data/docs/_includes/intro/install.md +0 -19
@@ -0,0 +1,6 @@
1
+ ## Examples
2
+
3
+ $ kubes new variable
4
+ create .kubes/variables/dev.rb
5
+ $ KUBES_ENV=prod kubes new variable
6
+ create .kubes/variables/prod.rb
@@ -85,7 +85,6 @@ class Kubes::CLI
85
85
  def adjust_gitignore
86
86
  ignores = %w[
87
87
  .kubes/output
88
- .kubes/state
89
88
  .kubes/tmp
90
89
  ].map {|l| "#{l}\n"} # the readlines will have lines with \n so keep consistent for processing
91
90
  if File.exist?(".gitignore")
@@ -0,0 +1,18 @@
1
+ class Kubes::CLI::New
2
+ class Hook < Kubes::CLI::Sequence
3
+ argument :type, default: "kubes", description: "IE: docker, kubectl, kubes" # description doesnt really show up
4
+
5
+ def self.options
6
+ [
7
+ [:force, aliases: ["y"], type: :boolean, desc: "Bypass overwrite are you sure prompt for existing files"],
8
+ ]
9
+ end
10
+ options.each { |args| class_option(*args) }
11
+
12
+ public
13
+ def create_hook
14
+ set_source("new/hooks")
15
+ template "#{type}.rb", ".kubes/config/hooks/#{type}.rb"
16
+ end
17
+ end
18
+ end
data/lib/kubes/cli/new.rb CHANGED
@@ -11,5 +11,9 @@ class Kubes::CLI
11
11
  long_desc Help.text("new/variable")
12
12
  Variable.options.each { |args| option(*args) }
13
13
  register(Variable, "variable", "variable", "Generates kubes variable file.")
14
+
15
+ long_desc Help.text("new/hook")
16
+ Hook.options.each { |args| option(*args) }
17
+ register(Hook, "hook", "hook", "Generates kubes hook file.")
14
18
  end
15
19
  end
data/lib/kubes/command.rb CHANGED
@@ -58,7 +58,7 @@ module Kubes
58
58
 
59
59
  def check_project!(command_name)
60
60
  return if command_name.nil?
61
- return if %w[-h -v completion completion_script help init new version].include?(command_name)
61
+ return if %w[-h -v --version completion completion_script help init new version].include?(command_name)
62
62
  Kubes.check_project!
63
63
  end
64
64
 
@@ -31,6 +31,15 @@ class Kubes::Compiler
31
31
  "base",
32
32
  Kubes.env.to_s
33
33
  ]
34
+
35
+ if Kubes.app
36
+ layers += [
37
+ Kubes.app,
38
+ "#{Kubes.app}/base",
39
+ "#{Kubes.app}/#{Kubes.env}",
40
+ ]
41
+ end
42
+
34
43
  layers = add_exts(layers)
35
44
  layers.map! do |layer|
36
45
  "#{kind_path}/#{layer}"
@@ -68,6 +68,13 @@ module Kubes::Compiler::Shared
68
68
  "#{role}/#{kind}/base.rb",
69
69
  "#{role}/#{kind}/#{Kubes.env}.rb",
70
70
  ]
71
+ if Kubes.app
72
+ app_layers = ["#{Kubes.app}.rb"]
73
+ app_layers += layers.map do |path|
74
+ "#{Kubes.app}/#{path}"
75
+ end
76
+ layers += app_layers
77
+ end
71
78
 
72
79
  layers.each do |layer|
73
80
  path = "#{Kubes.root}/.kubes/variables/#{layer}"
@@ -0,0 +1,46 @@
1
+ # Processes the ERB files and looks for comments like
2
+ #
3
+ # #ERB if @testvar
4
+ # - "some yaml"
5
+ # #ERB end
6
+ #
7
+ class Kubes::Compiler::Strategy::Erb
8
+ class Comment
9
+ extend Memoist
10
+
11
+ def initialize(path)
12
+ @path = path
13
+ end
14
+
15
+ def lines
16
+ IO.readlines(@path)
17
+ end
18
+ memoize :lines
19
+
20
+ def process?
21
+ !!lines.detect { |l| l.include?('#ERB') }
22
+ end
23
+
24
+ def process
25
+ new_lines = lines.map do |line|
26
+ md = line.match(/(.*)#ERB(.*)/)
27
+ if md
28
+ "#{md[1]}<%#{md[2]} %>\n"
29
+ else
30
+ line
31
+ end
32
+ end
33
+ content = new_lines.join('')
34
+ IO.write(erb_path, content)
35
+ erb_path
36
+ end
37
+
38
+ def clean
39
+ FileUtils.rm_f(erb_path) unless ENV['KUBES_KEEP_ERB']
40
+ end
41
+
42
+ def erb_path
43
+ "#{@path}.erb"
44
+ end
45
+ end
46
+ end
@@ -17,7 +17,11 @@ class Kubes::Compiler::Strategy
17
17
  def render_result(path)
18
18
  return unless File.exist?(path)
19
19
 
20
+ comment = Comment.new(path)
21
+ path = comment.process if comment.process?
20
22
  yaml = RenderMePretty.result(path, context: self)
23
+ comment.clean if comment.process?
24
+
21
25
  result = yaml_load(path, yaml)
22
26
  # in case of blank yaml doc a Boolean false is returned. else Hash or Array is returned
23
27
  %w[Array Hash].include?(result.class.to_s) ? result : {}
@@ -21,8 +21,20 @@ class Kubes::Compiler::Strategy
21
21
  end
22
22
 
23
23
  def content
24
- result = @data.size == 1 ? @data.first : @data
24
+ data = filter_skip(@data)
25
+ return if data.empty?
26
+ result = data.size == 1 ? data.first : data
25
27
  yaml_dump(result)
26
28
  end
29
+
30
+ def skip?
31
+ content.nil?
32
+ end
33
+
34
+ def filter_skip(data)
35
+ data.reject do |item|
36
+ item.dig('kubes', 'skip')
37
+ end
38
+ end
27
39
  end
28
40
  end
@@ -38,6 +38,8 @@ module Kubes
38
38
  end
39
39
 
40
40
  def write(result)
41
+ return if config_skip?(result.filename)
42
+ return if result.skip?
41
43
  result.decorate!(:post)
42
44
  filename, content = result.filename, result.content
43
45
  dest = "#{Kubes.root}/.kubes/output/#{filename}"
data/lib/kubes/config.rb CHANGED
@@ -18,7 +18,7 @@ module Kubes
18
18
  # Auto-switching options
19
19
  config.kubectl = ActiveSupport::OrderedOptions.new
20
20
  config.kubectl.context = nil
21
- config.kubectl.context_keep = true # after switching context keep it
21
+ config.kubectl.context_keep = false # after switching context keep it
22
22
 
23
23
  # whether or not continue if the kubectl command fails
24
24
  config.kubectl.exit_on_fail = ActiveSupport::OrderedOptions.new
@@ -39,7 +39,7 @@ module Kubes
39
39
  config.skip = []
40
40
 
41
41
  config.state = ActiveSupport::OrderedOptions.new
42
- config.state.path = "#{Kubes.root}/.kubes/state/#{Kubes.env}/data.json"
42
+ config.state.path = ["#{Kubes.root}/.kubes/tmp/state", Kubes.app, "#{Kubes.env}/data.json"].compact.join('/')
43
43
 
44
44
  config.suffix_hash = true # append suffix hash to ConfigMap and Secret
45
45
 
@@ -95,6 +95,10 @@ module Kubes
95
95
  def load_configs
96
96
  evaluate_file(".kubes/config.rb")
97
97
  evaluate_file(".kubes/config/env/#{Kubes.env}.rb")
98
+ if Kubes.app
99
+ evaluate_file(".kubes/config/env/#{Kubes.app}.rb")
100
+ evaluate_file(".kubes/config/env/#{Kubes.app}/#{Kubes.env}.rb")
101
+ end
98
102
  Kubes::Plugin.plugins.each do |klass|
99
103
  # klass: IE: KubesAws, KubesGoogle
100
104
  name = klass.to_s.underscore.sub('kubes_','') # kubes_google => google
data/lib/kubes/core.rb CHANGED
@@ -2,6 +2,10 @@ module Kubes
2
2
  module Core
3
3
  extend Memoist
4
4
 
5
+ def app
6
+ ENV['KUBES_APP']
7
+ end
8
+
5
9
  def env
6
10
  ENV['KUBES_ENV'] || "dev"
7
11
  end
@@ -13,20 +13,23 @@ class Kubes::Kubectl
13
13
  "#{role_i}/#{kind_i}"
14
14
  end
15
15
 
16
- sorted = filter_files(sorted)
16
+ sorted = filter_skip(sorted)
17
17
 
18
18
  @name == "delete" ? sorted.reverse : sorted
19
19
  end
20
20
 
21
- def filter_files(sorted)
22
- skip = Kubes.config.skip
23
- skip += ENV['KUBES_SKIP'].split(' ') if ENV['KUBES_SKIP']
24
- return sorted if skip.empty?
21
+ def filter_skip(sorted)
25
22
  sorted.reject do |file|
26
- skip.detect { |text| file.include?(text) }
23
+ config_skip?(file)
27
24
  end
28
25
  end
29
26
 
27
+ def config_skip?(file)
28
+ skip = Kubes.config.skip
29
+ skip += ENV['KUBES_SKIP'].split(' ') if ENV['KUBES_SKIP']
30
+ !!skip.detect { |pattern| file.include?(pattern) }
31
+ end
32
+
30
33
  # type: kinds or roles
31
34
  # value: Examples: kind: deployment, role: web
32
35
  def index_for(type, value)
data/lib/kubes/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Kubes
2
- VERSION = "0.7.9"
2
+ VERSION = "0.8.2"
3
3
  end
data/lib/kubes.rb CHANGED
@@ -5,6 +5,7 @@ $:.unshift(File.expand_path("../", __FILE__))
5
5
  require "kubes/autoloader"
6
6
  Kubes::Autoloader.setup
7
7
 
8
+ require "active_support"
8
9
  require "active_support/core_ext/class"
9
10
  require "active_support/core_ext/hash"
10
11
  require "active_support/core_ext/string"
@@ -30,3 +31,5 @@ module Kubes
30
31
  class MissingDockerImage < Error; end
31
32
  extend Core
32
33
  end
34
+
35
+ Kubes::Booter.boot
@@ -0,0 +1,9 @@
1
+ # Docs: https://kubes.guru/docs/config/hooks/docker/
2
+
3
+ before("build",
4
+ execute: "echo 'docker build before hook'",
5
+ )
6
+
7
+ after("build",
8
+ execute: "echo 'docker build after hook'",
9
+ )
@@ -0,0 +1,11 @@
1
+ # Docs: https://kubes.guru/docs/config/hooks/kubectl/
2
+
3
+ before("apply",
4
+ on: "web/deployment",
5
+ execute: "echo 'before apply hook test'",
6
+ )
7
+
8
+ after("delete",
9
+ on: "web/deployment",
10
+ execute: "echo 'after delete hook test'",
11
+ )
@@ -0,0 +1,9 @@
1
+ # Docs: https://kubes.guru/docs/config/hooks/kubes/
2
+
3
+ before("apply",
4
+ execute: "echo 'kubes before apply hook'",
5
+ )
6
+
7
+ after("apply",
8
+ execute: "echo 'kubes after apply hook'",
9
+ )
@@ -2,7 +2,9 @@ spec:
2
2
  selector:
3
3
  matchLabels:
4
4
  app: <%= app %>
5
+ env: <%= Kubes.env %>
5
6
  template:
6
7
  metadata:
7
8
  labels:
8
9
  app: <%= app %>
10
+ env: <%= Kubes.env %>
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: kubes
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.9
4
+ version: 0.8.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tung Nguyen
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2021-11-07 00:00:00.000000000 Z
11
+ date: 2022-02-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -80,6 +80,20 @@ dependencies:
80
80
  - - ">="
81
81
  - !ruby/object:Gem::Version
82
82
  version: '0'
83
+ - !ruby/object:Gem::Dependency
84
+ name: nokogiri
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - ">="
88
+ - !ruby/object:Gem::Version
89
+ version: '0'
90
+ type: :runtime
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - ">="
95
+ - !ruby/object:Gem::Version
96
+ version: '0'
83
97
  - !ruby/object:Gem::Dependency
84
98
  name: rainbow
85
99
  requirement: !ruby/object:Gem::Requirement
@@ -140,30 +154,30 @@ dependencies:
140
154
  name: kubes_aws
141
155
  requirement: !ruby/object:Gem::Requirement
142
156
  requirements:
143
- - - "~>"
157
+ - - ">="
144
158
  - !ruby/object:Gem::Version
145
159
  version: 0.3.1
146
160
  type: :runtime
147
161
  prerelease: false
148
162
  version_requirements: !ruby/object:Gem::Requirement
149
163
  requirements:
150
- - - "~>"
164
+ - - ">="
151
165
  - !ruby/object:Gem::Version
152
166
  version: 0.3.1
153
167
  - !ruby/object:Gem::Dependency
154
168
  name: kubes_google
155
169
  requirement: !ruby/object:Gem::Requirement
156
170
  requirements:
157
- - - "~>"
171
+ - - ">="
158
172
  - !ruby/object:Gem::Version
159
- version: 0.3.5
173
+ version: 0.3.8
160
174
  type: :runtime
161
175
  prerelease: false
162
176
  version_requirements: !ruby/object:Gem::Requirement
163
177
  requirements:
164
- - - "~>"
178
+ - - ">="
165
179
  - !ruby/object:Gem::Version
166
- version: 0.3.5
180
+ version: 0.3.8
167
181
  - !ruby/object:Gem::Dependency
168
182
  name: bundler
169
183
  requirement: !ruby/object:Gem::Requirement
@@ -273,14 +287,17 @@ files:
273
287
  - docs/_config.yml
274
288
  - docs/_docs/ci/cloudbuild.md
275
289
  - docs/_docs/config.md
290
+ - docs/_docs/config/app-overrides.md
276
291
  - docs/_docs/config/args.md
277
292
  - docs/_docs/config/args/docker.md
278
293
  - docs/_docs/config/args/kubectl.md
294
+ - docs/_docs/config/boot.md
279
295
  - docs/_docs/config/builder.md
280
296
  - docs/_docs/config/docker.md
281
297
  - docs/_docs/config/env.md
282
298
  - docs/_docs/config/hooks.md
283
299
  - docs/_docs/config/hooks/docker.md
300
+ - docs/_docs/config/hooks/generator.md
284
301
  - docs/_docs/config/hooks/kubectl.md
285
302
  - docs/_docs/config/hooks/kubes.md
286
303
  - docs/_docs/config/hooks/ruby.md
@@ -326,11 +343,21 @@ files:
326
343
  - docs/_docs/helpers/google/gke.md
327
344
  - docs/_docs/helpers/google/secrets.md
328
345
  - docs/_docs/helpers/google/service-account.md
346
+ - docs/_docs/install.md
347
+ - docs/_docs/install/dependencies.md
348
+ - docs/_docs/install/gem.md
349
+ - docs/_docs/install/gem/custom-version.md
350
+ - docs/_docs/install/standalone.md
351
+ - docs/_docs/install/standalone/centos.md
352
+ - docs/_docs/install/standalone/details.md
353
+ - docs/_docs/install/standalone/details/permissions.md
354
+ - docs/_docs/install/standalone/details/uninstall.md
355
+ - docs/_docs/install/standalone/macosx.md
356
+ - docs/_docs/install/standalone/ubuntu.md
329
357
  - docs/_docs/intro.md
330
358
  - docs/_docs/intro/concepts.md
331
359
  - docs/_docs/intro/docker-image.md
332
360
  - docs/_docs/intro/how-kubes-works.md
333
- - docs/_docs/intro/install.md
334
361
  - docs/_docs/intro/ordering.md
335
362
  - docs/_docs/intro/ordering/custom.md
336
363
  - docs/_docs/intro/structure.md
@@ -365,6 +392,7 @@ files:
365
392
  - docs/_docs/misc/separate-steps.md
366
393
  - docs/_docs/next-steps.md
367
394
  - docs/_docs/patterns.md
395
+ - docs/_docs/patterns/central-deployer.md
368
396
  - docs/_docs/patterns/clock-web-worker.md
369
397
  - docs/_docs/patterns/migrations.md
370
398
  - docs/_docs/patterns/multiple-envs.md
@@ -384,9 +412,14 @@ files:
384
412
  - docs/_docs/vs/helm.md
385
413
  - docs/_docs/vs/kustomize.md
386
414
  - docs/_docs/yaml.md
415
+ - docs/_docs/yaml/erb-comment.md
387
416
  - docs/_docs/yaml/multiple-files.md
388
417
  - docs/_docs/yaml/multiple-resources.md
418
+ - docs/_includes/banner/foot.html
419
+ - docs/_includes/banner/head.html
389
420
  - docs/_includes/commands.html
421
+ - docs/_includes/config/app-overrides-cheatsheet.md
422
+ - docs/_includes/config/hooks/generator.md
390
423
  - docs/_includes/config/hooks/options.md
391
424
  - docs/_includes/content.html
392
425
  - docs/_includes/dsl/methods.md
@@ -398,8 +431,9 @@ files:
398
431
  - docs/_includes/header.html
399
432
  - docs/_includes/helpers/base64.md
400
433
  - docs/_includes/helpers/generator.md
434
+ - docs/_includes/install/gem.md
435
+ - docs/_includes/install/wrapper.md
401
436
  - docs/_includes/intro/features.md
402
- - docs/_includes/intro/install.md
403
437
  - docs/_includes/js.html
404
438
  - docs/_includes/kubes-steps.md
405
439
  - docs/_includes/layering/layers.md
@@ -413,6 +447,9 @@ files:
413
447
  - docs/_includes/reference.md
414
448
  - docs/_includes/sidebar.html
415
449
  - docs/_includes/variables/generator.md
450
+ - docs/_includes/videos/learn.md
451
+ - docs/_includes/videos/learn/vs.md
452
+ - docs/_includes/videos/youtube.md
416
453
  - docs/_includes/vs/article.md
417
454
  - docs/_includes/vs/kubes/layering.md
418
455
  - docs/_includes/vs/kubes/structure.md
@@ -435,6 +472,7 @@ files:
435
472
  - docs/_reference/kubes-logs.md
436
473
  - docs/_reference/kubes-new-help.md
437
474
  - docs/_reference/kubes-new-helper.md
475
+ - docs/_reference/kubes-new-hook.md
438
476
  - docs/_reference/kubes-new-resource.md
439
477
  - docs/_reference/kubes-new-variable.md
440
478
  - docs/_reference/kubes-new.md
@@ -468,6 +506,7 @@ files:
468
506
  - docs/img/logos/kubes-white.png
469
507
  - docs/index.html
470
508
  - docs/js/app.js
509
+ - docs/js/scripts.js
471
510
  - docs/opal/app.rb
472
511
  - docs/opal/pager.rb
473
512
  - docs/opal/sidebar.rb
@@ -560,6 +599,7 @@ files:
560
599
  - lib/kubes/auth/gcr.rb
561
600
  - lib/kubes/autoloader.rb
562
601
  - lib/kubes/aws_services.rb
602
+ - lib/kubes/booter.rb
563
603
  - lib/kubes/cli.rb
564
604
  - lib/kubes/cli/apply.rb
565
605
  - lib/kubes/cli/base.rb
@@ -578,11 +618,14 @@ files:
578
618
  - lib/kubes/cli/help/deploy.md
579
619
  - lib/kubes/cli/help/exec.md
580
620
  - lib/kubes/cli/help/new/helper.md
621
+ - lib/kubes/cli/help/new/hook.md
581
622
  - lib/kubes/cli/help/new/resource.md
623
+ - lib/kubes/cli/help/new/variable.md
582
624
  - lib/kubes/cli/init.rb
583
625
  - lib/kubes/cli/logs.rb
584
626
  - lib/kubes/cli/new.rb
585
627
  - lib/kubes/cli/new/helper.rb
628
+ - lib/kubes/cli/new/hook.rb
586
629
  - lib/kubes/cli/new/resource.rb
587
630
  - lib/kubes/cli/new/variable.rb
588
631
  - lib/kubes/cli/prune.rb
@@ -628,6 +671,7 @@ files:
628
671
  - lib/kubes/compiler/strategy/base.rb
629
672
  - lib/kubes/compiler/strategy/dispatcher.rb
630
673
  - lib/kubes/compiler/strategy/erb.rb
674
+ - lib/kubes/compiler/strategy/erb/comment.rb
631
675
  - lib/kubes/compiler/strategy/erb/yaml_error.rb
632
676
  - lib/kubes/compiler/strategy/pass.rb
633
677
  - lib/kubes/compiler/strategy/result.rb
@@ -683,6 +727,9 @@ files:
683
727
  - lib/templates/dsl/.kubes/resources/web/deployment/prod.rb
684
728
  - lib/templates/dsl/.kubes/resources/web/service.rb
685
729
  - lib/templates/new/helper/file.rb
730
+ - lib/templates/new/hooks/docker.rb
731
+ - lib/templates/new/hooks/kubectl.rb
732
+ - lib/templates/new/hooks/kubes.rb
686
733
  - lib/templates/new/resource/dsl/backend_config.rb
687
734
  - lib/templates/new/resource/dsl/config_map.rb
688
735
  - lib/templates/new/resource/dsl/daemon_set.rb
@@ -796,7 +843,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
796
843
  - !ruby/object:Gem::Version
797
844
  version: '0'
798
845
  requirements: []
799
- rubygems_version: 3.1.6
846
+ rubygems_version: 3.2.32
800
847
  signing_key:
801
848
  specification_version: 4
802
849
  summary: 'Kubernetes Deployment Tool: build docker image, compile Kubernetes YAML
@@ -1,6 +0,0 @@
1
- ---
2
- title: Installation
3
- ---
4
-
5
- {% include intro/install.md %}
6
-
@@ -1,19 +0,0 @@
1
- ## RubyGems
2
-
3
- Install kubes via RubyGems.
4
-
5
- gem install kubes
6
-
7
- Ruby 2.7 and above is recommended.
8
-
9
- ## kubectl
10
-
11
- Kubes calls kubectl. Kubes has been tested with kubectl v1.15+. Generally, it should work with most versions of kubectl.
12
-
13
- ## docker
14
-
15
- Kubes calls docker. Kubes has been tested with docker 18.x-ce+. Generally, it should work with most versions of docker.
16
-
17
- ## gcloud
18
-
19
- If you are using the [gcloud builder](% link _docs/config/builder.md %), set up and configure the [gcloud cli](https://cloud.google.com/sdk/install).