metatron 0.2.6 → 0.2.7

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: 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