pfab 0.58.11 → 0.58.12
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 +5 -2
- data/lib/pfab/templates/web.rb +14 -57
- data/lib/pfab/version.rb +1 -1
- data/pfab.gemspec +14 -28
- 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: 9ab15281d11807142862416a06e9d3782e2047a52de45a00cd840eb0b10e6c89
|
|
4
|
+
data.tar.gz: ec482b1584f956311feee4581f2f22664cfa17941329755acb3f2627abc0b1b5
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: ad3f052c9ab4f63b50cd8049720df9ef10bda103590ed275b0134bb250163b0718ce590a58839d03ccf8e6bb8df8e4654dfcf9675f8c148cef7c54adce7710c3
|
|
7
|
+
data.tar.gz: 1cfe3d3f09352dddda6fa2b8dd38f8b0d053f165b87f097519c7aef770352023841b55d8fd2ce1a801627adde5aa1de8263d94fd0c8f5836cd1e1b8bc9518daf
|
data/lib/pfab/cli.rb
CHANGED
|
@@ -85,6 +85,8 @@ module Pfab
|
|
|
85
85
|
if success
|
|
86
86
|
cmd_generate_yaml
|
|
87
87
|
cmd_apply(timeout: options.timeout, retries: options.retries, sleep_duration: options.sleep, tagged: options.tagged)
|
|
88
|
+
else
|
|
89
|
+
raise "Build failed"
|
|
88
90
|
end
|
|
89
91
|
end
|
|
90
92
|
end
|
|
@@ -474,9 +476,10 @@ module Pfab
|
|
|
474
476
|
|
|
475
477
|
def get_app_name(all: false, include_run_locals: false)
|
|
476
478
|
return $app_name unless $app_name.nil?
|
|
477
|
-
apps =
|
|
478
|
-
apps.concat(run_locals.keys) if include_run_locals
|
|
479
|
+
apps = []
|
|
479
480
|
apps << "all" if all
|
|
481
|
+
apps.concat(deployables.keys)
|
|
482
|
+
apps.concat(run_locals.keys) if include_run_locals
|
|
480
483
|
$app_name = choose("which app?", *apps)
|
|
481
484
|
end
|
|
482
485
|
|
data/lib/pfab/templates/web.rb
CHANGED
|
@@ -4,6 +4,12 @@ module Pfab
|
|
|
4
4
|
LABEL_DEPLOY_UNIQUE_ID = "deploy-unique-id"
|
|
5
5
|
module Templates
|
|
6
6
|
class Web < LongRunningProcess
|
|
7
|
+
|
|
8
|
+
def get_replica_count
|
|
9
|
+
raw_replicas = get("replicas")
|
|
10
|
+
raw_replicas ? raw_replicas.to_i : 1
|
|
11
|
+
end
|
|
12
|
+
|
|
7
13
|
def write_to(f)
|
|
8
14
|
if ingres_enabled? && get("host").nil?
|
|
9
15
|
puts "No host to configure ingress for #{@data['deployed_name']}. Skipping deployment. add a host or generateIngressEnabled:false"
|
|
@@ -15,8 +21,7 @@ module Pfab
|
|
|
15
21
|
puts "skipping ingress because ingress_disabled = #{@data['generateIngressEnabled']}"
|
|
16
22
|
end
|
|
17
23
|
f << StyledYAML.dump(deployment.deep_stringify_keys)
|
|
18
|
-
|
|
19
|
-
if (replica_count > 1)
|
|
24
|
+
if get_replica_count() > 1
|
|
20
25
|
f << StyledYAML.dump(pod_disruption_budget.deep_stringify_keys)
|
|
21
26
|
end
|
|
22
27
|
end
|
|
@@ -166,21 +171,6 @@ module Pfab
|
|
|
166
171
|
}
|
|
167
172
|
return pdb
|
|
168
173
|
end
|
|
169
|
-
ANTI_AFFINITY_TYPES = %w[disabled required preferred]
|
|
170
|
-
ANTI_AFFINITY_MODE = 'antiAffinityMode'
|
|
171
|
-
ANTI_AFFINITY_PREFERRED_MODE_WEIGHT = 'antiAffinityPreferredModeWeight'
|
|
172
|
-
ZONE_ANTI_AFFINITY_MODE = 'zoneAntiAffinityMode'
|
|
173
|
-
ZONE_ANTI_AFFINITY_PREFERRED_MODE_WEIGHT = 'zoneAntiAffinityPreferredModeWeight'
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
def anti_affinity
|
|
177
|
-
return host_anti_affinity
|
|
178
|
-
end
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
def host_anti_affinity
|
|
182
|
-
anti_affinity_builder(ANTI_AFFINITY_MODE, ANTI_AFFINITY_PREFERRED_MODE_WEIGHT, "kubernetes.io/hostname")
|
|
183
|
-
end
|
|
184
174
|
|
|
185
175
|
|
|
186
176
|
def topology_spread_constraints
|
|
@@ -227,40 +217,6 @@ module Pfab
|
|
|
227
217
|
}
|
|
228
218
|
end
|
|
229
219
|
|
|
230
|
-
def anti_affinity_builder(key, weight_key, topology_key)
|
|
231
|
-
antiAffinityMode = get(key) || "disabled"
|
|
232
|
-
if antiAffinityMode
|
|
233
|
-
affinitySelector = {
|
|
234
|
-
topologyKey: topology_key,
|
|
235
|
-
labelSelector: labelSelector,
|
|
236
|
-
}
|
|
237
|
-
|
|
238
|
-
return case antiAffinityMode
|
|
239
|
-
when "disabled"
|
|
240
|
-
puts "antiAffinityMode is set to disabled, skipping"
|
|
241
|
-
{}
|
|
242
|
-
when "required"
|
|
243
|
-
{
|
|
244
|
-
podAntiAffinity: {
|
|
245
|
-
requiredDuringSchedulingIgnoredDuringExecution: [
|
|
246
|
-
affinitySelector
|
|
247
|
-
] } }
|
|
248
|
-
when "preferred"
|
|
249
|
-
{ podAntiAffinity: {
|
|
250
|
-
preferredDuringSchedulingIgnoredDuringExecution: [
|
|
251
|
-
{
|
|
252
|
-
weight: app_vars[weight_key] || 100,
|
|
253
|
-
podAffinityTerm: affinitySelector
|
|
254
|
-
}
|
|
255
|
-
]
|
|
256
|
-
}
|
|
257
|
-
}
|
|
258
|
-
else
|
|
259
|
-
raise "Unexpected value #{antiAffinityMode} specified for `#{key}`. Valid selections are #{ANTI_AFFINITY_TYPES}"
|
|
260
|
-
end
|
|
261
|
-
end
|
|
262
|
-
return {}
|
|
263
|
-
end
|
|
264
220
|
|
|
265
221
|
def deployment
|
|
266
222
|
secret_mounts = get("secretMounts") || []
|
|
@@ -295,6 +251,7 @@ module Pfab
|
|
|
295
251
|
end
|
|
296
252
|
ports = container_ports()
|
|
297
253
|
|
|
254
|
+
|
|
298
255
|
{
|
|
299
256
|
kind: "Deployment",
|
|
300
257
|
apiVersion: "apps/v1",
|
|
@@ -302,14 +259,14 @@ module Pfab
|
|
|
302
259
|
name: @data['deployed_name'],
|
|
303
260
|
namespace: get_namespace,
|
|
304
261
|
labels: {
|
|
305
|
-
application
|
|
262
|
+
"application" => @data['application'],
|
|
306
263
|
"deployed-name" => @data['deployed_name'],
|
|
307
264
|
"application-type" => application_type,
|
|
308
265
|
"deploy-id" => deploy_id,
|
|
309
|
-
LABEL_DEPLOY_UNIQUE_ID
|
|
310
|
-
"tags.datadoghq.com/env"
|
|
311
|
-
"tags.datadoghq.com/service"
|
|
312
|
-
"tags.datadoghq.com/version"
|
|
266
|
+
LABEL_DEPLOY_UNIQUE_ID => StyledYAML.double_quoted(deploy_unique_id),
|
|
267
|
+
"tags.datadoghq.com/env" => @data['env'],
|
|
268
|
+
"tags.datadoghq.com/service" => @data['deployed_name'],
|
|
269
|
+
"tags.datadoghq.com/version" => StyledYAML.double_quoted(@data['sha'])
|
|
313
270
|
}
|
|
314
271
|
},
|
|
315
272
|
spec: {
|
|
@@ -350,7 +307,7 @@ module Pfab
|
|
|
350
307
|
volumeMounts: volume_mounts
|
|
351
308
|
}.merge(probes()).compact
|
|
352
309
|
],
|
|
353
|
-
topologySpreadConstraints: topology_spread_constraints,
|
|
310
|
+
topologySpreadConstraints: get_replica_count > 1 ? topology_spread_constraints : {},
|
|
354
311
|
volumes: volumes
|
|
355
312
|
}.compact,
|
|
356
313
|
},
|
data/lib/pfab/version.rb
CHANGED
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.58.
|
|
5
|
+
# stub: pfab 0.58.12 ruby lib
|
|
6
6
|
|
|
7
7
|
Gem::Specification.new do |s|
|
|
8
8
|
s.name = "pfab".freeze
|
|
9
|
-
s.version = "0.58.
|
|
9
|
+
s.version = "0.58.12"
|
|
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 = "2025-02-11"
|
|
15
15
|
s.description = "k8s helper".freeze
|
|
16
16
|
s.email = "jdwyer@prefab.cloud".freeze
|
|
17
17
|
s.executables = ["pfab".freeze]
|
|
@@ -46,33 +46,19 @@ Gem::Specification.new do |s|
|
|
|
46
46
|
]
|
|
47
47
|
s.homepage = "http://github.com/prefab-cloud/pfab".freeze
|
|
48
48
|
s.licenses = ["MIT".freeze]
|
|
49
|
-
s.rubygems_version = "3.
|
|
49
|
+
s.rubygems_version = "3.4.10".freeze
|
|
50
50
|
s.summary = "helper gem".freeze
|
|
51
51
|
|
|
52
|
-
|
|
53
|
-
s.specification_version = 4
|
|
54
|
-
end
|
|
52
|
+
s.specification_version = 4
|
|
55
53
|
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
s.add_development_dependency(%q<test-unit>.freeze, [">= 0"])
|
|
66
|
-
else
|
|
67
|
-
s.add_dependency(%q<commander>.freeze, [">= 0"])
|
|
68
|
-
s.add_dependency(%q<activesupport>.freeze, [">= 0"])
|
|
69
|
-
s.add_dependency(%q<pry-byebug>.freeze, [">= 0"])
|
|
70
|
-
s.add_dependency(%q<styled_yaml>.freeze, ["~> 0.0.1"])
|
|
71
|
-
s.add_dependency(%q<rdoc>.freeze, ["~> 6.1"])
|
|
72
|
-
s.add_dependency(%q<bundler>.freeze, ["~> 2.3"])
|
|
73
|
-
s.add_dependency(%q<juwelier>.freeze, ["~> 2.4.9"])
|
|
74
|
-
s.add_dependency(%q<simplecov>.freeze, [">= 0"])
|
|
75
|
-
s.add_dependency(%q<test-unit>.freeze, [">= 0"])
|
|
76
|
-
end
|
|
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_runtime_dependency(%q<styled_yaml>.freeze, ["~> 0.0.1"])
|
|
58
|
+
s.add_development_dependency(%q<rdoc>.freeze, ["~> 6.1"])
|
|
59
|
+
s.add_development_dependency(%q<bundler>.freeze, ["~> 2.3"])
|
|
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"])
|
|
77
63
|
end
|
|
78
64
|
|
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.58.
|
|
4
|
+
version: 0.58.12
|
|
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: 2025-02-11 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: commander
|