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 +4 -4
- data/lib/pfab/cli.rb +21 -15
- data/lib/pfab/templates/web.rb +7 -3
- data/lib/pfab/version.rb +1 -1
- data/lib/pfab/yamls.rb +5 -5
- data/pfab.gemspec +14 -23
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a53ce6280e22d0792b71639b4b591ee8521778d42ffb300ba68878849ab2b248
|
4
|
+
data.tar.gz: 6bbaa9903e186b835137679e8a7b2fe4d5d333c112488b12fce777453cbf9857
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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:
|
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 =
|
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:
|
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.
|
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
|
299
|
-
@
|
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
|
307
|
+
def calculate_runnables(runnable_type)
|
303
308
|
application = @application_yaml["name"]
|
304
309
|
apps = {}
|
305
|
-
@application_yaml[
|
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 =
|
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") ?
|
347
|
+
(name == "all") ? deployables.keys : [name]
|
342
348
|
end
|
343
349
|
end
|
344
350
|
end
|
data/lib/pfab/templates/web.rb
CHANGED
@@ -2,9 +2,13 @@ module Pfab
|
|
2
2
|
module Templates
|
3
3
|
class Web < Base
|
4
4
|
def write_to(f)
|
5
|
-
|
6
|
-
|
7
|
-
|
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
data/lib/pfab/yamls.rb
CHANGED
@@ -27,13 +27,13 @@ module Pfab
|
|
27
27
|
data
|
28
28
|
end
|
29
29
|
|
30
|
-
def
|
30
|
+
def generate(keys)
|
31
31
|
|
32
|
-
|
32
|
+
keys.each do |key|
|
33
|
+
props = @apps[key]
|
34
|
+
data = data_for(key, props)
|
33
35
|
|
34
|
-
|
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.
|
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.
|
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 = "
|
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.
|
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
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
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.
|
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:
|
11
|
+
date: 2022-01-15 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: commander
|