pfab 0.36.0 → 0.38.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: a2ef722835d214265e5e84004d582d77b137381c75d5d31ee093d409acba40f7
4
- data.tar.gz: cb501f91894bff602f282703d781849b5373a9d0f365b08a80d33b230164cdda
3
+ metadata.gz: 4f97f4b3507d44fbd80c2e918993f9ef147977ccf00ff136d17b682ed8b1d25c
4
+ data.tar.gz: 664d287826bb2b8fa896b4741621b0eaa10ad9d3cd3753447db7770e4a4e103e
5
5
  SHA512:
6
- metadata.gz: 02fc42bda27c4bbf4a64add8761454bba2096a9f34d2b45b354e7a85d24af29e668bf5f08ea8932e3675233303c2693a7dfe5cd225ee56b63ec5788109083dfd
7
- data.tar.gz: 8202e500ba01064b2eefcb69a5dd3bfc4549d0f291d6859f93ca46de509b57a0c6c5fa8222a28d36623fc79a3ed754b3b1d2346bef3559629c98d069a64cc25e
6
+ metadata.gz: 40a58495cae3d2f458391962a402200ed486f3e00234dd1e54111d6b3d430bbc72b2059b5d920329b07c59afa7c6c6188ba2b28a0c76b308a6a68369912fe5d5
7
+ data.tar.gz: 3c9595f4ac5d3b11cd389dea2439a6b6c131414ee1e2e2f2beaf720367c9121e72de5560a87d3f7f6d81397895a4fc3727522de665b8eca0bf4327d5b3fd611c
data/Gemfile CHANGED
@@ -7,11 +7,13 @@ gem "commander"
7
7
 
8
8
  gem "activesupport"
9
9
  gem "pry-byebug"
10
+ gem 'styled_yaml', '~> 0.0.1'
11
+
10
12
  # Add dependencies to develop your gem here.
11
13
  # Include everything needed to run rake, tests, features, etc.
12
14
  group :development do
13
15
  gem "rdoc", "~> 3.12"
14
- gem "bundler", "~> 1.0"
16
+ gem "bundler", "~> 2.3"
15
17
  gem "juwelier", "~> 2.4.9", git: "https://github.com/flajann2/juwelier"
16
18
  gem "simplecov", ">= 0"
17
19
  gem "test-unit", ">= 0"
data/Gemfile.lock CHANGED
@@ -106,6 +106,7 @@ GEM
106
106
  json (>= 1.8, < 3)
107
107
  simplecov-html (~> 0.10.0)
108
108
  simplecov-html (0.10.2)
109
+ styled_yaml (0.0.1)
109
110
  test-unit (3.2.9)
110
111
  power_assert
111
112
  thread_safe (0.3.6)
@@ -117,12 +118,13 @@ PLATFORMS
117
118
 
118
119
  DEPENDENCIES
119
120
  activesupport
120
- bundler (~> 1.0)
121
+ bundler (~> 2.3)
121
122
  commander
122
123
  juwelier (~> 2.4.9)!
123
124
  pry-byebug
124
125
  rdoc (~> 3.12)
125
126
  simplecov
127
+ styled_yaml (~> 0.0.1)
126
128
  test-unit
127
129
 
128
130
  BUNDLED WITH
data/lib/pfab/cli.rb CHANGED
@@ -3,6 +3,7 @@ require "net/http"
3
3
  require "yaml"
4
4
  require "json"
5
5
  require 'active_support/core_ext/hash/indifferent_access'
6
+ require 'styled_yaml'
6
7
 
7
8
  module Pfab
8
9
  class CLI
@@ -104,6 +105,7 @@ module Pfab
104
105
  end
105
106
 
106
107
  command :exec do |c|
108
+ c.option "-c", "--command command", "use with exec to run a command and exit. default is /bin/sh"
107
109
  c.syntax = "pfab exec"
108
110
  c.summary = "kubectl exec into a pod"
