ky 0.5.0debug → 0.5.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: c3e900e99fbe794371a6194de65233955fa778c3
4
- data.tar.gz: 29d2ec6a95bd09685859d6df7804d00e5da03bb9
3
+ metadata.gz: 2fb36141d824ad748398ad0503feb24b26c9bf4d
4
+ data.tar.gz: 70e18656f5ce08b5ff06d65ad193c786a188742b
5
5
  SHA512:
6
- metadata.gz: bef037f6e81299d4f489ea1677ca509d5bf73f7f193d71c86aa8cbb9e8491d7e85eaebbc9794205cbe8caf4a35781320df390e5dd7dbd2034998b2cd83372b8d
7
- data.tar.gz: 640d8f96713fcabb7066419a3e234ce0ae1d5528eb19e87b63d8bc46b591d9f8623216a36660a1e83c4ba58861279a4556623021bcf523eb79b313ce5b8f0179
6
+ metadata.gz: 7c0d0b83bfe91e2956fe2f95a24fb90c0642b560c2347cf856fd4a21adfc283b50db57a0c22883b9acd44c4966b0196918cbdf7d3b6e33de07706dac0d5bc5d7
7
+ data.tar.gz: c9eb87f2815cb29577ac1300565ebec6041d4ca6b844ba86f23ca2b33bbe547fc61ccb47ac7c5c6777d53193fca75d084d323186c28ceece3377df8d415a7a30
data/ky.gemspec CHANGED
@@ -20,6 +20,7 @@ Gem::Specification.new do |s|
20
20
  s.add_runtime_dependency 'thor', '~> 0.19'
21
21
  s.add_runtime_dependency 'activesupport', '>= 3.0'
22
22
  s.add_runtime_dependency 'deep_merge', '~> 1.1'
23
+ s.add_runtime_dependency 'deterministic_random_username', '~> 1.0'
23
24
 
24
25
  s.description = <<-DESC
25
26
  Utility belt for generating kubernetes deployment, config and secrets yml files
data/lib/ky.rb CHANGED
@@ -3,6 +3,7 @@ require 'base64'
3
3
  require 'open-uri'
4
4
  require 'fileutils'
5
5
  require 'pathname'
6
+ require 'random_username'
6
7
  require_relative 'ky/configuration'
7
8
  require_relative 'ky/compilation'
8
9
  require_relative 'ky/manipulation'
@@ -10,7 +10,7 @@ module KY
10
10
  full_output_dir = Pathname.new(base_output_dir).join(configuration[:environment].to_s).to_s
11
11
  FileUtils.mkdir_p(full_output_dir)
12
12
  env_obj = EnvGeneration.new(env1path, env2path, configuration)
13
- deploys_hash = DeployGeneration.new(full_output_dir, env_obj.project, configuration).to_h
13
+ deploys_hash = DeployGeneration.new(full_output_dir, env_obj.immutable_project_name, configuration).to_h
14
14
  deploys_hash.each do |file_path, deploy_hash|
15
15
  File.write(file_path, Manipulation.merge_hash(deploy_hash, env_obj.to_h).to_plain_yaml)
16
16
  end
@@ -45,18 +45,26 @@ module KY
45
45
  @name ||= config_hsh[metadata][name]
46
46
  end
47
47
 
48
+ def immutable_project_name
49
+ project + env_suffix
50
+ end
51
+
48
52
  private
49
53
 
50
- def immutable_project_name
51
- project + env_sha
54
+ def env_suffix
55
+ config_word = RandomUsername.adjective(random: seed(config_hsh))
56
+ secret_word = RandomUsername.noun(random: seed(secret_hsh))
57
+ "-#{config_word}-#{secret_word}"
52
58
  end
53
59
 
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
+ def seed(hsh)
61
+ Random.new("0x#{sha(hsh).hexdigest}".to_i(16))
62
+ end
63
+
64
+ def sha(hsh)
65
+ Digest::SHA1.new.tap do |clean_sha|
66
+ clean_sha.update hsh[data].to_json
67
+ end
60
68
  end
61
69
 
62
70
  def force_config
data/lib/ky/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module KY
2
- VERSION = "0.5.0debug"
2
+ VERSION = "0.5.0"
3
3
  end
@@ -13,10 +13,10 @@ spec:
13
13
  - name: DATABASE_URL
14
14
  valueFrom:
15
15
  secretKeyRef:
16
- name: test-eef44890a5e5a7eb49214ac9c3992a4ace8888bb
16
+ name: test-joyous-peak
17
17
  key: database-url
18
18
  - name: PII_ENCRYPTION_KEY
19
19
  valueFrom:
20
20
  secretKeyRef:
21
- name: test-eef44890a5e5a7eb49214ac9c3992a4ace8888bb
21
+ name: test-joyous-peak
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-eef44890a5e5a7eb49214ac9c3992a4ace8888bb
34
+ name: test-joyous-peak
35
35
  key: database-url
36
36
  - name: PII_ENCRYPTION_KEY
37
37
  valueFrom:
38
38
  secretKeyRef:
39
- name: test-eef44890a5e5a7eb49214ac9c3992a4ace8888bb
39
+ name: test-joyous-peak
40
40
  key: pii-encryption-key
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ky
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.0debug
4
+ version: 0.5.0
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-12-04 00:00:00.000000000 Z
11
+ date: 2016-12-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake
@@ -94,6 +94,20 @@ dependencies:
94
94
  - - "~>"
95
95
  - !ruby/object:Gem::Version
96
96
  version: '1.1'
97
+ - !ruby/object:Gem::Dependency
98
+ name: deterministic_random_username
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - "~>"
102
+ - !ruby/object:Gem::Version
103
+ version: '1.0'
104
+ type: :runtime
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - "~>"
109
+ - !ruby/object:Gem::Version
110
+ version: '1.0'
97
111
  description: " Utility belt for generating kubernetes deployment, config and secrets
98
112
  yml files\n"
99
113
  email:
@@ -152,9 +166,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
152
166
  version: '0'
153
167
  required_rubygems_version: !ruby/object:Gem::Requirement
154
168
  requirements:
155
- - - ">"
169
+ - - ">="
156
170
  - !ruby/object:Gem::Version
157
- version: 1.3.1
171
+ version: '0'
158
172
  requirements: []
159
173
  rubyforge_project: ky
160
174
  rubygems_version: 2.6.8