pfab 0.8.3 → 0.11.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
  SHA256:
3
- metadata.gz: 224ab8cfa23f3ee0a33cb46be50f3754650c99c5ebd5ba22e1671e2cf086de67
4
- data.tar.gz: 3edfbec234d5aef944976bc296bee56018fa0b33f5a87ef3d934355e165f9033
3
+ metadata.gz: 86a0173094dded1e5b572b11593274b17abcfa2f29e7aac04977918af2d5674c
4
+ data.tar.gz: 3e189a70dc5126e40f8e81e13f84872964e35b06561251c6e260efa42a517de2
5
5
  SHA512:
6
- metadata.gz: dd8954a340c7d2a2b3e603bb1dc168717c27db71b1344ba7c9ad55ca7069496da320d4fbd53cb6336dc4bebcdd795e800afab2a84cd52230b10f03985dc0c2af
7
- data.tar.gz: 92dfb44127da6d5ba2900007e3f6f0052848dc8b2f05a043814928aa588d6627f1e20057e1ed987b374f92d52cee59e7c8d84882c644b2ad324d5ac59cc0a97e
6
+ metadata.gz: '09b0ce9accab6e86643d1dff636a84c0b6aa077d1309ff82867fa3e7125255bdb60fa2639a74766d2575b239ea8cb8933ec7ac94f6659d0ce55336aca59704d0'
7
+ data.tar.gz: 67427d6c7818d428945a36736cb45ac024967ccacd189087a3146f2458f85e12316e2e9e7497c1801d65bbae70055480c8e7a22a30f9aeb2d190f3a998456446
data/Gemfile CHANGED
@@ -12,7 +12,7 @@ gem "pry-byebug"
12
12
  group :development do
13
13
  gem "rdoc", "~> 3.12"
14
14
  gem "bundler", "~> 1.0"
15
- gem "juwelier", "~> 2.1.0"
15
+ gem "juwelier", "~> 2.4.9"
16
16
  gem "simplecov", ">= 0"
17
17
  gem "test-unit", ">= 0"
18
18
  end
data/Gemfile.lock CHANGED
@@ -6,9 +6,9 @@ GEM
6
6
  i18n (>= 0.7, < 2)
7
7
  minitest (~> 5.1)
8
8
  tzinfo (~> 1.1)
9
- addressable (2.5.2)
10
- public_suffix (>= 2.0.2, < 4.0)
11
- builder (3.2.3)
9
+ addressable (2.7.0)
10
+ public_suffix (>= 2.0.2, < 5.0)
11
+ builder (3.2.4)
12
12
  byebug (10.0.2)
13
13
  coderay (1.1.2)
14
14
  commander (4.4.6)
@@ -17,42 +17,51 @@ GEM
17
17
  descendants_tracker (0.0.4)
18
18
  thread_safe (~> 0.3, >= 0.3.1)
19
19
  docile (1.3.1)
20
- faraday (0.12.2)
20
+ faraday (1.3.0)
21
+ faraday-net_http (~> 1.0)
21
22
  multipart-post (>= 1.2, < 3)
22
- git (1.3.0)
23
- github_api (0.18.2)
23
+ ruby2_keywords
24
+ faraday-net_http (1.0.1)
25
+ git (1.8.1)
26
+ rchardet (~> 1.8)
27
+ github_api (0.19.0)
24
28
  addressable (~> 2.4)
25
29
  descendants_tracker (~> 0.0.4)
26
- faraday (~> 0.8)
30
+ faraday (>= 0.8, < 2)
27
31
  hashie (~> 3.5, >= 3.5.2)
28
32
  oauth2 (~> 1.0)
29
- hashie (3.5.7)
33
+ hashie (3.6.0)
30
34
  highline (1.7.10)
31
35
  i18n (1.2.0)
32
36
  concurrent-ruby (~> 1.0)
33
37
  json (1.8.6)
34
- juwelier (2.1.3)
38
+ juwelier (2.4.9)
35
39
  builder
36
- bundler (>= 1.13)
37
- git (>= 1.2.5)
40
+ bundler
41
+ git
38
42
  github_api
39
- highline (>= 1.6.15)
40
- nokogiri (>= 1.5.10)
43
+ highline
44
+ kamelcase (~> 0)
45
+ nokogiri
46
+ psych
41
47
  rake
42
48
  rdoc
43
- semver
44
- jwt (1.5.6)
49
+ semver2
50
+ jwt (2.2.2)
51
+ kamelcase (0.0.2)
52
+ semver2 (~> 3)
45
53
  method_source (0.9.2)
