metatron 0.2.3 → 0.2.5

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: 677b9ecf8b5a4c678cf17d251ad3fdd916646c5ba4ac249468f19dc095e8642a
4
- data.tar.gz: 6a0dc0822303e49d401b6cb015d446a5bfd8ffaa97a9537b1126427864995503
3
+ metadata.gz: ef9aac429ebb8074709e762051f6b5b54b58fa509c05c221383275ede14b1250
4
+ data.tar.gz: b367fcc93d32010eb00f9b642b8e8651b329b4f0e15f44d0c25b0fe6b13f305c
5
5
  SHA512:
6
- metadata.gz: de59bb3b607c464110887c24924876ad58bf025f3aa9462f1fda4a9e312c8a7c4b8aa0243bb8dafdc37dda66f866f58ed27c025944fda6d2049fce502255e0e0
7
- data.tar.gz: f7913c719a841d6085aeeb3188d57e8bb4da7d8e6cd60fb73ab496a3929b40c0c5021d8723ae4beffa7df27ba1b71601ff16d2339c5976854147ccb2e9348214
6
+ metadata.gz: 38531090c45a8417780e07118c7f52d579e074d718e781651a61e2c894cdfee23ab900f33b3f6ac5d2ab578ee1d03b6fdde40a785a3eb7533c473330ef7af17f
7
+ data.tar.gz: 2a4f9d9ec0926f510cc5f2033d47f1514dafa4b828d7ecec07b776131132ffcc7e88b3802fa75e06d427c56402569edf5d669318aa7d50c9921dd5a37d358bdc
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- metatron (0.2.3)
4
+ metatron (0.2.5)
5
5
  json (~> 2.6)
6
6
  puma (~> 6.3)
7
7
  sinatra (~> 2.2)
@@ -7,7 +7,7 @@ module Metatron
7
7
  include Concerns::Annotated
8
8
  include Concerns::Namespaced
9
9
 
10
- attr_accessor :additional_labels, :type, :data
10
+ attr_accessor :additional_labels, :immutable, :data
11
11
 
12
12
  def initialize(name, data = {})
13
13
  super(name)
@@ -15,6 +15,8 @@ module Metatron
15
15
  @additional_labels = {}
16
16
  end
17
17
 
18
+ def immutable? = !!@immutable
19
+
18
20
  def render
19
21
  {
20
22
  apiVersion:,
@@ -22,9 +24,10 @@ module Metatron
22
24
  metadata: {
23
25
  name:,
24
26
  labels: { "#{label_namespace}/name": name }.merge(additional_labels)
25
- }.merge(formatted_annotations).merge(formatted_namespace),
26
- data:
27
- }
27
+ }.merge(formatted_annotations).merge(formatted_namespace).compact,
28
+ data:,
29
+ immutable:
30
+ }.compact
28
31
  end
29
32
  end
30
33
  end
@@ -42,7 +42,6 @@ module Metatron
42
42
  failedJobsHistoryLimit:,
43
43
  jobTemplate: {
44
44
  spec: {
45
- activeDeadlineSeconds:,
46
45
  backoffLimit:
47
46
  }.merge(pod_template).compact
48
47
  }.merge(formatted_tolerations).compact
@@ -8,7 +8,7 @@ module Metatron
8
8
  include Concerns::Namespaced
9
9
  include Concerns::PodProducer
10
10
 
11
- attr_accessor :replicas, :additional_labels
11
+ attr_accessor :replicas, :additional_labels, :strategy
12
12
 
13
13
  def initialize(name, replicas: 2)
14
14
  super(name)
@@ -23,14 +23,14 @@ module Metatron
23
23
  metadata: {
24
24
  name:,
25
25
  labels: { "#{label_namespace}/name": name }.merge(additional_labels)
26
- }.merge(formatted_annotations),
26
+ }.merge(formatted_annotations).merge(formatted_namespace),
27
27
  spec: {
28
28
  replicas:,
29
- strategy: { type: "RollingUpdate", rollingUpdate: { maxSurge: 2, maxUnavailable: 0 } },
29
+ strategy:,
30
30
  selector: {
31
31
  matchLabels: { "#{label_namespace}/name": name }.merge(additional_pod_labels)
32
32
  }
33
- }.merge(pod_template)
33
+ }.merge(pod_template).compact
34
34
  }
35
35
  end
36
36
  end
@@ -23,10 +23,10 @@ module Metatron
23
23
  metadata: {
24
24
  name:,
25
25
  labels: { "#{label_namespace}/name": name }.merge(additional_labels)
26
- }.merge(formatted_annotations).merge(formatted_namespace),
26
+ }.merge(formatted_annotations).merge(formatted_namespace).compact,
27
27
  type:,
28
28
  stringData: data
29
- }
29
+ }.compact
30
30
  end
31
31
  end
32
32
  end
@@ -8,7 +8,7 @@ module Metatron
8
8
  include Concerns::PodProducer
9
9
  include Concerns::Namespaced
10
10
 
11
- attr_accessor :replicas, :service_name, :pod_management_policy
11
+ attr_accessor :replicas, :service_name, :pod_management_policy, :update_strategy
12
12
 
13
13
  def initialize(name, replicas: 1)
14
14
  super(name)
@@ -21,8 +21,11 @@ module Metatron
21
21
  alias enableServiceLinks enable_service_links
22
22
  alias podManagementPolicy pod_management_policy
23
23
  alias serviceName service_name
24
+ alias strategy update_strategy
25
+ alias strategy= update_strategy=
26
+ alias updateStrategy update_strategy
24
27
 
25
- def render
28
+ def render # rubocop:disable Metrics/AbcSize
26
29
  {
27
30
  apiVersion:,
28
31
  kind:,
@@ -33,12 +36,12 @@ module Metatron
33
36
  spec: {
34
37
  replicas:,
35
38
  serviceName:,
36
- strategy: { type: "RollingUpdate", rollingUpdate: { maxSurge: 2, maxUnavailable: 0 } },
39
+ updateStrategy:,
37
40
  selector: {
38
41
  matchLabels: { "#{label_namespace}/name": name }.merge(additional_pod_labels)
39
42
  }
40
- }.merge(pod_template)
41
- }.merge(volume_claim_templates)
43
+ }.merge(pod_template).merge(volume_claim_templates).compact
44
+ }
42
45
  end
43
46
  end
44
47
  end
@@ -4,6 +4,6 @@ module Metatron
4
4
  VERSION = [
5
5
  0, # major
6
6
  2, # minor
7
- 3 # patch
7
+ 5 # patch
8
8
  ].join(".")
9
9
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: metatron
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.3
4
+ version: 0.2.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jonathan Gnagy
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2023-07-29 00:00:00.000000000 Z
11
+ date: 2023-08-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: json