metatron 0.8.7 → 0.9.0
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/.github/workflows/ci.yml +85 -0
- data/.release-please-manifest.json +3 -0
- data/.rubocop.yml +3 -1
- data/CHANGELOG.md +17 -0
- data/Gemfile.lock +32 -24
- data/Rakefile +1 -38
- data/lib/metatron/composite_controller.rb +2 -2
- data/lib/metatron/templates/concerns/pod_producer.rb +19 -4
- data/lib/metatron/templates/persistent_volume_claim.rb +30 -2
- data/lib/metatron/templates/priority_class.rb +38 -0
- data/lib/metatron/version.rb +1 -1
- data/lib/metatron.rb +1 -0
- data/metatron.gemspec +2 -1
- data/release-please-config.json +17 -0
- metadata +8 -6
- data/.roxanne.yml +0 -14
- data/scripts/build.sh +0 -6
- data/scripts/release.sh +0 -7
- data/scripts/test.sh +0 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 384d0a3e91cc449b09e5e1ccd514e966e0bea42603da9f01a8498ac25ce943aa
|
4
|
+
data.tar.gz: f50cf239982f715745308a39ce3027b413ca105b4e41ffc33c097c3489c5f5e4
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: abb52677bdcf1dd2ed1365af61d02861edbed89b04235db5f4c5fb980c2bb44cfca95a868805f1b84f495b4a5650977c8ca4bb44dc3fd384f0235391decfcf18
|
7
|
+
data.tar.gz: f058f18da99307cac67532bba657fa470f934c83cdf27e2d97cb589d8aa6a1601989c32bb107686ed940ce4189769ea7816fd1c187575915c8bedb4e216c49f6
|
@@ -0,0 +1,85 @@
|
|
1
|
+
name: CI
|
2
|
+
|
3
|
+
on:
|
4
|
+
pull_request:
|
5
|
+
push:
|
6
|
+
branches: [ "main" ]
|
7
|
+
|
8
|
+
permissions:
|
9
|
+
contents: write
|
10
|
+
pull-requests: write
|
11
|
+
id-token: write
|
12
|
+
|
13
|
+
jobs:
|
14
|
+
lint:
|
15
|
+
runs-on: ubuntu-latest
|
16
|
+
steps:
|
17
|
+
- name: Checkout code
|
18
|
+
uses: actions/checkout@v4
|
19
|
+
|
20
|
+
- name: Set up Ruby
|
21
|
+
uses: ruby/setup-ruby@v1
|
22
|
+
with:
|
23
|
+
ruby-version: .ruby-version
|
24
|
+
bundler-cache: true
|
25
|
+
|
26
|
+
- name: Lint code for consistent style
|
27
|
+
run: bundle exec rubocop -f github
|
28
|
+
|
29
|
+
yard:
|
30
|
+
runs-on: ubuntu-latest
|
31
|
+
steps:
|
32
|
+
- name: Checkout code
|
33
|
+
uses: actions/checkout@v4
|
34
|
+
|
35
|
+
- name: Set up Ruby
|
36
|
+
uses: ruby/setup-ruby@v1
|
37
|
+
with:
|
38
|
+
ruby-version: .ruby-version
|
39
|
+
bundler-cache: true
|
40
|
+
|
41
|
+
- name: Generate YARD documentation
|
42
|
+
run: bundle exec rake yard
|
43
|
+
|
44
|
+
test:
|
45
|
+
runs-on: ubuntu-latest
|
46
|
+
strategy:
|
47
|
+
matrix:
|
48
|
+
ruby-version: ['3.3', '3.4']
|
49
|
+
|
50
|
+
steps:
|
51
|
+
- name: Checkout code
|
52
|
+
uses: actions/checkout@v4
|
53
|
+
|
54
|
+
- name: Set up Ruby
|
55
|
+
uses: ruby/setup-ruby@v1
|
56
|
+
with:
|
57
|
+
ruby-version: ${{ matrix.ruby-version }}
|
58
|
+
bundler-cache: true
|
59
|
+
|
60
|
+
- name: Run tests
|
61
|
+
run: bundle exec rake spec
|
62
|
+
|
63
|
+
release:
|
64
|
+
runs-on: ubuntu-latest
|
65
|
+
needs: [ lint, yard, test ]
|
66
|
+
if: github.event_name == 'push' && github.ref == 'refs/heads/main'
|
67
|
+
steps:
|
68
|
+
- uses: googleapis/release-please-action@v4
|
69
|
+
id: release
|
70
|
+
with:
|
71
|
+
# The token to use for authentication
|
72
|
+
token: ${{ secrets.AUTO_RELEASE_TOKEN }}
|
73
|
+
|
74
|
+
- uses: actions/checkout@v4
|
75
|
+
if: ${{ steps.release.outputs.release_created }}
|
76
|
+
- name: Set up Ruby
|
77
|
+
uses: ruby/setup-ruby@v1
|
78
|
+
if: ${{ steps.release.outputs.release_created }}
|
79
|
+
with:
|
80
|
+
bundler-cache: true
|
81
|
+
ruby-version: .ruby-version
|
82
|
+
|
83
|
+
# Release
|
84
|
+
- uses: rubygems/release-gem@v1
|
85
|
+
if: ${{ steps.release.outputs.release_created }}
|
data/.rubocop.yml
CHANGED
data/CHANGELOG.md
ADDED
@@ -0,0 +1,17 @@
|
|
1
|
+
# Changelog
|
2
|
+
|
3
|
+
## [0.9.0](https://github.com/jgnagy/metatron/compare/metatron-v0.8.8...metatron/v0.9.0) (2025-02-17)
|
4
|
+
|
5
|
+
|
6
|
+
### Features
|
7
|
+
|
8
|
+
* **templates:** add priority class template ([a735e47](https://github.com/jgnagy/metatron/commit/a735e470d0a2f5c7c471ec95a7559cbbe8349268))
|
9
|
+
* **templates:** add support for pod priority ([f73d7b2](https://github.com/jgnagy/metatron/commit/f73d7b293c26eb0b5e2f65212c87a32b701b2151))
|
10
|
+
|
11
|
+
## [0.8.8](https://github.com/jgnagy/metatron/compare/v0.8.2...v0.8.8) (2025-02-16)
|
12
|
+
|
13
|
+
|
14
|
+
### Features
|
15
|
+
|
16
|
+
* adding support for LimitRange resource ([b779d47](https://github.com/jgnagy/metatron/commit/b779d4764ccf5b0e687ff328e69808ae12ff3c30))
|
17
|
+
* adds dataSource and dataSourceRef to PVCs ([5339a4e](https://github.com/jgnagy/metatron/commit/5339a4ea732695530814e281f6d0ae2de3e7889d))
|
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
metatron (0.
|
4
|
+
metatron (0.9.0)
|
5
5
|
json (~> 2.6)
|
6
6
|
rack (>= 2.2.8, < 4)
|
7
7
|
|
@@ -12,40 +12,44 @@ GEM
|
|
12
12
|
backport (1.2.0)
|
13
13
|
benchmark (0.4.0)
|
14
14
|
byebug (11.1.3)
|
15
|
-
diff-lcs (1.
|
15
|
+
diff-lcs (1.6.0)
|
16
16
|
docile (1.4.1)
|
17
|
-
e2mmap (0.1.0)
|
18
17
|
jaro_winkler (1.6.0)
|
19
|
-
json (2.
|
18
|
+
json (2.10.1)
|
20
19
|
kramdown (2.5.1)
|
21
20
|
rexml (>= 3.3.9)
|
22
21
|
kramdown-parser-gfm (1.1.0)
|
23
22
|
kramdown (~> 2.0)
|
24
|
-
language_server-protocol (3.17.0.
|
25
|
-
|
23
|
+
language_server-protocol (3.17.0.4)
|
24
|
+
lint_roller (1.1.0)
|
25
|
+
logger (1.6.6)
|
26
|
+
nokogiri (1.18.2-arm64-darwin)
|
26
27
|
racc (~> 1.4)
|
27
|
-
nokogiri (1.18.
|
28
|
+
nokogiri (1.18.2-x86_64-linux-gnu)
|
28
29
|
racc (~> 1.4)
|
30
|
+
observer (0.1.2)
|
31
|
+
ostruct (0.6.1)
|
29
32
|
parallel (1.26.3)
|
30
|
-
parser (3.3.7.
|
33
|
+
parser (3.3.7.1)
|
31
34
|
ast (~> 2.4.1)
|
32
35
|
racc
|
33
36
|
racc (1.8.1)
|
34
|
-
rack (3.1.
|
37
|
+
rack (3.1.10)
|
35
38
|
rack-test (2.2.0)
|
36
39
|
rack (>= 1.3)
|
37
40
|
rainbow (3.1.1)
|
38
41
|
rake (12.3.3)
|
39
|
-
rbs (
|
42
|
+
rbs (3.8.1)
|
43
|
+
logger
|
40
44
|
regexp_parser (2.10.0)
|
41
|
-
reverse_markdown (
|
45
|
+
reverse_markdown (3.0.0)
|
42
46
|
nokogiri
|
43
|
-
rexml (3.4.
|
47
|
+
rexml (3.4.1)
|
44
48
|
rspec (3.13.0)
|
45
49
|
rspec-core (~> 3.13.0)
|
46
50
|
rspec-expectations (~> 3.13.0)
|
47
51
|
rspec-mocks (~> 3.13.0)
|
48
|
-
rspec-core (3.13.
|
52
|
+
rspec-core (3.13.3)
|
49
53
|
rspec-support (~> 3.13.0)
|
50
54
|
rspec-expectations (3.13.3)
|
51
55
|
diff-lcs (>= 1.2.0, < 2.0)
|
@@ -54,24 +58,26 @@ GEM
|
|
54
58
|
diff-lcs (>= 1.2.0, < 2.0)
|
55
59
|
rspec-support (~> 3.13.0)
|
56
60
|
rspec-support (3.13.2)
|
57
|
-
rubocop (1.
|
61
|
+
rubocop (1.72.1)
|
58
62
|
json (~> 2.3)
|
59
|
-
language_server-protocol (
|
63
|
+
language_server-protocol (~> 3.17.0.2)
|
64
|
+
lint_roller (~> 1.1.0)
|
60
65
|
parallel (~> 1.10)
|
61
66
|
parser (>= 3.3.0.2)
|
62
67
|
rainbow (>= 2.2.2, < 4.0)
|
63
68
|
regexp_parser (>= 2.9.3, < 3.0)
|
64
|
-
rubocop-ast (>= 1.
|
69
|
+
rubocop-ast (>= 1.38.0, < 2.0)
|
65
70
|
ruby-progressbar (~> 1.7)
|
66
71
|
unicode-display_width (>= 2.4.0, < 4.0)
|
67
|
-
rubocop-ast (1.
|
72
|
+
rubocop-ast (1.38.0)
|
68
73
|
parser (>= 3.3.1.0)
|
69
74
|
rubocop-capybara (2.21.0)
|
70
75
|
rubocop (~> 1.41)
|
71
76
|
rubocop-factory_bot (2.26.1)
|
72
77
|
rubocop (~> 1.61)
|
73
|
-
rubocop-rake (0.
|
74
|
-
|
78
|
+
rubocop-rake (0.7.1)
|
79
|
+
lint_roller (~> 1.1)
|
80
|
+
rubocop (>= 1.72.1)
|
75
81
|
rubocop-rspec (2.31.0)
|
76
82
|
rubocop (~> 1.40)
|
77
83
|
rubocop-capybara (~> 2.17)
|
@@ -89,18 +95,20 @@ GEM
|
|
89
95
|
simplecov (~> 0.19)
|
90
96
|
simplecov-html (0.13.1)
|
91
97
|
simplecov_json_formatter (0.1.4)
|
92
|
-
solargraph (0.
|
98
|
+
solargraph (0.51.2)
|
93
99
|
backport (~> 1.2)
|
94
100
|
benchmark
|
95
101
|
bundler (~> 2.0)
|
96
102
|
diff-lcs (~> 1.4)
|
97
|
-
|
98
|
-
jaro_winkler (~> 1.5)
|
103
|
+
jaro_winkler (~> 1.6)
|
99
104
|
kramdown (~> 2.3)
|
100
105
|
kramdown-parser-gfm (~> 1.1)
|
106
|
+
logger (~> 1.6)
|
107
|
+
observer (~> 0.1)
|
108
|
+
ostruct (~> 0.6)
|
101
109
|
parser (~> 3.0)
|
102
|
-
rbs (~>
|
103
|
-
reverse_markdown (
|
110
|
+
rbs (~> 3.0)
|
111
|
+
reverse_markdown (>= 2.0, < 4)
|
104
112
|
rubocop (~> 1.38)
|
105
113
|
thor (~> 1.0)
|
106
114
|
tilt (~> 2.0)
|
data/Rakefile
CHANGED
@@ -8,7 +8,7 @@ require "rubocop/rake_task"
|
|
8
8
|
require "yard"
|
9
9
|
|
10
10
|
RSpec::Core::RakeTask.new(:spec)
|
11
|
-
RuboCop::RakeTask.new(:rubocop)
|
11
|
+
RuboCop::RakeTask.new(:rubocop) # (moved to dedicated github action job)
|
12
12
|
YARD::Rake::YardocTask.new
|
13
13
|
|
14
14
|
desc "allows running a demo controller"
|
@@ -16,41 +16,4 @@ task :demo do
|
|
16
16
|
system("rackup --host 0.0.0.0 -P #{File.expand_path(".")}/tmp/daemon.pid")
|
17
17
|
end
|
18
18
|
|
19
|
-
desc "automatically bump the gem's version"
|
20
|
-
task :bump, [:type] do |_t, args|
|
21
|
-
type = args[:type] || ENV["TYPE"] || "patch"
|
22
|
-
current_version = Metatron::VERSION
|
23
|
-
new_version = calculate_new_version(type)
|
24
|
-
puts "Bumping gem version from #{current_version} to #{new_version}"
|
25
|
-
update_version(new_version)
|
26
|
-
update_gem_lock
|
27
|
-
end
|
28
|
-
|
29
19
|
task default: %i[spec rubocop yard]
|
30
|
-
|
31
|
-
def calculate_new_version(type)
|
32
|
-
version = Metatron::VERSION.split(".").map(&:to_i)
|
33
|
-
case type
|
34
|
-
when "patch"
|
35
|
-
version[2] += 1
|
36
|
-
when "minor"
|
37
|
-
version[1] += 1
|
38
|
-
version[2] = 0
|
39
|
-
when "major"
|
40
|
-
version[0] += 1
|
41
|
-
version[1] = 0
|
42
|
-
version[2] = 0
|
43
|
-
end
|
44
|
-
|
45
|
-
version.join(".")
|
46
|
-
end
|
47
|
-
|
48
|
-
def update_gem_lock
|
49
|
-
system("bundle lock --update")
|
50
|
-
end
|
51
|
-
|
52
|
-
def update_version(new_version)
|
53
|
-
file = File.read("lib/metatron/version.rb")
|
54
|
-
new_contents = file.gsub(/VERSION = "(.+)"/, %(VERSION = "#{new_version}"))
|
55
|
-
File.write("lib/metatron/version.rb", new_contents)
|
56
|
-
end
|
@@ -15,8 +15,6 @@ module Metatron
|
|
15
15
|
def finalize = raise NotImplementedError
|
16
16
|
def sync = raise NotImplementedError
|
17
17
|
|
18
|
-
private
|
19
|
-
|
20
18
|
STRATEGY = {
|
21
19
|
"/customize" => { data: :customize, etag: :calculate_customize_etag },
|
22
20
|
# finalize calls should be rare and unique enough that we don't need to worry about ETags
|
@@ -24,6 +22,8 @@ module Metatron
|
|
24
22
|
"/sync" => { data: :sync, etag: :calculate_sync_etag }
|
25
23
|
}.freeze
|
26
24
|
|
25
|
+
private
|
26
|
+
|
27
27
|
def _call
|
28
28
|
return access_control_allow_methods if request.options?
|
29
29
|
return not_found unless request.post?
|
@@ -12,10 +12,10 @@ module Metatron
|
|
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,
|
15
|
-
:node_name, :persistent_volume_claims, :pod_annotations,
|
16
|
-
:
|
17
|
-
:
|
18
|
-
:termination_grace_period_seconds, :tolerations, :volumes
|
15
|
+
:node_name, :persistent_volume_claims, :pod_annotations,
|
16
|
+
:priority_class_name, :restart_policy, :scheduler_name, :security_context,
|
17
|
+
:service_account, :service_account_name, :share_process_namespace,
|
18
|
+
:subdomain, :termination_grace_period_seconds, :tolerations, :volumes
|
19
19
|
|
20
20
|
initializer :pod_producer_initialize
|
21
21
|
|
@@ -26,6 +26,7 @@ module Metatron
|
|
26
26
|
alias_method :hostIPC, :host_ipc
|
27
27
|
alias_method :hostNetwork, :host_network
|
28
28
|
alias_method :hostPID, :host_pid
|
29
|
+
alias_method :priorityClassName, :priority_class_name
|
29
30
|
alias_method :nodeSelector, :node_selector
|
30
31
|
alias_method :nodeName, :node_name
|
31
32
|
alias_method :restartPolicy, :restart_policy
|
@@ -48,6 +49,7 @@ module Metatron
|
|
48
49
|
@node_selector = {}
|
49
50
|
@persistent_volume_claims = []
|
50
51
|
@pod_annotations = {}
|
52
|
+
@priority_class_name = nil
|
51
53
|
@restart_policy = nil
|
52
54
|
@security_context = {}
|
53
55
|
@termination_grace_period_seconds = nil
|
@@ -82,6 +84,18 @@ module Metatron
|
|
82
84
|
pod_annotations && !pod_annotations.empty? ? { annotations: pod_annotations } : {}
|
83
85
|
end
|
84
86
|
|
87
|
+
def formatted_priority_class_name
|
88
|
+
return {} unless priority_class_name
|
89
|
+
|
90
|
+
if priority_class_name.is_a?(String)
|
91
|
+
{ priorityClassName: priority_class_name }
|
92
|
+
elsif priority_class_name.is_a?(PriorityClass)
|
93
|
+
{ priorityClassName: priority_class_name.name }
|
94
|
+
else
|
95
|
+
raise "priority_class_name must be a String or a PriorityClass"
|
96
|
+
end
|
97
|
+
end
|
98
|
+
|
85
99
|
def formatted_security_context
|
86
100
|
security_context && !security_context.empty? ? { securityContext: } : {}
|
87
101
|
end
|
@@ -138,6 +152,7 @@ module Metatron
|
|
138
152
|
.merge(formatted_init_containers)
|
139
153
|
.merge(formatted_image_pull_secrets)
|
140
154
|
.merge(formatted_node_selector)
|
155
|
+
.merge(formatted_priority_class_name)
|
141
156
|
.compact
|
142
157
|
}.compact
|
143
158
|
end
|
@@ -7,10 +7,13 @@ module Metatron
|
|
7
7
|
include Concerns::Annotated
|
8
8
|
include Concerns::Namespaced
|
9
9
|
|
10
|
-
attr_accessor :additional_labels, :
|
10
|
+
attr_accessor :additional_labels, :data_source, :data_source_ref, :storage_class,
|
11
|
+
:access_modes, :storage
|
11
12
|
|
12
13
|
alias storageClassName storage_class
|
13
14
|
alias accessModes access_modes
|
15
|
+
alias dataSource data_source
|
16
|
+
alias dataSourceRef data_source_ref
|
14
17
|
|
15
18
|
def initialize(
|
16
19
|
name,
|
@@ -22,6 +25,7 @@ module Metatron
|
|
22
25
|
@storage_class = storage_class
|
23
26
|
@access_modes = access_modes
|
24
27
|
@storage = storage
|
28
|
+
@data_source = {}
|
25
29
|
@additional_labels = {}
|
26
30
|
end
|
27
31
|
|
@@ -41,9 +45,33 @@ module Metatron
|
|
41
45
|
storage:
|
42
46
|
}
|
43
47
|
}
|
44
|
-
}
|
48
|
+
}.merge(formatted_data_source).merge(formatted_data_source_ref)
|
45
49
|
}
|
46
50
|
end
|
51
|
+
|
52
|
+
def formatted_data_source
|
53
|
+
return {} unless data_source && !data_source.empty?
|
54
|
+
raise "dataSource must be a Hash" unless data_source.is_a?(Hash)
|
55
|
+
|
56
|
+
valid_keys = %i[apiGroup kind name]
|
57
|
+
unless data_source.keys.all? { valid_keys.include?(_1.to_sym) }
|
58
|
+
raise "dataSource may contain only the keys: #{valid_keys.join(", ")}"
|
59
|
+
end
|
60
|
+
|
61
|
+
{ dataSource: data_source.transform_keys(&:to_sym) }
|
62
|
+
end
|
63
|
+
|
64
|
+
def formatted_data_source_ref
|
65
|
+
return {} unless data_source_ref && !data_source_ref.empty?
|
66
|
+
raise "dataSourceRef must be a Hash" unless data_source_ref.is_a?(Hash)
|
67
|
+
|
68
|
+
valid_keys = %i[apiGroup kind name namespace]
|
69
|
+
unless data_source_ref.keys.all? { valid_keys.include?(_1.to_sym) }
|
70
|
+
raise "dataSourceRef may contain only the keys: #{valid_keys.join(", ")}"
|
71
|
+
end
|
72
|
+
|
73
|
+
{ dataSourceRef: data_source_ref.transform_keys(&:to_sym) }
|
74
|
+
end
|
47
75
|
end
|
48
76
|
end
|
49
77
|
end
|
@@ -0,0 +1,38 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Metatron
|
4
|
+
module Templates
|
5
|
+
# Template for the PriorityClass k8s resource
|
6
|
+
class PriorityClass < Template
|
7
|
+
include Concerns::Annotated
|
8
|
+
|
9
|
+
attr_accessor :additional_labels, :description, :global_default, :value
|
10
|
+
|
11
|
+
alias global_default? global_default
|
12
|
+
alias globalDefault global_default
|
13
|
+
|
14
|
+
def initialize(name)
|
15
|
+
super
|
16
|
+
@api_version = "scheduling.k8s.io/v1"
|
17
|
+
@additional_labels = {}
|
18
|
+
@description = nil
|
19
|
+
@global_default = false
|
20
|
+
@value = 0
|
21
|
+
end
|
22
|
+
|
23
|
+
def render
|
24
|
+
{
|
25
|
+
apiVersion:,
|
26
|
+
kind:,
|
27
|
+
metadata: {
|
28
|
+
name:,
|
29
|
+
labels: base_labels.merge(additional_labels)
|
30
|
+
}.merge(formatted_annotations),
|
31
|
+
description:,
|
32
|
+
globalDefault:,
|
33
|
+
value:
|
34
|
+
}.compact
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
data/lib/metatron/version.rb
CHANGED
data/lib/metatron.rb
CHANGED
@@ -35,6 +35,7 @@ require "metatron/templates/limit_range"
|
|
35
35
|
require "metatron/templates/namespace"
|
36
36
|
require "metatron/templates/network_policy"
|
37
37
|
require "metatron/templates/persistent_volume_claim"
|
38
|
+
require "metatron/templates/priority_class"
|
38
39
|
require "metatron/templates/replica_set"
|
39
40
|
require "metatron/templates/resource_quota"
|
40
41
|
require "metatron/templates/role"
|
data/metatron.gemspec
CHANGED
@@ -14,11 +14,12 @@ Gem::Specification.new do |spec|
|
|
14
14
|
|
15
15
|
spec.metadata["homepage_uri"] = spec.homepage
|
16
16
|
spec.metadata["source_code_uri"] = "https://github.com/jgnagy/metatron"
|
17
|
+
spec.metadata["changelog_uri"] = "https://github.com/jgnagy/metatron/blob/main/CHANGELOG.md"
|
17
18
|
|
18
19
|
# Specify which files should be added to the gem when it is released.
|
19
20
|
# The `git ls-files -z` loads the files in the RubyGem that have been added into git.
|
20
21
|
spec.files = Dir.chdir(File.expand_path(__dir__)) do
|
21
|
-
`git ls-files -z`.split("\x0").reject {
|
22
|
+
`git ls-files -z`.split("\x0").reject { _1.match(%r{^(test|spec|features)/}) }
|
22
23
|
end
|
23
24
|
spec.bindir = "exe"
|
24
25
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
@@ -0,0 +1,17 @@
|
|
1
|
+
{
|
2
|
+
"bootstrap-sha": "35ed7bd080d69b5e323fa748735b4a7ea885f224",
|
3
|
+
"last-release-sha": "35ed7bd080d69b5e323fa748735b4a7ea885f224",
|
4
|
+
"packages": {
|
5
|
+
".": {
|
6
|
+
"package-name": "metatron",
|
7
|
+
"changelog-path": "CHANGELOG.md",
|
8
|
+
"release-type": "ruby",
|
9
|
+
"bump-minor-pre-major": false,
|
10
|
+
"bump-patch-for-minor-pre-major": false,
|
11
|
+
"draft": false,
|
12
|
+
"prerelease": false,
|
13
|
+
"version-file": "lib/metatron/version.rb"
|
14
|
+
}
|
15
|
+
},
|
16
|
+
"$schema": "https://raw.githubusercontent.com/googleapis/release-please/main/schemas/config.json"
|
17
|
+
}
|
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.
|
4
|
+
version: 0.9.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: 2025-
|
11
|
+
date: 2025-02-17 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: json
|
@@ -219,11 +219,13 @@ executables: []
|
|
219
219
|
extensions: []
|
220
220
|
extra_rdoc_files: []
|
221
221
|
files:
|
222
|
+
- ".github/workflows/ci.yml"
|
222
223
|
- ".gitignore"
|
223
|
-
- ".
|
224
|
+
- ".release-please-manifest.json"
|
224
225
|
- ".rspec"
|
225
226
|
- ".rubocop.yml"
|
226
227
|
- ".ruby-version"
|
228
|
+
- CHANGELOG.md
|
227
229
|
- CODE_OF_CONDUCT.md
|
228
230
|
- CONTRIBUTING.md
|
229
231
|
- Gemfile
|
@@ -255,6 +257,7 @@ files:
|
|
255
257
|
- lib/metatron/templates/network_policy.rb
|
256
258
|
- lib/metatron/templates/persistent_volume_claim.rb
|
257
259
|
- lib/metatron/templates/pod.rb
|
260
|
+
- lib/metatron/templates/priority_class.rb
|
258
261
|
- lib/metatron/templates/replica_set.rb
|
259
262
|
- lib/metatron/templates/resource_quota.rb
|
260
263
|
- lib/metatron/templates/role.rb
|
@@ -265,15 +268,14 @@ files:
|
|
265
268
|
- lib/metatron/templates/stateful_set.rb
|
266
269
|
- lib/metatron/version.rb
|
267
270
|
- metatron.gemspec
|
268
|
-
-
|
269
|
-
- scripts/release.sh
|
270
|
-
- scripts/test.sh
|
271
|
+
- release-please-config.json
|
271
272
|
homepage: https://github.com/jgnagy/metatron
|
272
273
|
licenses:
|
273
274
|
- MIT
|
274
275
|
metadata:
|
275
276
|
homepage_uri: https://github.com/jgnagy/metatron
|
276
277
|
source_code_uri: https://github.com/jgnagy/metatron
|
278
|
+
changelog_uri: https://github.com/jgnagy/metatron/blob/main/CHANGELOG.md
|
277
279
|
post_install_message:
|
278
280
|
rdoc_options: []
|
279
281
|
require_paths:
|
data/.roxanne.yml
DELETED
data/scripts/build.sh
DELETED
data/scripts/release.sh
DELETED