46
- mini_portile2 (2.3.0)
54
+ mini_portile2 (2.5.0)
47
55
  minitest (5.11.3)
48
- multi_json (1.13.1)
56
+ multi_json (1.15.0)
49
57
  multi_xml (0.6.0)
50
- multipart-post (2.0.0)
51
- nokogiri (1.8.4)
52
- mini_portile2 (~> 2.3.0)
53
- oauth2 (1.4.0)
54
- faraday (>= 0.8, < 0.13)
55
- jwt (~> 1.0)
58
+ multipart-post (2.1.1)
59
+ nokogiri (1.11.2)
60
+ mini_portile2 (~> 2.5.0)
61
+ racc (~> 1.4)
62
+ oauth2 (1.4.4)
63
+ faraday (>= 0.8, < 2.0)
64
+ jwt (>= 1.0, < 3.0)
56
65
  multi_json (~> 1.3)
57
66
  multi_xml (~> 0.5)
58
67
  rack (>= 1.2, < 3)
@@ -63,12 +72,16 @@ GEM
63
72
  pry-byebug (3.6.0)
64
73
  byebug (~> 10.0)
65
74
  pry (~> 0.10)
66
- public_suffix (3.0.2)
67
- rack (2.0.5)
68
- rake (12.3.1)
75
+ psych (3.3.1)
76
+ public_suffix (4.0.6)
77
+ racc (1.5.2)
78
+ rack (2.2.3)
79
+ rake (13.0.3)
80
+ rchardet (1.8.0)
69
81
  rdoc (3.12.2)
70
82
  json (~> 1.4)
71
- semver (1.0.1)
83
+ ruby2_keywords (0.0.4)
84
+ semver2 (3.4.2)
72
85
  simplecov (0.16.1)
73
86
  docile (~> 1.1)
74
87
  json (>= 1.8, < 3)
@@ -87,7 +100,7 @@ DEPENDENCIES
87
100
  activesupport
88
101
  bundler (~> 1.0)
89
102
  commander
90
- juwelier (~> 2.1.0)
103
+ juwelier (~> 2.4.9)
91
104
  pry-byebug
92
105
  rdoc (~> 3.12)
93
106
  simplecov
data/README.markdown CHANGED
@@ -100,6 +100,13 @@ Contributing to pfab
100
100
  is fine, but please isolate to its own commit so I can cherry-pick
101
101
  around it.
102
102
 
103
+ Releasing
104
+ -----------------------------------------
105
+
106
+ - modify version.rb
107
+ - ```rake gemspec:release```
108
+ - ```rake gemcutter:release```
109
+
103
110
  Copyright
104
111
  ---------
105
112
 
data/lib/pfab/cli.rb CHANGED
@@ -128,7 +128,7 @@ module Pfab
128
128
  elsif $verbose
129
129
  puts_and_system "kubectl describe pods -l #{selector}"
130
130
  else
131
- puts_and_system "kubectl get ingresses,jobs,services,cronjobs,deployments,pods --include-uninitialized=true -l #{selector}"
131
+ puts_and_system "kubectl get ingresses,jobs,services,cronjobs,deployments,pods -l #{selector}"
132
132
  end
133
133
  end
134
134
  end
@@ -148,7 +148,7 @@ module Pfab
148
148
  env_vars = yy.env_vars(app_name).
149
149
  reject { |v| v.has_key? :valueFrom }
150
150
 
151
- env_var_string = env_vars.map { |item| "#{item[:name]}=#{item[:value]}" }.join(" ")
151
+ env_var_string = env_vars.map { |item| "#{item[:name]}=\"#{item[:value]}\"" }.join(" ")
152
152
  options.default command: @apps[app_name][:command]
153
153
 
154
154
  puts_and_system "#{env_var_string} #{options.command}"
@@ -186,6 +186,11 @@ module Pfab
186
186
  def cmd_apply
187
187
  set_kube_context
188
188
  get_apps.each do |app_name|
189
+ app = @apps[app_name]
190
+ if app[:deployable_type] == "cron"
191
+ deployed_name = deployed_name(app)
192
+ puts_and_system("kubectl delete cronjob -l deployed-name=#{deployed_name}")
193
+ end
189
194
  puts_and_system("kubectl apply -f .application-k8s-#{$env}-#{app_name}.yaml")
190
195
  puts_and_system("git tag release-#{$env}-#{app_name}-#{Time.now.strftime("%Y-%m-%d-%H-%M-%S")} HEAD")
191
196
  end
@@ -256,6 +261,10 @@ module Pfab
256
261
  puts "Generated #{wrote}"
