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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 00df54c67b4498f532bc8bc0a7c3d4d938b93e49bb029feb12f4ad34769db2b9
4
- data.tar.gz: '07888f8bfdec5736018b0cbaf9d4f8ecaee98748dc43d88414570ba14a21be72'
3
+ metadata.gz: 9ab15281d11807142862416a06e9d3782e2047a52de45a00cd840eb0b10e6c89
4
+ data.tar.gz: ec482b1584f956311feee4581f2f22664cfa17941329755acb3f2627abc0b1b5
5
5
  SHA512:
6
- metadata.gz: 5d83fbaa51cdacf123f9e88c2445b01d226459f7d6b279f2627758e632833a27db83bcfd8e3970a0ff3b1235918268e0aa1993c503b294d38d36b88936da2ec9
7
- data.tar.gz: 3374947912d66d19f18f01325f383c676eba0ae2f676ca9e73ae8609eb02513cc6d3a5cfb9dc783e4b84e708055671f1e0e5584d0905fa74953173aa3850401e
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 = deployables.keys
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
 
@@ -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
- replica_count = get("replicas") ||1
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: @data['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: StyledYAML.double_quoted(deploy_unique_id),
310
- "tags.datadoghq.com/env": @data['env'],
311
- "tags.datadoghq.com/service": @data['deployed_name'],
312
- "tags.datadoghq.com/version": StyledYAML.double_quoted(@data['sha'])
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
@@ -2,7 +2,7 @@ module Pfab
2
2
  module Version
3
3
  MAJOR = 0
4
4
  MINOR = 58
5
- PATCH = 11
5
+ PATCH = 12
6
6
  BUILD = nil
7
7
 
8
8
  STRING = [MAJOR, MINOR, PATCH, BUILD].compact.join('.')
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.11 ruby lib
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.11"
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 = "2024-12-16"
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.3.7".freeze
49
+ s.rubygems_version = "3.4.10".freeze
50
50
  s.summary = "helper gem".freeze
51
51
 
52
- if s.respond_to? :specification_version then
53
- s.specification_version = 4
54
- end
52
+ s.specification_version = 4
55
53
 
56
- if s.respond_to? :add_runtime_dependency then
57
- s.add_runtime_dependency(%q<commander>.freeze, [">= 0"])
58
- s.add_runtime_dependency(%q<activesupport>.freeze, [">= 0"])
59
- s.add_runtime_dependency(%q<pry-byebug>.freeze, [">= 0"])
60
- s.add_runtime_dependency(%q<styled_yaml>.freeze, ["~> 0.0.1"])
61
- s.add_development_dependency(%q<rdoc>.freeze, ["~> 6.1"])
62
- s.add_development_dependency(%q<bundler>.freeze, ["~> 2.3"])
63
- s.add_development_dependency(%q<juwelier>.freeze, ["~> 2.4.9"])
64
- s.add_development_dependency(%q<simplecov>.freeze, [">= 0"])
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.11
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: 2024-12-16 00:00:00.000000000 Z
11
+ date: 2025-02-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: commander