metatron 0.2.6 → 0.2.7

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: e64a202aa6679076cdd620c17c7885e0f01b34af6b8d0fcc07051ff26f0b9489
4
- data.tar.gz: c470c047b7cb57a770d372b988a8135ca06139bc730dfafca01b8dc759f15df0
3
+ metadata.gz: 36e8e6c44406c821d01c13c564acf765719ac6ac2572053afa5d4bd5b33df33f
4
+ data.tar.gz: 3378c577112bdc28cfbdf4e33c6a5a739434ba4e38312a4147f574ca09b29139
5
5
  SHA512:
6
- metadata.gz: 4708fb55b631916c16214f436b7d7577dece26c66cf7dab478a5d8a76a711b50d71fd267bfe72719eb999411377eb5190bb5b42874dbe153ee05def637321eef
7
- data.tar.gz: a5ee6b2437fb07fcbb5a3bd17859ed73e5dbd25af935ca6dcfff6568f30eed7a520b711065e54db978489ec7d91082b9d1cefa1119f68db9ad42c79f2966c74a
6
+ metadata.gz: a3857663d6044c885a46e1ff3bf5017281f4202273516bacb7a38e1aaa9cd84d689221c700fb4d4f55316f3b55eec379134eae12ba9d7727e233f051b9da9bb7
7
+ data.tar.gz: dddb6a6dda8d5a54b44c14cc2579f570e099033e22b085a560827ca60344b2d8d3ef331cd9660526c358e3c80ed2c9f2dba309b8707b44f29f75e1b365854809
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- metatron (0.2.6)
4
+ metatron (0.2.7)
5
5
  json (~> 2.6)
6
6
  puma (~> 6.3)
7
7
  sinatra (~> 2.2)
@@ -3,7 +3,7 @@
3
3
  module Metatron
4
4
  # Base class for templating Kubernetes resources
5
5
  class Template
6
- attr_accessor :api_version, :name
6
+ attr_accessor :api_version, :name, :additional_labels
7
7
  attr_reader :kind, :label_namespace
8
8
 
9
9
  class << self
@@ -19,6 +19,7 @@ module Metatron
19
19
  @label_namespace = self.class.label_namespace
20
20
  @api_version = "v1"
21
21
  @kind = find_kind
22
+ @additional_labels = {}
22
23
  run_initializers
23
24
  end
24
25
 
@@ -8,7 +8,7 @@ module Metatron
8
8
  def self.included(base) # rubocop:disable Metrics/MethodLength
9
9
  # base.extend ClassMethods
10
10
  base.class_eval do
11
- attr_accessor :active_deadline_seconds, :additional_labels, :additional_pod_labels,
11
+ attr_accessor :active_deadline_seconds, :additional_pod_labels,
12
12
  :affinity, :automount_service_account_token, :containers,
13
13
  :dns_policy, :enable_service_links, :hostname, :host_ipc, :host_network,
14
14
  :host_pid, :image_pull_secrets, :init_containers, :node_selector,
@@ -39,7 +39,6 @@ module Metatron
39
39
  end
40
40
 
41
41
  def pod_producer_initialize
42
- @additional_labels = {}
43
42
  @additional_pod_labels = {}
44
43
  @affinity = {}
45
44
  @containers = []
@@ -0,0 +1,27 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Metatron
4
+ module Templates
5
+ # The ServiceAccount Kubernetes resource
6
+ class ServiceAccount < Template
7
+ include Concerns::Annotated
8
+ include Concerns::Namespaced
9
+
10
+ attr_accessor :automount_service_account_token
11
+
12
+ alias automountServiceAccountToken automount_service_account_token
13
+
14
+ def render
15
+ {
16
+ apiVersion:,
17
+ kind:,
18
+ automountServiceAccountToken:,
19
+ metadata: {
20
+ name:,
21
+ labels: { "#{label_namespace}/name": name }.merge(additional_labels)
22
+ }.merge(formatted_annotations).merge(formatted_namespace).compact
23
+ }.compact
24
+ end
25
+ end
26
+ end
27
+ end
@@ -4,6 +4,6 @@ module Metatron
4
4
  VERSION = [
5
5
  0, # major
6
6
  2, # minor
7
- 6 # patch
7
+ 7 # patch
8
8
  ].join(".")
9
9
  end
data/lib/metatron.rb CHANGED
@@ -40,6 +40,7 @@ require "metatron/templates/replica_set"
40
40
  require "metatron/templates/config_map"
41
41
  require "metatron/templates/secret"
42
42
  require "metatron/templates/service"
43
+ require "metatron/templates/service_account"
43
44
  require "metatron/templates/stateful_set"
44
45
  require "metatron/controller"
45
46
  require "metatron/sync_controller"
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.6
4
+ version: 0.2.7
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-08-02 00:00:00.000000000 Z
11
+ date: 2023-08-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: json
@@ -272,6 +272,7 @@ files:
272
272
  - lib/metatron/templates/replica_set.rb
273
273
  - lib/metatron/templates/secret.rb
274
274
  - lib/metatron/templates/service.rb
275
+ - lib/metatron/templates/service_account.rb
275
276
  - lib/metatron/templates/stateful_set.rb
276
277
  - lib/metatron/version.rb
277
278
  - metatron.gemspec