pfab 0.8.2 → 0.10.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
  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: []