pfab 0.13.0 → 0.14.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: 589356fb8374a27bf709147331e7f7a7106906b9f65f2f8bb78baf8baab8664d
4
- data.tar.gz: cccaf81ec5b065111cd88c22be0d704ffc3050908a15cbdb21e3cda4b46d7cd0
3
+ metadata.gz: a53ce6280e22d0792b71639b4b591ee8521778d42ffb300ba68878849ab2b248
4
+ data.tar.gz: 6bbaa9903e186b835137679e8a7b2fe4d5d333c112488b12fce777453cbf9857
5
5
  SHA512:
6
- metadata.gz: 2bc8c48d7d2ae782d43c78d50570cf906c4eabeeee0d2d7d20379d6460ab7e8de458d526ddd711389c369d9ade90866134f1f2551b1a9303a172476f00068518
7
- data.tar.gz: eac9d21bf4893e11041b9c3d7a98eae5ff457085128e935605f7e86d25397c5ade4cf6ce5e8fcc9177b98b13bf2f002159750d6ac5220667b03c8d08686227d4
6
+ metadata.gz: 0f24d62c35b317c5d5b452a25f7dbafca3b696efc8ce6d669a579eb2765d1a71c3ae45dbb782053ffaa5e807892e00f906553c7f9247baedfe5fa4007cd32bcd
7
+ data.tar.gz: '029d7e10ba71749f79f8bedac4310dc8d8934ef1c16683c63988c7e3fabd780242828004a14668de5bc4c525bc0fd48c018b9eb8ef06abe27118b4175f270b2b'
data/lib/pfab/cli.rb CHANGED
@@ -27,8 +27,6 @@ module Pfab
27
27
  $app_name = app_name
28
28
  end
29
29
 
30
- @apps = apps
31
-
32
30
  command :build do |c|
33
31
  c.syntax = "pfab build"
34
32
  c.summary = "build image"
@@ -142,14 +140,14 @@ module Pfab
142
140
  c.option "-c", "--command COMMAND", "Run a command with the ENV vars of the selected app"
143
141
  c.action do |_args, options|
144
142
  $env = :development
145
- app_name = get_app_name
143
+ app_name = get_app_name(include_run_locals: true)
146
144
  puts "RUNNING THE FOLLOWING LOCALLY"
147
145
 
148
146
  env_vars = yy.env_vars(app_name).
149
147
  reject { |v| v.has_key? :valueFrom }
150
148
 
151
149
  env_var_string = env_vars.map { |item| "#{item[:name]}=\"#{item[:value]}\"" }.join(" ")
152
- options.default command: @apps[app_name][:command]
150
+ options.default command: all_runnables[app_name][:command]
153
151
 
154
152
  puts_and_system "#{env_var_string} #{options.command}"
155
153
  end
@@ -182,11 +180,10 @@ module Pfab
182
180
  run!
183
181
  end
184
182
 
185
-
186
183
  def cmd_apply
187
184
  set_kube_context
188
185
  get_apps.each do |app_name|
189
- app = @apps[app_name]
186
+ app = deployables[app_name]
190
187
  if app[:deployable_type] == "cron"
191
188
  deployed_name = deployed_name(app)
192
189
  puts_and_system("kubectl delete cronjob -l deployed-name=#{deployed_name}")
@@ -247,7 +244,7 @@ module Pfab
247
244
  end
248
245
 
249
246
  def yy
