pfab 0.8.2 → 0.10.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: dc9142702e1374afa5c1ffa15b7f0185147726f7e3fb923421dbf5f8ce78c698
4
- data.tar.gz: 36b623b88a071ace578571e0e8741e9f486db643f29c7d642271f42965c4c737
3
+ metadata.gz: 2bbc17afd25c1aa631080d916b9c19528916b81d6c57d360f524b56d53e53849
4
+ data.tar.gz: b2df229562760fc8879aedf8f55dc2e1ef36e956195d5bc2b03454caa173dde0
5
5
  SHA512:
6
- metadata.gz: 99d26e436619378829efd2a44e495b6367312c332a77a89dab3c5a9b821dc4cdfbf2372a31a9476e41b860e2f9f31bbdb5b594e9c905fbbc4a709c8dc99b9f59
7
- data.tar.gz: 0d1a8ba2a7c34166cb6d3ede58b79624babf39b248c56793da798bdf3abaef880494cc1df437fca03b82b107fad4561e914bd8f74a0f2a2ec8f4c4b46dd73d82
6
+ metadata.gz: 47c99495b251f2c33b15dc56d261857fad0bc9defb9b2fb7498e4511a35c4a36fcd9c6d562254f732e03ba76e260bdea09b5619cc918bbea8ff78748dfc92127
7
+ data.tar.gz: 7da4ba60ee697c0f0979828086d17fc1c9b18f82dc1192dcafa969a747204667e33f6040b8dd4981a73f36fb9c800c7bcc8a5f0c0247eaa21b43868c5a5ffc9e
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/lib/pfab/cli.rb CHANGED
@@ -10,7 +10,7 @@ module Pfab
10
10
 
11
11
  def run
12
12
  program :name, "pfab"
13
- program :version,Pfab::Version::STRING
13
+ program :version, Pfab::Version::STRING
14
14
  program :description, "k8s helper"
15
15
 
16
16
  if File.exist? "application.yaml"
@@ -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
@@ -156,14 +156,41 @@ module Pfab
156
156
  end
157
157
  alias_command :rl, :run_local
158
158
 
159
+ command :clean do |c|
160
+ c.syntax = "pfab clean"
161
+ c.summary = "clean up pods"
162
+ c.description = "clean up old pods"
163
+ c.example "clean up",
164
+ "pfab clean"
165
+ c.action do |_args, options|
166
+ set_kube_context
167
+ puts "THIS APPLIES TO THE ENTIRE NAMESPACE"
168
+ types = %w(Failed Pending Succeeded)
169
+ types.each do |type|
170
+ system("kubectl get pods --field-selector status.phase=#{type}")
171
+ if agree("Delete those?")
172
+ `kubectl delete pods --field-selector status.phase=#{type}`
173
+ puts "Deleted"
174
+ end
175
+ end
176
+ end
177
+ end
178
+ alias_command :rl, :run_local
179
+
159
180
  default_command :help
160
181
 
161
182
  run!
162
183
  end
163
184
 
185
+
164
186
  def cmd_apply
165
187
  set_kube_context
166
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
167
194
  puts_and_system("kubectl apply -f .application-k8s-#{$env}-#{app_name}.yaml")
168
195
  puts_and_system("git tag release-#{$env}-#{app_name}-#{Time.now.strftime("%Y-%m-%d-%H-%M-%S")} HEAD")
169
196
  end
@@ -234,6 +261,10 @@ module Pfab
234
261
  puts "Generated #{wrote}"
235
262
  end
236
263
 
264
+ def deployed_name(app)
265
+ [app[:application], app[:deployable_type], app[:deployable]].join("-")
266
+ end
267
+
237
268
  def get_current_sha
238
269
  `git rev-parse --short --verify HEAD`.chomp
239
270
  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'],
@@ -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 = 2
4
+ MINOR = 10
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.2 ruby lib
5
+ # stub: pfab 0.10.0 ruby lib
6
6
 
7
7
  Gem::Specification.new do |s|
8
8
  s.name = "pfab".freeze
9
- s.version = "0.8.2"
9
+ s.version = "0.10.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-10-31"
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.2
4
+ version: 0.10.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-10-31 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: []