metatron 0.1.8 → 0.1.9
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/Gemfile.lock +1 -1
- data/lib/metatron/templates/concerns/namespaced.rb +31 -0
- data/lib/metatron/templates/config_map.rb +2 -1
- data/lib/metatron/templates/daemon_set.rb +2 -1
- data/lib/metatron/templates/deployment.rb +2 -1
- data/lib/metatron/templates/ingress.rb +3 -1
- data/lib/metatron/templates/namespace.rb +26 -0
- data/lib/metatron/templates/persistent_volume_claim.rb +2 -1
- data/lib/metatron/templates/pod.rb +2 -1
- data/lib/metatron/templates/replica_set.rb +2 -1
- data/lib/metatron/templates/secret.rb +2 -1
- data/lib/metatron/templates/service.rb +2 -1
- data/lib/metatron/templates/stateful_set.rb +2 -1
- data/lib/metatron/version.rb +1 -1
- data/lib/metatron.rb +2 -0
- metadata +4 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9904b986356c64a1f895a522baf591911fdd4bdce61d47d94b8db3a05148b11f
|
4
|
+
data.tar.gz: e5230c29009ef2cbf5c9721fa13ddfc65dad02114dfd4c8fd24e9d6873ae0d47
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3886638f6f20c362c519e1ddf5fa1a5067bc00d038d37586c9fc11c5ff887a7f1518b957ef334ffeabe02cae7938f75732f6ef1f68941c80fe70f66c9bbc5804
|
7
|
+
data.tar.gz: 71b9e8ec7e997d71c4369caef8a6f45d74ee6e9120a01a6d8d5723057dd8c76d954cd879df94365050ae2bcf2786f2415578c32ec8d70eebe23049b79cc3a0d9
|
data/Gemfile.lock
CHANGED
@@ -0,0 +1,31 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Metatron
|
4
|
+
module Templates
|
5
|
+
module Concerns
|
6
|
+
# Makes supporting namespaced resources easier
|
7
|
+
module Namespaced
|
8
|
+
def self.included(base)
|
9
|
+
# base.extend ClassMethods
|
10
|
+
base.class_eval do
|
11
|
+
attr_accessor :namespace
|
12
|
+
|
13
|
+
initializer :namespaced_initialize
|
14
|
+
end
|
15
|
+
end
|
16
|
+
|
17
|
+
def namespaced_initialize
|
18
|
+
@namespace = nil
|
19
|
+
end
|
20
|
+
|
21
|
+
def formatted_namespace
|
22
|
+
if namespace
|
23
|
+
{ namespace: namespace.is_a?(Namespace) ? namespace.name : namespace }
|
24
|
+
else
|
25
|
+
{}
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
@@ -5,6 +5,7 @@ module Metatron
|
|
5
5
|
# The ConfigMap Kubernetes resource
|
6
6
|
class ConfigMap < Template
|
7
7
|
include Concerns::Annotated
|
8
|
+
include Concerns::Namespaced
|
8
9
|
|
9
10
|
attr_accessor :additional_labels, :type, :data
|
10
11
|
|
@@ -21,7 +22,7 @@ module Metatron
|
|
21
22
|
metadata: {
|
22
23
|
name:,
|
23
24
|
labels: { "#{label_namespace}/name": name }.merge(additional_labels)
|
24
|
-
}.merge(formatted_annotations),
|
25
|
+
}.merge(formatted_annotations).merge(formatted_namespace),
|
25
26
|
data:
|
26
27
|
}
|
27
28
|
end
|
@@ -5,6 +5,7 @@ module Metatron
|
|
5
5
|
# The DaemonSet Kubernetes resource
|
6
6
|
class DaemonSet < Template
|
7
7
|
include Concerns::Annotated
|
8
|
+
include Concerns::Namespaced
|
8
9
|
include Concerns::PodProducer
|
9
10
|
|
10
11
|
attr_accessor :replicas, :additional_labels
|
@@ -23,7 +24,7 @@ module Metatron
|
|
23
24
|
metadata: {
|
24
25
|
name:,
|
25
26
|
labels: { "#{label_namespace}/name": name }.merge(additional_labels)
|
26
|
-
}.merge(formatted_annotations),
|
27
|
+
}.merge(formatted_annotations).merge(formatted_namespace),
|
27
28
|
spec: {
|
28
29
|
selector: {
|
29
30
|
matchLabels: { "#{label_namespace}/name": name }.merge(additional_pod_labels)
|
@@ -5,6 +5,7 @@ module Metatron
|
|
5
5
|
# The Deployment Kubernetes resource
|
6
6
|
class Deployment < Template
|
7
7
|
include Concerns::Annotated
|
8
|
+
include Concerns::Namespaced
|
8
9
|
include Concerns::PodProducer
|
9
10
|
|
10
11
|
attr_accessor :replicas, :additional_labels
|
@@ -34,7 +35,7 @@ module Metatron
|
|
34
35
|
template: {
|
35
36
|
metadata: {
|
36
37
|
labels: { "#{label_namespace}/name": name }.merge(additional_pod_labels)
|
37
|
-
}.merge(formatted_pod_annotations),
|
38
|
+
}.merge(formatted_pod_annotations).merge(formatted_namespace),
|
38
39
|
spec: {
|
39
40
|
terminationGracePeriodSeconds:,
|
40
41
|
containers: [
|
@@ -4,6 +4,8 @@ module Metatron
|
|
4
4
|
module Templates
|
5
5
|
# Template for basic Ingress k8s resource
|
6
6
|
class Ingress < Template
|
7
|
+
include Concerns::Namespaced
|
8
|
+
|
7
9
|
attr_accessor :ingress_class, :additional_labels, :additional_annotations, :rules, :tls,
|
8
10
|
:cert_manager_cluster_issuer, :cert_manager_issuer, :cert_manager_challenge_type
|
9
11
|
|
@@ -76,7 +78,7 @@ module Metatron
|
|
76
78
|
metadata: {
|
77
79
|
name:,
|
78
80
|
labels: { "#{label_namespace}/name": name }.merge(additional_labels)
|
79
|
-
}.merge(formatted_annotations),
|
81
|
+
}.merge(formatted_annotations).merge(formatted_namespace),
|
80
82
|
spec: formatted_rules.merge(formatted_tls)
|
81
83
|
}
|
82
84
|
end
|
@@ -0,0 +1,26 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Metatron
|
4
|
+
module Templates
|
5
|
+
# Template for basic Namespace k8s resource
|
6
|
+
class Namespace < Template
|
7
|
+
attr_accessor :additional_labels
|
8
|
+
|
9
|
+
def initialize(name)
|
10
|
+
super(name)
|
11
|
+
@additional_labels = {}
|
12
|
+
end
|
13
|
+
|
14
|
+
def render
|
15
|
+
{
|
16
|
+
apiVersion:,
|
17
|
+
kind:,
|
18
|
+
metadata: {
|
19
|
+
name:,
|
20
|
+
labels: { "#{label_namespace}/name": name }.merge(additional_labels)
|
21
|
+
}.merge(formatted_annotations)
|
22
|
+
}
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
@@ -5,6 +5,7 @@ module Metatron
|
|
5
5
|
# The PersistentVolumeClaim Kubernetes resource
|
6
6
|
class PersistentVolumeClaim < Template
|
7
7
|
include Concerns::Annotated
|
8
|
+
include Concerns::Namespaced
|
8
9
|
|
9
10
|
attr_accessor :additional_labels, :storage_class, :access_modes, :storage
|
10
11
|
|
@@ -28,7 +29,7 @@ module Metatron
|
|
28
29
|
metadata: {
|
29
30
|
name:,
|
30
31
|
labels: { "#{label_namespace}/name": name }.merge(additional_labels)
|
31
|
-
}.merge(formatted_annotations),
|
32
|
+
}.merge(formatted_annotations).merge(formatted_namespace),
|
32
33
|
spec: {
|
33
34
|
accessModes: access_modes,
|
34
35
|
storageClassName: storage_class,
|
@@ -6,6 +6,7 @@ module Metatron
|
|
6
6
|
class Pod < Template
|
7
7
|
include Concerns::Annotated
|
8
8
|
include Concerns::PodProducer
|
9
|
+
include Concerns::Namespaced
|
9
10
|
|
10
11
|
# rubocop:disable Metrics/MethodLength
|
11
12
|
# rubocop:disable Metrics/AbcSize
|
@@ -16,7 +17,7 @@ module Metatron
|
|
16
17
|
metadata: {
|
17
18
|
labels: { "#{label_namespace}/name": name }.merge(additional_labels),
|
18
19
|
name:
|
19
|
-
}.merge(formatted_annotations),
|
20
|
+
}.merge(formatted_annotations).merge(formatted_namespace),
|
20
21
|
spec: {
|
21
22
|
terminationGracePeriodSeconds:,
|
22
23
|
containers: [
|
@@ -6,6 +6,7 @@ module Metatron
|
|
6
6
|
class ReplicaSet < Template
|
7
7
|
include Concerns::Annotated
|
8
8
|
include Concerns::PodProducer
|
9
|
+
include Concerns::Namespaced
|
9
10
|
|
10
11
|
attr_accessor :replicas, :additional_labels
|
11
12
|
|
@@ -24,7 +25,7 @@ module Metatron
|
|
24
25
|
metadata: {
|
25
26
|
name:,
|
26
27
|
labels: { "#{label_namespace}/name": name }.merge(additional_labels)
|
27
|
-
}.merge(formatted_annotations),
|
28
|
+
}.merge(formatted_annotations).merge(formatted_namespace),
|
28
29
|
spec: {
|
29
30
|
replicas:,
|
30
31
|
selector: {
|
@@ -5,6 +5,7 @@ module Metatron
|
|
5
5
|
# The Secret Kubernetes resource
|
6
6
|
class Secret < Template
|
7
7
|
include Concerns::Annotated
|
8
|
+
include Concerns::Namespaced
|
8
9
|
|
9
10
|
attr_accessor :additional_labels, :type, :data
|
10
11
|
|
@@ -22,7 +23,7 @@ module Metatron
|
|
22
23
|
metadata: {
|
23
24
|
name:,
|
24
25
|
labels: { "#{label_namespace}/name": name }.merge(additional_labels)
|
25
|
-
}.merge(formatted_annotations),
|
26
|
+
}.merge(formatted_annotations).merge(formatted_namespace),
|
26
27
|
type:,
|
27
28
|
stringData: data
|
28
29
|
}
|
@@ -5,6 +5,7 @@ module Metatron
|
|
5
5
|
# The Service Kubernetes resource
|
6
6
|
class Service < Template
|
7
7
|
include Concerns::Annotated
|
8
|
+
include Concerns::Namespaced
|
8
9
|
|
9
10
|
attr_accessor :type, :selector, :additional_labels, :ports,
|
10
11
|
:additional_selector_labels, :publish_not_ready_addresses
|
@@ -41,7 +42,7 @@ module Metatron
|
|
41
42
|
metadata: {
|
42
43
|
name:,
|
43
44
|
labels: { "#{label_namespace}/name": name }.merge(additional_labels)
|
44
|
-
}.merge(formatted_annotations),
|
45
|
+
}.merge(formatted_annotations).merge(formatted_namespace),
|
45
46
|
spec: {
|
46
47
|
type:,
|
47
48
|
selector: selector.merge(additional_selector_labels),
|
@@ -6,6 +6,7 @@ module Metatron
|
|
6
6
|
class StatefulSet < Template
|
7
7
|
include Concerns::Annotated
|
8
8
|
include Concerns::PodProducer
|
9
|
+
include Concerns::Namespaced
|
9
10
|
|
10
11
|
attr_accessor :replicas, :service_name, :pod_management_policy, :enable_service_links
|
11
12
|
|
@@ -31,7 +32,7 @@ module Metatron
|
|
31
32
|
metadata: {
|
32
33
|
name:,
|
33
34
|
labels: { "#{label_namespace}/name": name }.merge(additional_labels)
|
34
|
-
}.merge(formatted_annotations),
|
35
|
+
}.merge(formatted_annotations).merge(formatted_namespace),
|
35
36
|
spec: {
|
36
37
|
replicas:,
|
37
38
|
serviceName:,
|
data/lib/metatron/version.rb
CHANGED
data/lib/metatron.rb
CHANGED
@@ -26,11 +26,13 @@ end
|
|
26
26
|
require "metatron/version"
|
27
27
|
require "metatron/template"
|
28
28
|
require "metatron/templates/concerns/annotated"
|
29
|
+
require "metatron/templates/concerns/namespaced"
|
29
30
|
require "metatron/templates/concerns/pod_producer"
|
30
31
|
require "metatron/templates/pod"
|
31
32
|
require "metatron/templates/persistent_volume_claim"
|
32
33
|
require "metatron/templates/deployment"
|
33
34
|
require "metatron/templates/ingress"
|
35
|
+
require "metatron/templates/namespace"
|
34
36
|
require "metatron/templates/replica_set"
|
35
37
|
require "metatron/templates/config_map"
|
36
38
|
require "metatron/templates/secret"
|
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.1.
|
4
|
+
version: 0.1.9
|
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-
|
11
|
+
date: 2023-07-27 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: json
|
@@ -257,11 +257,13 @@ files:
|
|
257
257
|
- lib/metatron/sync_controller.rb
|
258
258
|
- lib/metatron/template.rb
|
259
259
|
- lib/metatron/templates/concerns/annotated.rb
|
260
|
+
- lib/metatron/templates/concerns/namespaced.rb
|
260
261
|
- lib/metatron/templates/concerns/pod_producer.rb
|
261
262
|
- lib/metatron/templates/config_map.rb
|
262
263
|
- lib/metatron/templates/daemon_set.rb
|
263
264
|
- lib/metatron/templates/deployment.rb
|
264
265
|
- lib/metatron/templates/ingress.rb
|
266
|
+
- lib/metatron/templates/namespace.rb
|
265
267
|
- lib/metatron/templates/persistent_volume_claim.rb
|
266
268
|
- lib/metatron/templates/pod.rb
|
267
269
|
- lib/metatron/templates/replica_set.rb
|