pfab 0.8.0 → 0.9.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: fe810bee0f29455479ef9ec1099a193f593560acad7e4e689e23ccc831aecc31
4
- data.tar.gz: a6fec60c3245b54ae25b0ebd404f8569e6a1fb810b9465c721675d8e274a1df4
3
+ metadata.gz: 96b769d61b9ae509f7daec59b57a0925851635e0e5b7f8693d0c476bda283506
4
+ data.tar.gz: 9b86749ba6031a208ef3c63a0ffcab8692df8dc9c77fd51602428499f4d2f6f3
5
5
  SHA512:
6
- metadata.gz: 5752604311d05c5c92020d7a3fbe665b64b726ac965ce2cabbc37b0de5ff4f32bfdd848a485005fbf3a92cee124a175b56dcf045f9a0a4006fc3c46a16b9ea16
7
- data.tar.gz: 927a761dbf04b92adaa52cd28ed0428dcb733f924abb8a44d46748c92d52aa9b572fbb958d8ed8758c4662a995ff12f476451dad72edbf61ffa56aa7dbb133f7
6
+ metadata.gz: 80073215c5381aabd0f91d83d6181dd824c8f1c39c83a8159b2ab96ab761169cec454810518962c9caf7348fbf3925b040117e02d64200006c4d5dddd2ed5da2
7
+ data.tar.gz: aeab2b3c8c1587f91213eea9d6cc96aad580092306cdec0494f4fdbaa23859f0d0f781b155c1d6ce796960c6ff4c976f293c7bf812636568d11f142851f28531
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/Rakefile CHANGED
@@ -11,6 +11,8 @@ rescue Bundler::BundlerError => e
11
11
  end
12
12
  require 'rake'
13
13
  require 'juwelier'
14
+ require './lib/pfab/version.rb'
15
+
14
16
  Juwelier::Tasks.new do |gem|
15
17
  # gem is a Gem::Specification... see http://guides.rubygems.org/specification-reference/ for more options
16
18
  gem.name = "pfab"
@@ -20,7 +22,7 @@ Juwelier::Tasks.new do |gem|
20
22
  gem.description = %Q{k8s helper}
21
23
  gem.email = "jdwyer@prefab.cloud"
22
24
  gem.authors = ["Jeff Dwyer"]
23
-
25
+ gem.version = Pfab::Version::STRING
24
26
  # dependencies defined in Gemfile
25
27
  end
26
28
  Juwelier::RubygemsDotOrgTasks.new
data/lib/pfab.rb CHANGED
@@ -1,3 +1,4 @@
1
+ require "pfab/version"
1
2
  require "pfab/cli"
2
3
  require "pfab/yamls"
3
4
  require "pfab/templates/base"
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, "0.0.0"
13
+ program :version, Pfab::Version::STRING
14
14
  program :description, "k8s helper"
15
15
 
16
16
  if File.exist? "application.yaml"
@@ -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
@@ -20,6 +20,8 @@ module Pfab
20
20
  },
21
21
  spec: {
22
22
  schedule: get("schedule"),
23
+ successfulJobsHistoryLimit: 1,
24
+ failedJobsHistoryLimit: 1,
23
25
  jobTemplate: {
24
26
  metadata: {
25
27
  name: "#{@data['deployed_name']}-#{@data['sha']}",
@@ -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'],
@@ -0,0 +1,10 @@
1
+ module Pfab
2
+ module Version
3
+ MAJOR = 0
4
+ MINOR = 9
5
+ PATCH = 0
6
+ BUILD = nil
7
+
8
+ STRING = [MAJOR, MINOR, PATCH, BUILD].compact.join('.')
9
+ end
10
+ end
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.0 ruby lib
5
+ # stub: pfab 0.9.0 ruby lib
6
6
 
7
7
  Gem::Specification.new do |s|
8
8
  s.name = "pfab".freeze
9
- s.version = "0.8.0"
9
+ s.version = "0.9.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-22"
14
+ s.date = "2021-03-16"
15
15
  s.description = "k8s helper".freeze
16
16
  s.email = "jdwyer@prefab.cloud".freeze
17
17
  s.executables = ["pfab".freeze]
@@ -27,7 +27,6 @@ Gem::Specification.new do |s|
27
27
  "LICENSE.txt",
28
28
  "README.markdown",
29
29
  "Rakefile",
30
- "VERSION",
31
30
  "bin/pfab",
32
31
  "lib/pfab.rb",
33
32
  "lib/pfab/cli.rb",
@@ -36,6 +35,7 @@ Gem::Specification.new do |s|
36
35
  "lib/pfab/templates/daemon.rb",
37
36
  "lib/pfab/templates/job.rb",
38
37
  "lib/pfab/templates/web.rb",
38
+ "lib/pfab/version.rb",
39
39
  "lib/pfab/yamls.rb",
40
40
  "pfab.gemspec",
41
41
  "test/helper.rb",
@@ -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.0
4
+ version: 0.9.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jeff Dwyer
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-01-22 00:00:00.000000000 Z
11
+ date: 2021-03-16 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
@@ -138,7 +138,6 @@ files:
138
138
  - LICENSE.txt
139
139
  - README.markdown
140
140
  - Rakefile
141
- - VERSION
142
141
  - bin/pfab
143
142
  - lib/pfab.rb
144
143
  - lib/pfab/cli.rb
@@ -147,6 +146,7 @@ files:
147
146
  - lib/pfab/templates/daemon.rb
148
147
  - lib/pfab/templates/job.rb
149
148
  - lib/pfab/templates/web.rb
149
+ - lib/pfab/version.rb
150
150
  - lib/pfab/yamls.rb
151
151
  - pfab.gemspec
152
152
  - test/helper.rb
data/VERSION DELETED
@@ -1 +0,0 @@
1
- 0.8.0