kubes 0.3.2 → 0.4.1
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 +29 -0
- data/README.md +6 -5
- data/docs/_config.yml +1 -1
- data/docs/_docs/ci/cloudbuild.md +2 -0
- data/docs/_docs/config/args.md +10 -0
- data/docs/_docs/config/args/docker.md +19 -0
- data/docs/_docs/config/args/kubectl.md +19 -0
- data/docs/_docs/config/docker.md +4 -40
- data/docs/_docs/config/env.md +1 -1
- data/docs/_docs/config/hooks.md +10 -0
- data/docs/_docs/config/hooks/docker.md +70 -0
- data/docs/_docs/config/hooks/kubectl.md +83 -0
- data/docs/_docs/config/hooks/kubes.md +67 -0
- data/docs/_docs/config/hooks/ruby.md +74 -0
- data/docs/_docs/config/kubectl.md +3 -54
- data/docs/_docs/config/reference.md +20 -0
- data/docs/_docs/config/skip.md +58 -0
- data/docs/_docs/dsl/resources.md +1 -1
- data/docs/_docs/dsl/resources/backend_config.md +1 -1
- data/docs/_docs/intro.md +6 -3
- data/docs/_docs/learn/dsl/review-project.md +4 -2
- data/docs/_docs/learn/yaml/review-project.md +4 -2
- data/docs/_docs/{auto-context.md → misc/auto-context.md} +0 -0
- data/docs/_docs/{kustomize.md → misc/kustomize.md} +0 -0
- data/docs/_docs/misc/separate-steps.md +21 -0
- data/docs/_docs/patterns/migrations.md +121 -0
- data/docs/_includes/commands.html +2 -0
- data/docs/_includes/config/hooks/options.md +20 -0
- data/docs/_includes/sidebar.html +32 -10
- data/docs/_reference/kubes-exec.md +14 -6
- data/docs/_reference/kubes-init.md +1 -0
- data/docs/_reference/kubes-logs.md +1 -0
- data/docs/_sass/theme.scss +25 -1
- data/kubes.gemspec +3 -0
- data/lib/kubes.rb +3 -0
- data/lib/kubes/cli.rb +25 -6
- data/lib/kubes/cli/apply.rb +2 -1
- data/lib/kubes/cli/base.rb +11 -0
- data/lib/kubes/cli/compile.rb +8 -0
- data/lib/kubes/cli/delete.rb +1 -1
- data/lib/kubes/cli/exec.rb +37 -6
- data/lib/kubes/cli/get.rb +3 -2
- data/lib/kubes/cli/init.rb +39 -2
- data/lib/kubes/cli/logs.rb +50 -3
- data/lib/kubes/cli/prune.rb +95 -0
- data/lib/kubes/compiler.rb +11 -7
- data/lib/kubes/compiler/decorator/base.rb +7 -1
- data/lib/kubes/compiler/decorator/{resources/secret.rb → hashable.rb} +5 -4
- data/lib/kubes/compiler/decorator/hashable/field.rb +53 -0
- data/lib/kubes/compiler/decorator/hashable/storage.rb +19 -0
- data/lib/kubes/compiler/decorator/post.rb +77 -0
- data/lib/kubes/compiler/decorator/pre.rb +12 -0
- data/lib/kubes/compiler/strategy.rb +2 -2
- data/lib/kubes/compiler/strategy/base.rb +1 -1
- data/lib/kubes/compiler/strategy/result.rb +4 -6
- data/lib/kubes/config.rb +16 -11
- data/lib/kubes/docker/strategy/build/docker.rb +1 -1
- data/lib/kubes/docker/strategy/build/gcloud.rb +1 -1
- data/lib/kubes/docker/strategy/image_name.rb +1 -1
- data/lib/kubes/docker/strategy/push/docker.rb +1 -1
- data/lib/kubes/docker/strategy/push/gcloud.rb +1 -1
- data/lib/kubes/docker/strategy/utils.rb +1 -1
- data/lib/kubes/hooks/builder.rb +29 -15
- data/lib/kubes/hooks/concern.rb +10 -0
- data/lib/kubes/hooks/dsl.rb +2 -1
- data/lib/kubes/hooks/runner.rb +22 -0
- data/lib/kubes/kubectl.rb +21 -18
- data/lib/kubes/kubectl/batch.rb +8 -5
- data/lib/kubes/kubectl/{decider.rb → dispatcher.rb} +1 -1
- data/lib/kubes/kubectl/fetch/base.rb +13 -10
- data/lib/kubes/kubectl/fetch/deployment.rb +21 -11
- data/lib/kubes/kubectl/fetch/pods.rb +4 -15
- data/lib/kubes/kubectl/kustomize.rb +1 -1
- data/lib/kubes/kubectl/ordering.rb +12 -0
- data/lib/kubes/util/consider.rb +2 -1
- data/lib/kubes/util/sh.rb +1 -1
- data/lib/kubes/version.rb +1 -1
- data/lib/templates/dsl/.kubes/resources/base/all.rb.tt +6 -1
- data/lib/templates/dsl/.kubes/resources/shared/namespace.rb.tt +1 -1
- data/lib/templates/dsl/.kubes/resources/web/deployment.rb +1 -1
- data/lib/templates/yaml/.kubes/resources/base/all.yaml.tt +1 -1
- data/lib/templates/yaml/.kubes/resources/shared/namespace.yaml.tt +1 -1
- data/lib/templates/yaml/.kubes/resources/web/deployment.yaml.tt +1 -1
- data/spec/fixtures/decorators/deployment/both/envFrom.yaml +31 -0
- data/spec/fixtures/decorators/deployment/both/valueFrom.yaml +33 -0
- data/spec/fixtures/decorators/deployment/both/volumes.yaml +40 -0
- data/spec/fixtures/prune/capture.yaml +57 -0
- data/spec/fixtures/prune/fetch_items.yaml +268 -0
- data/spec/kubes/cli/prune_spec.rb +38 -0
- data/spec/kubes/compiler/decorator/{resources → post}/deployment_spec.rb +52 -6
- data/spec/kubes/compiler/decorator/{resources → post}/pod_spec.rb +2 -11
- metadata +56 -19
- data/lib/kubes/compiler/decorator.rb +0 -17
- data/lib/kubes/compiler/decorator/compile.rb +0 -12
- data/lib/kubes/compiler/decorator/resources/base.rb +0 -13
- data/lib/kubes/compiler/decorator/resources/container.rb +0 -76
- data/lib/kubes/compiler/decorator/resources/container/mapping.rb +0 -28
- data/lib/kubes/compiler/decorator/resources/deployment.rb +0 -10
- data/lib/kubes/compiler/decorator/resources/pod.rb +0 -10
- data/lib/kubes/compiler/decorator/write.rb +0 -14
- data/lib/kubes/docker/strategy/hooks.rb +0 -9
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
describe Kubes::Compiler::Decorator::
|
|
1
|
+
describe Kubes::Compiler::Decorator::Post do
|
|
2
2
|
let(:decorator) { described_class.new(data) }
|
|
3
3
|
|
|
4
4
|
def fixture(name)
|
|
5
5
|
YAML.load_file("spec/fixtures/decorators/pod/#{name}.yaml")
|
|
6
6
|
end
|
|
7
7
|
before(:each) do
|
|
8
|
-
allow(Kubes::Compiler::Decorator).to receive(:fetch).and_return("fakehash")
|
|
8
|
+
allow(Kubes::Compiler::Decorator::Hashable::Storage).to receive(:fetch).and_return("fakehash")
|
|
9
9
|
end
|
|
10
10
|
|
|
11
11
|
context("secret") do
|
|
@@ -38,15 +38,6 @@ describe Kubes::Compiler::Decorator::Resources::Pod do
|
|
|
38
38
|
expect(name).to eq("demo-secret-fakehash")
|
|
39
39
|
end
|
|
40
40
|
end
|
|
41
|
-
|
|
42
|
-
describe "run" do
|
|
43
|
-
let(:data) { fixture("secret/envFrom") }
|
|
44
|
-
it "data" do
|
|
45
|
-
decorator.run
|
|
46
|
-
name = data['spec']['containers'][0]['envFrom'][0]['secretRef']['name']
|
|
47
|
-
expect(name).to eq("demo-secret-fakehash")
|
|
48
|
-
end
|
|
49
|
-
end
|
|
50
41
|
end
|
|
51
42
|
|
|
52
43
|
context "configMap" do
|
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.
|
|
4
|
+
version: 0.4.1
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Tung Nguyen
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: exe
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2020-
|
|
11
|
+
date: 2020-10-13 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: activesupport
|
|
@@ -136,6 +136,20 @@ dependencies:
|
|
|
136
136
|
- - ">="
|
|
137
137
|
- !ruby/object:Gem::Version
|
|
138
138
|
version: '0'
|
|
139
|
+
- !ruby/object:Gem::Dependency
|
|
140
|
+
name: kubes_google
|
|
141
|
+
requirement: !ruby/object:Gem::Requirement
|
|
142
|
+
requirements:
|
|
143
|
+
- - ">="
|
|
144
|
+
- !ruby/object:Gem::Version
|
|
145
|
+
version: '0'
|
|
146
|
+
type: :runtime
|
|
147
|
+
prerelease: false
|
|
148
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
149
|
+
requirements:
|
|
150
|
+
- - ">="
|
|
151
|
+
- !ruby/object:Gem::Version
|
|
152
|
+
version: '0'
|
|
139
153
|
- !ruby/object:Gem::Dependency
|
|
140
154
|
name: bundler
|
|
141
155
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -232,13 +246,22 @@ files:
|
|
|
232
246
|
- docs/README.md
|
|
233
247
|
- docs/Rakefile
|
|
234
248
|
- docs/_config.yml
|
|
235
|
-
- docs/_docs/auto-context.md
|
|
236
249
|
- docs/_docs/ci/cloudbuild.md
|
|
237
250
|
- docs/_docs/config.md
|
|
251
|
+
- docs/_docs/config/args.md
|
|
252
|
+
- docs/_docs/config/args/docker.md
|
|
253
|
+
- docs/_docs/config/args/kubectl.md
|
|
238
254
|
- docs/_docs/config/builder.md
|
|
239
255
|
- docs/_docs/config/docker.md
|
|
240
256
|
- docs/_docs/config/env.md
|
|
257
|
+
- docs/_docs/config/hooks.md
|
|
258
|
+
- docs/_docs/config/hooks/docker.md
|
|
259
|
+
- docs/_docs/config/hooks/kubectl.md
|
|
260
|
+
- docs/_docs/config/hooks/kubes.md
|
|
261
|
+
- docs/_docs/config/hooks/ruby.md
|
|
241
262
|
- docs/_docs/config/kubectl.md
|
|
263
|
+
- docs/_docs/config/reference.md
|
|
264
|
+
- docs/_docs/config/skip.md
|
|
242
265
|
- docs/_docs/contributing.md
|
|
243
266
|
- docs/_docs/dsl.md
|
|
244
267
|
- docs/_docs/dsl/multiple-resources.md
|
|
@@ -269,7 +292,6 @@ files:
|
|
|
269
292
|
- docs/_docs/intro/ordering.md
|
|
270
293
|
- docs/_docs/intro/ordering/custom.md
|
|
271
294
|
- docs/_docs/intro/structure.md
|
|
272
|
-
- docs/_docs/kustomize.md
|
|
273
295
|
- docs/_docs/layering.md
|
|
274
296
|
- docs/_docs/layering/dsl.md
|
|
275
297
|
- docs/_docs/layering/merge.md
|
|
@@ -294,15 +316,20 @@ files:
|
|
|
294
316
|
- docs/_docs/learn/yaml/next-steps.md
|
|
295
317
|
- docs/_docs/learn/yaml/review-project.md
|
|
296
318
|
- docs/_docs/learn/yaml/update.md
|
|
319
|
+
- docs/_docs/misc/auto-context.md
|
|
320
|
+
- docs/_docs/misc/kustomize.md
|
|
321
|
+
- docs/_docs/misc/separate-steps.md
|
|
297
322
|
- docs/_docs/next-steps.md
|
|
298
323
|
- docs/_docs/patterns.md
|
|
299
324
|
- docs/_docs/patterns/clock-web-worker.md
|
|
325
|
+
- docs/_docs/patterns/migrations.md
|
|
300
326
|
- docs/_docs/resources.md
|
|
301
327
|
- docs/_docs/resources/base.md
|
|
302
328
|
- docs/_docs/resources/role.md
|
|
303
329
|
- docs/_docs/resources/shared.md
|
|
304
330
|
- docs/_docs/yaml.md
|
|
305
331
|
- docs/_includes/commands.html
|
|
332
|
+
- docs/_includes/config/hooks/options.md
|
|
306
333
|
- docs/_includes/content.html
|
|
307
334
|
- docs/_includes/dsl/methods.md
|
|
308
335
|
- docs/_includes/dsl/rolling_deployment.md
|
|
@@ -473,19 +500,16 @@ files:
|
|
|
473
500
|
- lib/kubes/cli/help/exec.md
|
|
474
501
|
- lib/kubes/cli/init.rb
|
|
475
502
|
- lib/kubes/cli/logs.rb
|
|
503
|
+
- lib/kubes/cli/prune.rb
|
|
476
504
|
- lib/kubes/cli/sequence.rb
|
|
477
505
|
- lib/kubes/command.rb
|
|
478
506
|
- lib/kubes/compiler.rb
|
|
479
|
-
- lib/kubes/compiler/decorator.rb
|
|
480
507
|
- lib/kubes/compiler/decorator/base.rb
|
|
481
|
-
- lib/kubes/compiler/decorator/
|
|
482
|
-
- lib/kubes/compiler/decorator/
|
|
483
|
-
- lib/kubes/compiler/decorator/
|
|
484
|
-
- lib/kubes/compiler/decorator/
|
|
485
|
-
- lib/kubes/compiler/decorator/
|
|
486
|
-
- lib/kubes/compiler/decorator/resources/pod.rb
|
|
487
|
-
- lib/kubes/compiler/decorator/resources/secret.rb
|
|
488
|
-
- lib/kubes/compiler/decorator/write.rb
|
|
508
|
+
- lib/kubes/compiler/decorator/hashable.rb
|
|
509
|
+
- lib/kubes/compiler/decorator/hashable/field.rb
|
|
510
|
+
- lib/kubes/compiler/decorator/hashable/storage.rb
|
|
511
|
+
- lib/kubes/compiler/decorator/post.rb
|
|
512
|
+
- lib/kubes/compiler/decorator/pre.rb
|
|
489
513
|
- lib/kubes/compiler/dsl/core/base.rb
|
|
490
514
|
- lib/kubes/compiler/dsl/core/blocks.rb
|
|
491
515
|
- lib/kubes/compiler/dsl/core/fields.rb
|
|
@@ -529,20 +553,21 @@ files:
|
|
|
529
553
|
- lib/kubes/docker/strategy/build/base.rb
|
|
530
554
|
- lib/kubes/docker/strategy/build/docker.rb
|
|
531
555
|
- lib/kubes/docker/strategy/build/gcloud.rb
|
|
532
|
-
- lib/kubes/docker/strategy/hooks.rb
|
|
533
556
|
- lib/kubes/docker/strategy/image_name.rb
|
|
534
557
|
- lib/kubes/docker/strategy/push/base.rb
|
|
535
558
|
- lib/kubes/docker/strategy/push/docker.rb
|
|
536
559
|
- lib/kubes/docker/strategy/push/gcloud.rb
|
|
537
560
|
- lib/kubes/docker/strategy/utils.rb
|
|
538
561
|
- lib/kubes/hooks/builder.rb
|
|
562
|
+
- lib/kubes/hooks/concern.rb
|
|
539
563
|
- lib/kubes/hooks/dsl.rb
|
|
564
|
+
- lib/kubes/hooks/runner.rb
|
|
540
565
|
- lib/kubes/kubectl.rb
|
|
541
566
|
- lib/kubes/kubectl/args/base.rb
|
|
542
567
|
- lib/kubes/kubectl/args/kustomize.rb
|
|
543
568
|
- lib/kubes/kubectl/args/standard.rb
|
|
544
569
|
- lib/kubes/kubectl/batch.rb
|
|
545
|
-
- lib/kubes/kubectl/
|
|
570
|
+
- lib/kubes/kubectl/dispatcher.rb
|
|
546
571
|
- lib/kubes/kubectl/fetch/base.rb
|
|
547
572
|
- lib/kubes/kubectl/fetch/deployment.rb
|
|
548
573
|
- lib/kubes/kubectl/fetch/pods.rb
|
|
@@ -576,6 +601,9 @@ files:
|
|
|
576
601
|
- spec/fixtures/artifacts/demo-web/deployment.yaml
|
|
577
602
|
- spec/fixtures/artifacts/demo-web/service.yaml
|
|
578
603
|
- spec/fixtures/blocks/deployments.rb
|
|
604
|
+
- spec/fixtures/decorators/deployment/both/envFrom.yaml
|
|
605
|
+
- spec/fixtures/decorators/deployment/both/valueFrom.yaml
|
|
606
|
+
- spec/fixtures/decorators/deployment/both/volumes.yaml
|
|
579
607
|
- spec/fixtures/decorators/deployment/configMap/envFrom.yaml
|
|
580
608
|
- spec/fixtures/decorators/deployment/configMap/valueFrom.yaml
|
|
581
609
|
- spec/fixtures/decorators/deployment/configMap/volumes.yaml
|
|
@@ -601,11 +629,14 @@ files:
|
|
|
601
629
|
- spec/fixtures/project/.kubes/resources/deployment.rb
|
|
602
630
|
- spec/fixtures/project/.kubes/resources/foobar.rb
|
|
603
631
|
- spec/fixtures/project/.kubes/resources/service.rb
|
|
632
|
+
- spec/fixtures/prune/capture.yaml
|
|
633
|
+
- spec/fixtures/prune/fetch_items.yaml
|
|
604
634
|
- spec/fixtures/services/minimum.rb
|
|
605
635
|
- spec/fixtures/syntax/network_policy.rb
|
|
606
636
|
- spec/fixtures/syntax/pod.rb
|
|
607
|
-
- spec/kubes/
|
|
608
|
-
- spec/kubes/compiler/decorator/
|
|
637
|
+
- spec/kubes/cli/prune_spec.rb
|
|
638
|
+
- spec/kubes/compiler/decorator/post/deployment_spec.rb
|
|
639
|
+
- spec/kubes/compiler/decorator/post/pod_spec.rb
|
|
609
640
|
- spec/kubes/compiler/strategy/dsl_spec.rb
|
|
610
641
|
- spec/kubes/compiler_spec.rb
|
|
611
642
|
- spec/kubes/dsl/daemon_set.rb
|
|
@@ -645,6 +676,9 @@ test_files:
|
|
|
645
676
|
- spec/fixtures/artifacts/demo-web/deployment.yaml
|
|
646
677
|
- spec/fixtures/artifacts/demo-web/service.yaml
|
|
647
678
|
- spec/fixtures/blocks/deployments.rb
|
|
679
|
+
- spec/fixtures/decorators/deployment/both/envFrom.yaml
|
|
680
|
+
- spec/fixtures/decorators/deployment/both/valueFrom.yaml
|
|
681
|
+
- spec/fixtures/decorators/deployment/both/volumes.yaml
|
|
648
682
|
- spec/fixtures/decorators/deployment/configMap/envFrom.yaml
|
|
649
683
|
- spec/fixtures/decorators/deployment/configMap/valueFrom.yaml
|
|
650
684
|
- spec/fixtures/decorators/deployment/configMap/volumes.yaml
|
|
@@ -670,11 +704,14 @@ test_files:
|
|
|
670
704
|
- spec/fixtures/project/.kubes/resources/deployment.rb
|
|
671
705
|
- spec/fixtures/project/.kubes/resources/foobar.rb
|
|
672
706
|
- spec/fixtures/project/.kubes/resources/service.rb
|
|
707
|
+
- spec/fixtures/prune/capture.yaml
|
|
708
|
+
- spec/fixtures/prune/fetch_items.yaml
|
|
673
709
|
- spec/fixtures/services/minimum.rb
|
|
674
710
|
- spec/fixtures/syntax/network_policy.rb
|
|
675
711
|
- spec/fixtures/syntax/pod.rb
|
|
676
|
-
- spec/kubes/
|
|
677
|
-
- spec/kubes/compiler/decorator/
|
|
712
|
+
- spec/kubes/cli/prune_spec.rb
|
|
713
|
+
- spec/kubes/compiler/decorator/post/deployment_spec.rb
|
|
714
|
+
- spec/kubes/compiler/decorator/post/pod_spec.rb
|
|
678
715
|
- spec/kubes/compiler/strategy/dsl_spec.rb
|
|
679
716
|
- spec/kubes/compiler_spec.rb
|
|
680
717
|
- spec/kubes/dsl/daemon_set.rb
|
|
@@ -1,76 +0,0 @@
|
|
|
1
|
-
module Kubes::Compiler::Decorator::Resources
|
|
2
|
-
class Container
|
|
3
|
-
include Mapping
|
|
4
|
-
|
|
5
|
-
def initialize(data, kind:, fields_for:)
|
|
6
|
-
@data = data
|
|
7
|
-
# These methods are defined in Mapping
|
|
8
|
-
kind == "Deployment" ? deployment_keys : pod_keys
|
|
9
|
-
fields_for == "Secret" ? secrets_fields : configMaps_fields
|
|
10
|
-
end
|
|
11
|
-
|
|
12
|
-
def run
|
|
13
|
-
envFrom!
|
|
14
|
-
valueFrom!
|
|
15
|
-
volumes!
|
|
16
|
-
@data
|
|
17
|
-
end
|
|
18
|
-
|
|
19
|
-
# spec.envFrom.configMapRef
|
|
20
|
-
# spec.envFrom.secretRef
|
|
21
|
-
def envFrom!
|
|
22
|
-
return @data unless containers
|
|
23
|
-
|
|
24
|
-
containers.each do |container|
|
|
25
|
-
next unless envFrom_list = container.dig('envFrom') # intentional assignment
|
|
26
|
-
|
|
27
|
-
envFrom_list.each do |envFrom|
|
|
28
|
-
next unless name = envFrom.dig(@envFrom_field, 'name') # intentional assignment
|
|
29
|
-
|
|
30
|
-
md5 = Kubes::Compiler::Decorator.fetch(name)
|
|
31
|
-
envFrom[@envFrom_field]['name'] = [name, md5].compact.join('-')
|
|
32
|
-
end
|
|
33
|
-
end
|
|
34
|
-
end
|
|
35
|
-
|
|
36
|
-
# spec.valueFrom.configMapKeyRef
|
|
37
|
-
# spec.valueFrom.secretKeyRef
|
|
38
|
-
def valueFrom!
|
|
39
|
-
return @data unless containers
|
|
40
|
-
|
|
41
|
-
containers.each do |container|
|
|
42
|
-
next unless env_list = container.dig('env') # intentional assignment
|
|
43
|
-
|
|
44
|
-
env_list.each do |env|
|
|
45
|
-
next unless name = env.dig('valueFrom',@valueFrom_field,'name') # intentional assignment
|
|
46
|
-
|
|
47
|
-
md5 = Kubes::Compiler::Decorator.fetch(name)
|
|
48
|
-
env['valueFrom'][@valueFrom_field]['name'] = [name, md5].compact.join('-')
|
|
49
|
-
end
|
|
50
|
-
end
|
|
51
|
-
end
|
|
52
|
-
|
|
53
|
-
# spec.volumes.configMap.name
|
|
54
|
-
# spec.volumes.secret.secretName
|
|
55
|
-
def volumes!
|
|
56
|
-
volumes = @data.dig(*@volumes_key.split('.'))
|
|
57
|
-
return @data unless volumes
|
|
58
|
-
|
|
59
|
-
volumes.each do |volume|
|
|
60
|
-
# Example:
|
|
61
|
-
# next unless field = volume.dig('secret') # intentional assignment
|
|
62
|
-
# next unless name = field['secretName'] # intentional assignment
|
|
63
|
-
next unless field = volume.dig(@volume_field) # intentional assignment
|
|
64
|
-
next unless name = field[@volume_field_name] # intentional assignment
|
|
65
|
-
|
|
66
|
-
md5 = Kubes::Compiler::Decorator.fetch(name)
|
|
67
|
-
field[@volume_field_name] = [name, md5].compact.join('-')
|
|
68
|
-
end
|
|
69
|
-
end
|
|
70
|
-
|
|
71
|
-
private
|
|
72
|
-
def containers
|
|
73
|
-
@data.dig(*@containers_key.split('.'))
|
|
74
|
-
end
|
|
75
|
-
end
|
|
76
|
-
end
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
class Kubes::Compiler::Decorator::Resources::Container
|
|
2
|
-
# Nice to group the mapping logic in ones spot, making a pattern of this is not worth it.
|
|
3
|
-
module Mapping
|
|
4
|
-
def deployment_keys
|
|
5
|
-
@containers_key = 'spec.template.spec.containers'
|
|
6
|
-
@volumes_key = 'spec.template.spec.volumes'
|
|
7
|
-
end
|
|
8
|
-
|
|
9
|
-
def pod_keys
|
|
10
|
-
@containers_key = 'spec.containers'
|
|
11
|
-
@volumes_key = 'spec.volumes'
|
|
12
|
-
end
|
|
13
|
-
|
|
14
|
-
def configMaps_fields
|
|
15
|
-
@envFrom_field = 'configMapRef'
|
|
16
|
-
@valueFrom_field = 'configMapKeyRef'
|
|
17
|
-
@volume_field = 'configMap'
|
|
18
|
-
@volume_field_name = 'name'
|
|
19
|
-
end
|
|
20
|
-
|
|
21
|
-
def secrets_fields
|
|
22
|
-
@envFrom_field = 'secretRef'
|
|
23
|
-
@valueFrom_field = 'secretKeyRef'
|
|
24
|
-
@volume_field = 'secret'
|
|
25
|
-
@volume_field_name = 'secretName'
|
|
26
|
-
end
|
|
27
|
-
end
|
|
28
|
-
end
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
module Kubes::Compiler::Decorator::Resources
|
|
2
|
-
class Deployment < Base
|
|
3
|
-
def perform
|
|
4
|
-
container = Container.new(@data, kind: "Deployment", fields_for: "Secret")
|
|
5
|
-
@data = container.run
|
|
6
|
-
container = Container.new(@data, kind: "Deployment", fields_for: "ConfigMap")
|
|
7
|
-
@data = container.run
|
|
8
|
-
end
|
|
9
|
-
end
|
|
10
|
-
end
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
module Kubes::Compiler::Decorator::Resources
|
|
2
|
-
class Pod < Base
|
|
3
|
-
def perform
|
|
4
|
-
container = Container.new(@data, kind: "Pod", fields_for: "Secret")
|
|
5
|
-
@data = container.run
|
|
6
|
-
container = Container.new(@data, kind: "Pod", fields_for: "ConfigMap")
|
|
7
|
-
@data = container.run
|
|
8
|
-
end
|
|
9
|
-
end
|
|
10
|
-
end
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
module Kubes::Compiler::Decorator
|
|
2
|
-
class Write < Base
|
|
3
|
-
def process(item)
|
|
4
|
-
case item['kind']
|
|
5
|
-
when "Deployment"
|
|
6
|
-
Resources::Deployment.new(item).run
|
|
7
|
-
when "Pod"
|
|
8
|
-
Resources::Pod.new(item).run
|
|
9
|
-
else
|
|
10
|
-
item # pass through
|
|
11
|
-
end
|
|
12
|
-
end
|
|
13
|
-
end
|
|
14
|
-
end
|