257
262
  end
258
263
 
264
+ def deployed_name(app)
265
+ [app[:application], app[:deployable_type], app[:deployable]].join("-")
266
+ end
267
+
259
268
  def get_current_sha
260
269
  `git rev-parse --short --verify HEAD`.chomp
261
270
  end
@@ -17,7 +17,6 @@ module Pfab
17
17
  app_vars.dig(@data["env"], key) || app_vars[key]
18
18
  end
19
19
 
20
-
21
20
  def cpu(req_type)
22
21
  default_cpu_string = @data["config"]["default_cpu_string"] || "50m/250m"
23
22
  (request, limit) = (get("cpu") || default_cpu_string).split("/")
@@ -44,44 +43,44 @@ module Pfab
44
43
  end
45
44
 
46
45
  def env_vars
46
+ env_vars = { "DEPLOYED_NAME": { value: @data['deployed_name'] } }
47
47
 
48
- env_vars = [
49
- { name: "DEPLOYED_NAME", value: @data['deployed_name'] },
50
- ]
51
-
48
+ # load defaults
52
49
  load_env_vars(env_vars, @data.dig("application_yaml", :environment))
53
- load_env_vars(env_vars, @data.dig("application_yaml", @data["env"], :environment))
54
-
55
50
  load_secrets(env_vars, @data.dig("application_yaml", :env_secrets))
51
+
52
+ # load env overrides
53
+ load_env_vars(env_vars, @data.dig("application_yaml", @data["env"], :environment))
56
54
  load_secrets(env_vars, @data.dig("application_yaml", @data["env"], :env_secrets))
57
55
 
58
- env_vars
56
+ env_vars.map do |k, v|
57
+ { name: k }.merge(v)
58
+ end
59
59
  end
60
60
 
61
61
  def load_env_vars(env_vars, hash)
62
62
  (hash || {}).each do |env_var_name, v|
63
63
  if v.to_s.start_with? "field/"
64
64
  (_, field_name) = v.split("/")