109
111
  c.description = "CLI to the Cloud"
@@ -111,13 +113,11 @@ module Pfab
111
113
  "pfab exec"
112
114
  c.example "exec into the first pod in production",
113
115
  "ezp -p exec"
114
- c.action do
116
+ c.action do |args, options|
115
117
  set_kube_context
116
118
  app_name = get_app_name
117
-
118
119
  first_pod = get_first_pod app_name
119
-
120
- puts_and_system "kubectl exec -it #{first_pod} -- /bin/sh"
120
+ puts_and_system "kubectl exec -it #{first_pod} -- #{options.command || '/bin/sh'}"
121
121
  end
122
122
  end
123
123
 
@@ -2,7 +2,7 @@ module Pfab
2
2
  module Templates
3
3
  class Cron < Base
4
4
  def write_to(f)
5
- f << YAML.dump(job.deep_stringify_keys)
5
+ f << StyledYAML.dump(job.deep_stringify_keys)
6
6
  end
7
7
 
8
8
  def application_type
@@ -23,7 +23,7 @@ module Pfab
23
23
  "deploy-id" => deploy_id,
24
24
  "tags.datadoghq.com/env": @data['env'],
25
25
  "tags.datadoghq.com/service": @data['deployed_name'],
26
- "tags.datadoghq.com/version": "#{@data['sha']}"
26
+ "tags.datadoghq.com/version": StyledYAML.double_quoted(@data['sha'])
27
27
  }
28
28
  },
29
29
  spec: {
@@ -49,7 +49,7 @@ module Pfab
49
49
  "application-type" => "cron",
50
50
  "tags.datadoghq.com/env": @data['env'],
51
51
  "tags.datadoghq.com/service": @data['deployed_name'],
52
- "tags.datadoghq.com/version": "#{@data['sha']}"
52
+ "tags.datadoghq.com/version": StyledYAML.double_quoted(@data['sha'])
53
53
  },
54
54
  },
55
55
  spec: {
@@ -2,7 +2,7 @@ module Pfab
2
2
  module Templates
3
3
  class Daemon < Base
4
4
  def write_to(f)
5
- f << YAML.dump(deployment.deep_stringify_keys)
5
+ f << StyledYAML.dump(deployment.deep_stringify_keys)
6
6
  end
7
7
 
8
8
  def application_type
@@ -23,7 +23,7 @@ module Pfab
23
23
  "deploy-id" => deploy_id,
24
24
  "tags.datadoghq.com/env": @data['env'],
25
25
  "tags.datadoghq.com/service": @data['deployed_name'],
26
- "tags.datadoghq.com/version":"#{@data['sha']}"
26
+ "tags.datadoghq.com/version": StyledYAML.double_quoted(@data['sha'])
27
27
  }
28
28
  },
29
29
  spec: {
@@ -45,7 +45,7 @@ module Pfab
45
45
  "application-type" => "daemon",
46
46
  "tags.datadoghq.com/env": @data['env'],
47
47
  "tags.datadoghq.com/service": @data['deployed_name'],
48
- "tags.datadoghq.com/version": "#{@data['sha']}"
48
+ "tags.datadoghq.com/version": StyledYAML.double_quoted(@data['sha'])
49
49
  },
50
50
  },
51
51
  spec: {
@@ -2,7 +2,7 @@ module Pfab
2
2
  module Templates
3
3
  class Job < Base
4
4
  def write_to(f)
5
- f << YAML.dump(job.deep_stringify_keys)
5
+ f << StyledYAML.dump(job.deep_stringify_keys)
6
6
  end
7
7
 
8
8
  def application_type
@@ -23,10 +23,13 @@ module Pfab
23
23
  "deploy-id" => deploy_id,
24
24
  "tags.datadoghq.com/env": @data['env'],
25
25
  "tags.datadoghq.com/service": @data['deployed_name'],
26
- "tags.datadoghq.com/version":"#{@data['sha']}"
26
+ "tags.datadoghq.com/version": StyledYAML.double_quoted(@data['sha'])
27
27
  }
