ky 0.5.0debug → 0.5.0

Sign up to get free protection for your applications and to get access to all the features.
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