metatron 0.6.1 → 0.7.0

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: d3938ca86027d00b6e1f12ce310b5d120240f4741c54c2d250ec7dd661d532f5
4
- data.tar.gz: c7f9e703fda8a9113f99f5d2b39e9fcd05970fcefe68fd0389a37a43cff0aacb
3
+ metadata.gz: ce0057cd5b89a1b677248f3401987bafe4fb33bba5c5fe0b89dfd22272c1b559
4
+ data.tar.gz: 520b31ebea42dca62172db9f30884eb648a015ece3498f26bacfbe408a1d114b
5
5
  SHA512:
6
- metadata.gz: 72575f10175d98b9ee1d62f36b97ac2872c8683e93fb635efd17f4ca11c61187403102d0a1e0e0591980d658346e2d2129060f56a1dc2186d60ae9725569e6c3
7
- data.tar.gz: 608ad100ae3a883ebfab8235ad0c9674d757c47996ca2f1189a72d9b37fbcfc01ab9858f095b4137f653a6d31fcf1eb3c2c1aeba77eade46c3e4de0787e01f4b
6
+ metadata.gz: f3265a4f7dfa3e3d318063a08455a62a12aaab8fb07c122884af4ebe9705d23741537438324904ab7dfe71fa37388e420913205daf1d0816884cde439a4888bb
7
+ data.tar.gz: 46c81f307d87486f1fadaf2a929032b70b0803cd13b08118410b2a9ca6c8ccdb64903c3e2cc45a73777fcd5f6463a188dd412cf885b7eccc901d7bc0363f1f2a
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- metatron (0.6.1)
4
+ metatron (0.7.0)
5
5
  json (~> 2.6)
6
6
  rack (>= 2.2.8, < 4)
7
7
 
@@ -0,0 +1,36 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Metatron
4
+ module Templates
5
+ # https://kubernetes.io/docs/concepts/services-networking/network-policies/
6
+ class NetworkPolicy < Template
7
+ include Concerns::Annotated
8
+ include Concerns::Namespaced
9
+
10
+ attr_accessor :pod_selector, :ingress, :egress
11
+
12
+ alias podSelector pod_selector
13
+
14
+ def initialize(name)
15
+ super(name)
16
+ @pod_selector = pod_selector
17
+ @ingress = ingress
18
+ @egress = egress
19
+ end
20
+
21
+ def render
22
+ {
23
+ apiVersion:,
24
+ kind:,
25
+ metadata: {
26
+ labels: base_labels.merge(additional_labels),
27
+ name:
28
+ }.merge(formatted_annotations).merge(formatted_namespace),
29
+ spec: {
30
+ podSelector:
31
+ }.merge(ingress ? { ingress: } : {}).merge(egress ? { egress: } : {})
32
+ }
33
+ end
34
+ end
35
+ end
36
+ end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Metatron
4
- VERSION = "0.6.1"
4
+ VERSION = "0.7.0"
5
5
  end
data/lib/metatron.rb CHANGED
@@ -32,6 +32,7 @@ require "metatron/templates/daemon_set"
32
32
  require "metatron/templates/deployment"
33
33
  require "metatron/templates/ingress"
34
34
  require "metatron/templates/namespace"
35
+ require "metatron/templates/network_policy"
35
36
  require "metatron/templates/persistent_volume_claim"
36
37
  require "metatron/templates/replica_set"
37
38
  require "metatron/templates/role"
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.6.1
4
+ version: 0.7.0
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-11-22 00:00:00.000000000 Z
11
+ date: 2023-11-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: json
@@ -251,6 +251,7 @@ files:
251
251
  - lib/metatron/templates/ingress.rb
252
252
  - lib/metatron/templates/job.rb
253
253
  - lib/metatron/templates/namespace.rb
254
+ - lib/metatron/templates/network_policy.rb
254
255
  - lib/metatron/templates/persistent_volume_claim.rb
255
256
  - lib/metatron/templates/pod.rb
256
257
  - lib/metatron/templates/replica_set.rb