28
28
  },
29
29
  spec: {
30
+ ttlSecondsAfterFinished: get('ttlSecondsAfterFinished'),
31
+ completions: get('completions') || 1,
32
+ parallelism: get('parallelism') || 1,
30
33
  template: {
31
34
  metadata: {
32
35
  name: "#{@data['deployed_name']}-#{@data['sha']}",
@@ -37,7 +40,7 @@ module Pfab
37
40
  "application-type" => "job",
38
41
  "tags.datadoghq.com/env": @data['env'],
39
42
  "tags.datadoghq.com/service": @data['deployed_name'],
40
- "tags.datadoghq.com/version": "#{@data['sha']}"
43
+ "tags.datadoghq.com/version": StyledYAML.double_quoted(@data['sha'])
41
44
  },
42
45
  },
43
46
  spec: {
@@ -55,7 +58,7 @@ module Pfab
55
58
  }.compact,
56
59
  },
57
60
  backoffLimit: 0,
58
- },
61
+ }.compact,
59
62
  }
60
63
  end
61
64
  end
@@ -1,3 +1,5 @@
1
+ require "rubygems/safe_yaml"
2
+
1
3
  module Pfab
2
4
  module Templates
3
5
  class Web < Base
@@ -5,13 +7,13 @@ module Pfab
5
7
  if get("host").nil?
6
8
  puts "No host to deploy to for #{@data['deployed_name']}. Skipping."
7
9
  else
8
- f << YAML.dump(service.deep_stringify_keys)
10
+ f << StyledYAML.dump(service.deep_stringify_keys)
9
11
  if not app_vars.has_key?('generateIngressEnabled') || app_vars['generateIngressEnabled']
10
- f << YAML.dump(ingress.deep_stringify_keys)
12
+ f << StyledYAML.dump(ingress.deep_stringify_keys)
11
13
  else
12
14
  puts "skipping ingress because ingress_disabled = #{@data['generateIngressEnabled']}"
13
15
  end
14
- f << YAML.dump(deployment.deep_stringify_keys)
16
+ f << StyledYAML.dump(deployment.deep_stringify_keys)
15
17
  end
16
18
  end
17
19
 
@@ -145,6 +147,10 @@ module Pfab
145
147
  get("startupProbe") || default_probe
146
148
  end
147
149
 
150
+ def lifecycle
151
+ get("lifecycle")
152
+ end
153
+
148
154
  def application_type
149
155
  "web"
150
156
  end
@@ -194,7 +200,7 @@ module Pfab
194
200
  "deploy-id" => deploy_id,
195
201
  "tags.datadoghq.com/env": @data['env'],
196
202
  "tags.datadoghq.com/service": @data['deployed_name'],
197
- "tags.datadoghq.com/version":"#{@data['sha']}"
203
+ "tags.datadoghq.com/version": StyledYAML.double_quoted(@data['sha'])
198
204
  }
199
205
  },
200
206
  spec: {
@@ -221,7 +227,7 @@ module Pfab
221
227
  "application-type" => "web",
222
228
  "tags.datadoghq.com/env": @data['env'],
223
229
  "tags.datadoghq.com/service": @data['deployed_name'],
224
- "tags.datadoghq.com/version": "#{@data['sha']}"
230
+ "tags.datadoghq.com/version": StyledYAML.double_quoted(@data['sha'])
225
231
  },
226
232
  },
227
233
  spec: {
@@ -246,6 +252,7 @@ module Pfab
246
252
  livenessProbe: livenessProbe,
247
253
  readinessProbe: readinessProbe,
248
254
  startupProbe: startupProbe,
255
+ lifecycle: lifecycle,
249
256
  volumeMounts: volume_mounts
250
257
  }
251
258
  ],
data/lib/pfab/version.rb CHANGED
@@ -1,7 +1,7 @@
1
1
  module Pfab
