ky 0.4.3 → 0.5.0debug

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: b4e1439327b6aed61becdad4564dba6d626bc279
4
- data.tar.gz: b9bc624a510108032079a2d5a53766e10e6ecc0a
3
+ metadata.gz: c3e900e99fbe794371a6194de65233955fa778c3
4
+ data.tar.gz: 29d2ec6a95bd09685859d6df7804d00e5da03bb9
5
5
  SHA512:
6
- metadata.gz: 2fb56300523159011c8af092522a9590ceb4cae1493a63e10f843a17a88ac714815e2fb7c402803a27a0a64db19c4cc8c63cf83ef98787a40472a458b2d43e7e
7
- data.tar.gz: eccefe9f0eb273c22ac337e4178bbf0c9941fa25080aa247f7fbc148905ad0919d712ef81dc7259133fe9a5e053fb043ad935e84c6ae602eb868d61883558a2a
6
+ metadata.gz: bef037f6e81299d4f489ea1677ca509d5bf73f7f193d71c86aa8cbb9e8491d7e85eaebbc9794205cbe8caf4a35781320df390e5dd7dbd2034998b2cd83372b8d
7
+ data.tar.gz: 640d8f96713fcabb7066419a3e234ce0ae1d5528eb19e87b63d8bc46b591d9f8623216a36660a1e83c4ba58861279a4556623021bcf523eb79b313ce5b8f0179
data/Rakefile ADDED
@@ -0,0 +1 @@
1
+ require 'bundler/gem_tasks'
data/ky.gemspec CHANGED
@@ -14,6 +14,7 @@ Gem::Specification.new do |s|
14
14
  s.summary = 'Kubernetes Yaml utilities and lubricant'
15
15
  s.rubyforge_project = 'ky'
16
16
  s.require_paths = ['lib']
17
+ s.add_development_dependency 'rake', '~> 11.3'
17
18
  s.add_development_dependency 'rspec', '~> 3.5'
18
19
  s.add_development_dependency 'pry', '~> 0.10'
19
20
  s.add_runtime_dependency 'thor', '~> 0.19'
@@ -25,12 +25,16 @@ module KY
25
25
  def initialize(input1, input2, configuration = Configuration.new)
26
26
  input_hashes = YAML.load(input1.read).with_indifferent_access, YAML.load(input2.read).with_indifferent_access
27
27
  @configuration = configuration
28
+ @config_hsh = input_hashes.find {|h| h[kind] == config_map }
29
+ @secret_hsh = input_hashes.find {|h| h[kind] == secret }
30
+ secret_project = secret_hsh[metadata][name]
31
+ config_project = config_hsh[metadata][name]
28
32
  input_hashes.each do |env_hsh|
29
33
  env_hsh[:metadata][:namespace] = configuration[:namespace]
34
+ env_hsh[:metadata][:name] = immutable_project_name
30
35
  end
31
- @config_hsh = input_hashes.find {|h| h[kind] == config_map }
32
- @secret_hsh = input_hashes.find {|h| h[kind] == secret }
33
- raise ConflictingProjectError.new("Config and Secret metadata names do not agree") unless secret_hsh[metadata][name] == project
36
+
37
+ raise ConflictingProjectError.new("Config and Secret metadata names do not agree") unless secret_project == config_project
34
38
  end
35
39
 
36
40
  def to_h
@@ -38,11 +42,23 @@ module KY
38
42
  end
39
43
 
40
44
  def project
41
- config_hsh[metadata][name]
45
+ @name ||= config_hsh[metadata][name]
42
46
  end
43
47
 
44
48
  private
45
49
 
50
+ def immutable_project_name
51
+ project + env_sha
52
+ end
53
+
54
+ def env_sha
55
+ sha = Digest::SHA1.new
56
+ sha.update config_hsh[data].to_json
57
+ sha.update secret_hsh[data].to_json
58
+ sha.digest
59
+ "-#{sha.hexdigest}"
60
+ end
61
+
46
62
  def force_config
47
63
  return [] unless configuration[:force_configmap_apply]
48
64
  [inline_env_map(config_map_key_ref, "force-configmap-apply", SecureRandom.hex)]
@@ -72,7 +88,7 @@ module KY
72
88
 
73
89
  def env_map(type, kebab_version)
74
90
  puts "WARNING: #{kebab_version} format appears incorrect, format as #{kebab_version.dasherize.downcase}" unless kebab_version == kebab_version.dasherize.downcase
75
- {name => kebab_version.underscore.upcase, value_from => { type => {name => project, key => kebab_version }}}
91
+ {name => kebab_version.underscore.upcase, value_from => { type => {name => immutable_project_name, key => kebab_version }}}
76
92
  end
77
93
 
78
94
  def output_hash(env_array)
data/lib/ky/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module KY
2
- VERSION = "0.4.3"
2
+ VERSION = "0.5.0debug"
3
3
  end
@@ -13,10 +13,10 @@ spec:
13
13
  - name: DATABASE_URL
14
14
  valueFrom:
15
15
  secretKeyRef:
16
- name: test
16
+ name: test-eef44890a5e5a7eb49214ac9c3992a4ace8888bb
17
17
  key: database-url
18
18
  - name: PII_ENCRYPTION_KEY
19
19
  valueFrom:
20
20
  secretKeyRef:
21
- name: test
21
+ name: test-eef44890a5e5a7eb49214ac9c3992a4ace8888bb
22
22
  key: pii-encryption-key
@@ -31,10 +31,10 @@ spec:
31
31
  - name: DATABASE_URL
32
32
  valueFrom:
33
33
  secretKeyRef:
34
- name: test
34
+ name: test-eef44890a5e5a7eb49214ac9c3992a4ace8888bb
35
35
  key: database-url
36
36
  - name: PII_ENCRYPTION_KEY
37
37
  valueFrom:
38
38
  secretKeyRef:
39
- name: test
39
+ name: test-eef44890a5e5a7eb49214ac9c3992a4ace8888bb
40
40
  key: pii-encryption-key
metadata CHANGED
@@ -1,15 +1,29 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ky
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.3
4
+ version: 0.5.0debug
5
5
  platform: ruby
6
6
  authors:
7
7
  - Brian Glusman
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-11-15 00:00:00.000000000 Z
11
+ date: 2016-12-04 00:00:00.000000000 Z
12
12
  dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: rake
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '11.3'
20
+ type: :development
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '11.3'
13
27
  - !ruby/object:Gem::Dependency
14
28
  name: rspec
15
29
  requirement: !ruby/object:Gem::Requirement
@@ -94,6 +108,7 @@ files:
94
108
  - Gemfile
95
109
  - LICENSE.txt
96
110
  - README.md
111
+ - Rakefile
97
112
  - bin/ky
98
113
  - examples/.ky.yml
99
114
  - examples/deployment_base.yml
@@ -137,12 +152,12 @@ required_ruby_version: !ruby/object:Gem::Requirement
137
152
  version: '0'
138
153
  required_rubygems_version: !ruby/object:Gem::Requirement
139
154
  requirements:
140
- - - ">="
155
+ - - ">"
141
156
  - !ruby/object:Gem::Version
142
- version: '0'
157
+ version: 1.3.1
143
158
  requirements: []
144
159
  rubyforge_project: ky
145
- rubygems_version: 2.5.1
160
+ rubygems_version: 2.6.8
146
161
  signing_key:
147
162
  specification_version: 4
148
163
  summary: Kubernetes Yaml utilities and lubricant