65
- env_vars << { name: env_var_name, valueFrom: {
65
+ env_vars[env_var_name] = { valueFrom: {
66
66
  fieldRef: { fieldPath: field_name }
67
67
  } }
68
68
  else
69
- env_vars << { name: env_var_name, value: v }
69
+ env_vars[env_var_name] = { value: v }
70
70
  end
71
-
72
71
  end
73
72
  end
74
73
 
75
74
  def load_secrets(env_vars, hash)
76
75
  (hash || {}).each do |env_var_name, v|
77
76
  (ref, key) = v.split("/")
78
- env_vars << { name: env_var_name,
79
- valueFrom: {
80
- secretKeyRef: {
81
- name: ref,
82
- key: key
83
- }
84
- } }
77
+ env_vars[env_var_name] = {
78
+ valueFrom: {
79
+ secretKeyRef: {
80
+ name: ref,
81
+ key: key
82
+ }
83
+ } }
85
84
  end
86
85
  end
87
86
  end
@@ -8,7 +8,7 @@ module Pfab
8
8
  def deployment
9
9
  {
10
10
  kind: "Deployment",
11
- apiVersion: "extensions/v1beta1",
11
+ apiVersion: "apps/v1",
12
12
  metadata: {
13
13
  name: @data['deployed_name'],
14
14
  namespace: @data['env'],
@@ -36,7 +36,7 @@ module Pfab
36
36
 
37
37
  def ingress
38
38
  {
39
- apiVersion: "extensions/v1beta1",
39
+ apiVersion: "networking.k8s.io/v1",
40
40
  kind: "Ingress",
41
41
  metadata: {
42
42
  name: "ingress-#{@data['deployed_name']}",
@@ -109,7 +109,7 @@ module Pfab
109
109
  def deployment
110
110
  {
111
111
  kind: "Deployment",
112
- apiVersion: "extensions/v1beta1",
112
+ apiVersion: "apps/v1",
113
113
  metadata: {
114
114
  name: @data['deployed_name'],
115
115
  namespace: @data['env'],
data/lib/pfab/version.rb CHANGED
@@ -1,8 +1,8 @@
1
1
  module Pfab
2
2
  module Version
3
3
  MAJOR = 0
4
- MINOR = 8
5
- PATCH = 3
4
+ MINOR = 11
5
+ PATCH = 0
6
6
  BUILD = nil
7
7
 
8
8
  STRING = [MAJOR, MINOR, PATCH, BUILD].compact.join('.')
data/pfab.gemspec CHANGED
@@ -2,16 +2,16 @@
2
2
  # DO NOT EDIT THIS FILE DIRECTLY
3
3
  # Instead, edit Juwelier::Tasks in Rakefile, and run 'rake gemspec'
4
4
  # -*- encoding: utf-8 -*-
5
- # stub: pfab 0.8.3 ruby lib
5
+ # stub: pfab 0.11.0 ruby lib
6
6
 
7
7
  Gem::Specification.new do |s|
8
8
  s.name = "pfab".freeze
9
- s.version = "0.8.3"
9
+ s.version = "0.11.0"
10
10
 
11
11
  s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version=
12
12
  s.require_paths = ["lib".freeze]
13
13
  s.authors = ["Jeff Dwyer".freeze]
14
- s.date = "2019-01-23"
14
+ s.date = "2021-11-30"
15
15
  s.description = "k8s helper".freeze
16
16
  s.email = "jdwyer@prefab.cloud".freeze
17
17
  s.executables = ["pfab".freeze]
@@ -55,7 +55,7 @@ Gem::Specification.new do |s|
55
55
  s.add_runtime_dependency(%q<pry-byebug>.freeze, [">= 0"])
56
56
  s.add_development_dependency(%q<rdoc>.freeze, ["~> 3.12"])
57
57
  s.add_development_dependency(%q<bundler>.freeze, ["~> 1.0"])
58
- s.add_development_dependency(%q<juwelier>.freeze, ["~> 2.1.0"])
58
+ s.add_development_dependency(%q<juwelier>.freeze, ["~> 2.4.9"])
59
59
  s.add_development_dependency(%q<simplecov>.freeze, [">= 0"])
60
60
  s.add_development_dependency(%q<test-unit>.freeze, [">= 0"])
61
61
  else
@@ -64,7 +64,7 @@ Gem::Specification.new do |s|
64
64
  s.add_dependency(%q<pry-byebug>.freeze, [">= 0"])
65
65
  s.add_dependency(%q<rdoc>.freeze, ["~> 3.12"])
66
66
  s.add_dependency(%q<bundler>.freeze, ["~> 1.0"])
67
- s.add_dependency(%q<juwelier>.freeze, ["~> 2.1.0"])
67
+ s.add_dependency(%q<juwelier>.freeze, ["~> 2.4.9"])
68
68
  s.add_dependency(%q<simplecov>.freeze, [">= 0"])
69
69
  s.add_dependency(%q<test-unit>.freeze, [">= 0"])
70
70
  end
@@ -74,7 +74,7 @@ Gem::Specification.new do |s|
74
74
  s.add_dependency(%q<pry-byebug>.freeze, [">= 0"])
75
75
  s.add_dependency(%q<rdoc>.freeze, ["~> 3.12"])
76
76
  s.add_dependency(%q<bundler>.freeze, ["~> 1.0"])
77
- s.add_dependency(%q<juwelier>.freeze, ["~> 2.1.0"])
77
+ s.add_dependency(%q<juwelier>.freeze, ["~> 2.4.9"])
78
78
  s.add_dependency(%q<simplecov>.freeze, [">= 0"])
79
79
  s.add_dependency(%q<test-unit>.freeze, [">= 0"])
80
80
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pfab
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.8.3
4
+ version: 0.11.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jeff Dwyer
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-01-23 00:00:00.000000000 Z
11
+ date: 2021-11-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: commander
@@ -86,14 +86,14 @@ dependencies:
86
86
  requirements:
87
87
  - - "~>"
88
88
  - !ruby/object:Gem::Version
89
- version: 2.1.0
89
+ version: 2.4.9
90
90
  type: :development
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
94
  - - "~>"
95
95
  - !ruby/object:Gem::Version
96
- version: 2.1.0
96
+ version: 2.4.9
97
97
  - !ruby/object:Gem::Dependency
98
98
  name: simplecov
99
99
  requirement: !ruby/object:Gem::Requirement
@@ -155,7 +155,7 @@ homepage: http://github.com/prefab-cloud/pfab
155
155
  licenses:
156
156
  - MIT
157
157
  metadata: {}
158
- post_install_message:
158
+ post_install_message:
159
159
  rdoc_options: []
160
160
  require_paths:
161
161
  - lib
@@ -170,9 +170,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
170
170
  - !ruby/object:Gem::Version
171
171
  version: '0'
172
172
  requirements: []
173
- rubyforge_project:
173
+ rubyforge_project:
174
174
  rubygems_version: 2.7.8
175
- signing_key:
175
+ signing_key:
176
176
  specification_version: 4
177
177
  summary: helper gem
178
178
  test_files: []