2
2
  module Version
3
3
  MAJOR = 0
4
- MINOR = 36
4
+ MINOR = 38
5
5
  PATCH = 0
6
6
  BUILD = nil
7
7
 
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.36.0 ruby lib
5
+ # stub: pfab 0.38.0 ruby lib
6
6
 
7
7
  Gem::Specification.new do |s|
8
8
  s.name = "pfab".freeze
9
- s.version = "0.36.0"
9
+ s.version = "0.38.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 = "2023-03-09"
14
+ s.date = "2023-03-27"
15
15
  s.description = "k8s helper".freeze
16
16
  s.email = "jdwyer@prefab.cloud".freeze
17
17
  s.executables = ["pfab".freeze]
@@ -55,8 +55,9 @@ Gem::Specification.new do |s|
55
55
  s.add_runtime_dependency(%q<commander>.freeze, [">= 0"])
56
56
  s.add_runtime_dependency(%q<activesupport>.freeze, [">= 0"])
57
57
  s.add_runtime_dependency(%q<pry-byebug>.freeze, [">= 0"])
58
+ s.add_runtime_dependency(%q<styled_yaml>.freeze, ["~> 0.0.1"])
58
59
  s.add_development_dependency(%q<rdoc>.freeze, ["~> 3.12"])
59
- s.add_development_dependency(%q<bundler>.freeze, ["~> 1.0"])
60
+ s.add_development_dependency(%q<bundler>.freeze, ["~> 2.3"])
60
61
  s.add_development_dependency(%q<juwelier>.freeze, ["~> 2.4.9"])
61
62
  s.add_development_dependency(%q<simplecov>.freeze, [">= 0"])
62
63
  s.add_development_dependency(%q<test-unit>.freeze, [">= 0"])
@@ -64,8 +65,9 @@ Gem::Specification.new do |s|
64
65
  s.add_dependency(%q<commander>.freeze, [">= 0"])
65
66
  s.add_dependency(%q<activesupport>.freeze, [">= 0"])
66
67
  s.add_dependency(%q<pry-byebug>.freeze, [">= 0"])
68
+ s.add_dependency(%q<styled_yaml>.freeze, ["~> 0.0.1"])
67
69
  s.add_dependency(%q<rdoc>.freeze, ["~> 3.12"])
68
- s.add_dependency(%q<bundler>.freeze, ["~> 1.0"])
70
+ s.add_dependency(%q<bundler>.freeze, ["~> 2.3"])
69
71
  s.add_dependency(%q<juwelier>.freeze, ["~> 2.4.9"])
70
72
  s.add_dependency(%q<simplecov>.freeze, [">= 0"])
71
73
  s.add_dependency(%q<test-unit>.freeze, [">= 0"])
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.36.0
4
+ version: 0.38.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: 2023-03-09 00:00:00.000000000 Z
11
+ date: 2023-03-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: commander
@@ -52,6 +52,20 @@ dependencies:
52
52
  - - ">="
53
53
  - !ruby/object:Gem::Version
54
54
  version: '0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: styled_yaml
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: 0.0.1
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: 0.0.1
55
69
  - !ruby/object:Gem::Dependency
56
70
  name: rdoc
57
71
  requirement: !ruby/object:Gem::Requirement
@@ -72,14 +86,14 @@ dependencies:
72
86
  requirements:
73
87
  - - "~>"
74
88
  - !ruby/object:Gem::Version
75
- version: '1.0'
89
+ version: '2.3'
76
90
  type: :development
77
91
  prerelease: false
78
92
  version_requirements: !ruby/object:Gem::Requirement
79
93
  requirements:
80
94
  - - "~>"
81
95
  - !ruby/object:Gem::Version
82
- version: '1.0'
96
+ version: '2.3'
83
97
  - !ruby/object:Gem::Dependency
84
98
  name: juwelier
85
99
  requirement: !ruby/object:Gem::Requirement