250
- Pfab::Yamls.new(apps: @apps,
247
+ Pfab::Yamls.new(apps: all_runnables,
251
248
  application_yaml: @application_yaml,
252
249
  env: $env,
253
250
  sha: get_current_sha,
@@ -257,7 +254,7 @@ module Pfab
257
254
  end
258
255
 
259
256
  def cmd_generate_yaml
260
- wrote = yy.generate_all
257
+ wrote = yy.generate(deployables.keys)
261
258
  puts "Generated #{wrote}"
262
259
  end
263
260
 
@@ -295,14 +292,22 @@ module Pfab
295
292
  end
296
293
  end
297
294
 
298
- def apps
299
- @_apps ||= calculate_apps
295
+ def deployables
296
+ @_deployables ||= calculate_runnables("deployables")
297
+ end
298
+
299
+ def run_locals
300
+ @_rl ||= calculate_runnables("run_locals")
301
+ end
302
+
303
+ def all_runnables
304
+ deployables.merge(run_locals)
300
305
  end
301
306
 
302
- def calculate_apps
307
+ def calculate_runnables(runnable_type)
303
308
  application = @application_yaml["name"]
304
309
  apps = {}
305
- @application_yaml["deployables"].each do |deployable, dep|
310
+ @application_yaml[runnable_type].each do |deployable, dep|
306
311
  deployable_type = dep["type"]
307
312
  app_name = [application, deployable_type, deployable].join("-")
308
313
  apps[app_name] = {
@@ -329,16 +334,17 @@ module Pfab
329
334
  JSON.parse(pods_str)
330
335
  end
331
336
 
332
- def get_app_name(all: false)
337
+ def get_app_name(all: false, include_run_locals: false)
333
338
  return $app_name unless $app_name.nil?
334
- apps = @apps.keys
339
+ apps = deployables.keys
340
+ apps.concat(run_locals.keys) if include_run_locals
335
341
  apps << "all" if all
336
342
  $app_name = choose("which app?", *apps)
337
343
  end
338
344
 
339
345
  def get_apps
340
346
  name = get_app_name(all: true)
341
- (name == "all") ? @apps.keys : [name]
347
+ (name == "all") ? deployables.keys : [name]
342
348
  end
343
349
  end
344
350
  end
@@ -2,9 +2,13 @@ module Pfab
2
2
  module Templates
3
3
  class Web < Base
4
4
  def write_to(f)
5
- f << YAML.dump(service.deep_stringify_keys)
6
- f << YAML.dump(ingress.deep_stringify_keys)
7
- f << YAML.dump(deployment.deep_stringify_keys)
5
+ if get("host").nil?
6
+ puts "No host to deploy to for #{@data['deployed_name']}. Skipping."
7
+ else
8
+ f << YAML.dump(service.deep_stringify_keys)
9
+ f << YAML.dump(ingress.deep_stringify_keys)
10
+ f << YAML.dump(deployment.deep_stringify_keys)
11
+ end
8
12
  end
9
13
 
10
14
  def service
data/lib/pfab/version.rb CHANGED
@@ -1,7 +1,7 @@
1
1
  module Pfab
2
2
  module Version
3
3
  MAJOR = 0
4
- MINOR = 13
4
+ MINOR = 14
5
5
  PATCH = 0
6
6
  BUILD = nil
7
7
 
data/lib/pfab/yamls.rb CHANGED
@@ -27,13 +27,13 @@ module Pfab
27
27
  data
28
28
  end
29
29
 
30
- def generate_all
30
+ def generate(keys)
31
31
 
32
- @apps.map do |app, props|
32
+ keys.each do |key|
33
+ props = @apps[key]
34
+ data = data_for(key, props)
33
35
 
34
- data = data_for(app, props)
35
-
36
- filename = ".application-k8s-#{data["env"]}-#{app}.yaml"
36
+ filename = ".application-k8s-#{data["env"]}-#{key}.yaml"
37
37
  File.open(filename, "w") do |f|
38
38
  case props[:deployable_type]
39
39
  when "web" then
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.13.0 ruby lib
5
+ # stub: pfab 0.14.0 ruby lib
6
6
 
7
7
  Gem::Specification.new do |s|
8
8
  s.name = "pfab".freeze
9
- s.version = "0.13.0"
9
+ s.version = "0.14.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 = "2021-12-06"
14
+ s.date = "2022-01-15"
15
15
  s.description = "k8s helper".freeze
16
16
  s.email = "jdwyer@prefab.cloud".freeze
17
17
  s.executables = ["pfab".freeze]
@@ -44,31 +44,22 @@ Gem::Specification.new do |s|
44
44
  ]
45
45
  s.homepage = "http://github.com/prefab-cloud/pfab".freeze
46
46
  s.licenses = ["MIT".freeze]
47
- s.rubygems_version = "3.0.3.1".freeze
47
+ s.rubygems_version = "3.2.32".freeze
48
48
  s.summary = "helper gem".freeze
49
49
 
50
50
  if s.respond_to? :specification_version then
51
51
  s.specification_version = 4
52
+ end
52
53
 
53
- if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
54
- s.add_runtime_dependency(%q<commander>.freeze, [">= 0"])
55
- s.add_runtime_dependency(%q<activesupport>.freeze, [">= 0"])
56
- s.add_runtime_dependency(%q<pry-byebug>.freeze, [">= 0"])
57
- s.add_development_dependency(%q<rdoc>.freeze, ["~> 3.12"])
58
- s.add_development_dependency(%q<bundler>.freeze, ["~> 1.0"])
59
- s.add_development_dependency(%q<juwelier>.freeze, ["~> 2.4.9"])
60
- s.add_development_dependency(%q<simplecov>.freeze, [">= 0"])
61
- s.add_development_dependency(%q<test-unit>.freeze, [">= 0"])
62
- else
63
- s.add_dependency(%q<commander>.freeze, [">= 0"])
64
- s.add_dependency(%q<activesupport>.freeze, [">= 0"])
65
- s.add_dependency(%q<pry-byebug>.freeze, [">= 0"])
66
- s.add_dependency(%q<rdoc>.freeze, ["~> 3.12"])
67
- s.add_dependency(%q<bundler>.freeze, ["~> 1.0"])
68
- s.add_dependency(%q<juwelier>.freeze, ["~> 2.4.9"])
69
- s.add_dependency(%q<simplecov>.freeze, [">= 0"])
70
- s.add_dependency(%q<test-unit>.freeze, [">= 0"])
71
- end
54
+ if s.respond_to? :add_runtime_dependency then
55
+ s.add_runtime_dependency(%q<commander>.freeze, [">= 0"])
56
+ s.add_runtime_dependency(%q<activesupport>.freeze, [">= 0"])
57
+ s.add_runtime_dependency(%q<pry-byebug>.freeze, [">= 0"])
58
+ 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<juwelier>.freeze, ["~> 2.4.9"])
61
+ s.add_development_dependency(%q<simplecov>.freeze, [">= 0"])
62
+ s.add_development_dependency(%q<test-unit>.freeze, [">= 0"])
72
63
  else
73
64
  s.add_dependency(%q<commander>.freeze, [">= 0"])
74
65
  s.add_dependency(%q<activesupport>.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.13.0
4
+ version: 0.14.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: 2021-12-06 00:00:00.000000000 Z
11
+ date: 2022-01-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: commander