kettle-dev 2.5.0 → 2.5.1
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
- checksums.yaml.gz.sig +0 -0
- data/CHANGELOG.md +16 -1
- data/README.md +1 -1
- data/lib/kettle/dev/release_cli.rb +2 -0
- data/lib/kettle/dev/release_secrets.rb +10 -4
- data/lib/kettle/dev/version.rb +1 -1
- data.tar.gz.sig +0 -0
- metadata +4 -4
- metadata.gz.sig +0 -0
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 9975348ccc03484b31a14bcb13b9da4191f2296547d72c7866b35cd603fd66cd
|
|
4
|
+
data.tar.gz: 87918a8f059258b36fe87ceb242eb1d8abe4ee8e18a7a5ddf9a04a0be8679b55
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 21373f304fbeeae9a69c93596f68cf718ae0c61432e4bd527a447702f8f50357eb0b9ec226758438049415a3d222672388e01792ceb12ba64456463dff12ad2f
|
|
7
|
+
data.tar.gz: 78250942ecb9f4d6b5adc5635cf5e4b3151f82d8c5a968913361e984dede50852103c912eae25153e59c939e97b0d73f7bdfc9faf01c8bbc853a081a1316167f
|
checksums.yaml.gz.sig
CHANGED
|
Binary file
|
data/CHANGELOG.md
CHANGED
|
@@ -30,6 +30,19 @@ Please file a bug if you notice a violation of semantic versioning.
|
|
|
30
30
|
|
|
31
31
|
### Security
|
|
32
32
|
|
|
33
|
+
## [2.5.1] - 2026-07-27
|
|
34
|
+
|
|
35
|
+
- TAG: [v2.5.1][2.5.1t]
|
|
36
|
+
- COVERAGE: 91.69% -- 4590/5006 lines in 42 files
|
|
37
|
+
- BRANCH COVERAGE: 76.20% -- 1748/2294 branches in 42 files
|
|
38
|
+
- 56.21% documented
|
|
39
|
+
|
|
40
|
+
### Fixed
|
|
41
|
+
|
|
42
|
+
- `kettle-release --secrets-provider 1password` now supports
|
|
43
|
+
`KETTLE_RELEASE_1PASSWORD_CLI` for systems where the `op` executable is not
|
|
44
|
+
available on PATH.
|
|
45
|
+
|
|
33
46
|
## [2.5.0] - 2026-07-26
|
|
34
47
|
|
|
35
48
|
- TAG: [v2.5.0][2.5.0t]
|
|
@@ -2880,7 +2893,9 @@ Please file a bug if you notice a violation of semantic versioning.
|
|
|
2880
2893
|
- Selecting will run the selected workflow via `act`
|
|
2881
2894
|
- This may move to its own gem in the future.
|
|
2882
2895
|
|
|
2883
|
-
[Unreleased]: https://github.com/kettle-dev/kettle-dev/compare/v2.5.
|
|
2896
|
+
[Unreleased]: https://github.com/kettle-dev/kettle-dev/compare/v2.5.1...HEAD
|
|
2897
|
+
[2.5.1]: https://github.com/kettle-dev/kettle-dev/compare/v2.5.0...v2.5.1
|
|
2898
|
+
[2.5.1t]: https://github.com/kettle-dev/kettle-dev/releases/tag/v2.5.1
|
|
2884
2899
|
[2.5.0]: https://github.com/kettle-dev/kettle-dev/compare/v2.4.6...v2.5.0
|
|
2885
2900
|
[2.5.0t]: https://github.com/kettle-dev/kettle-dev/releases/tag/v2.5.0
|
|
2886
2901
|
[2.4.6]: https://github.com/kettle-dev/kettle-dev/compare/v2.4.5...v2.4.6
|
data/README.md
CHANGED
|
@@ -1005,7 +1005,7 @@ Thanks for RTFM. ☺️
|
|
|
1005
1005
|
[📌gitmoji]: https://gitmoji.dev
|
|
1006
1006
|
[📌gitmoji-img]: https://img.shields.io/badge/gitmoji_commits-%20%F0%9F%98%9C%20%F0%9F%98%8D-34495e.svg?style=flat-square
|
|
1007
1007
|
[🧮kloc]: https://www.youtube.com/watch?v=dQw4w9WgXcQ
|
|
1008
|
-
[🧮kloc-img]: https://img.shields.io/badge/KLOC-5.
|
|
1008
|
+
[🧮kloc-img]: https://img.shields.io/badge/KLOC-5.006-FFDD67.svg?style=for-the-badge&logo=YouTube&logoColor=blue
|
|
1009
1009
|
[🔐security]: https://github.com/kettle-dev/kettle-dev/blob/main/SECURITY.md
|
|
1010
1010
|
[🔐security-img]: https://img.shields.io/badge/security-policy-259D6C.svg?style=flat
|
|
1011
1011
|
[📄copyright-notice-explainer]: https://opensource.stackexchange.com/questions/5778/why-do-licenses-such-as-the-mit-license-specify-a-single-year
|
|
@@ -1106,6 +1106,8 @@ module Kettle
|
|
|
1106
1106
|
KETTLE_RELEASE_1PASSWORD_GEM_SIGNING_PASSPHRASE_FIELD=GEM-SIGN-PASSPHRASE
|
|
1107
1107
|
Or provide an explicit reference:
|
|
1108
1108
|
KETTLE_RELEASE_1PASSWORD_GEM_SIGNING_PASSPHRASE_REFERENCE=op://<vault>/<item>/<field>
|
|
1109
|
+
If `op` is installed outside PATH:
|
|
1110
|
+
KETTLE_RELEASE_1PASSWORD_CLI=/absolute/path/to/op
|
|
1109
1111
|
Ensure `op` is installed and signed in. Secret prompts are not allowed when --secrets-provider is set.
|
|
1110
1112
|
MSG
|
|
1111
1113
|
end
|
|
@@ -20,6 +20,7 @@ module Kettle
|
|
|
20
20
|
class OnePassword < Provider
|
|
21
21
|
PROVIDER_NAMES = %w[1password onepassword op].freeze
|
|
22
22
|
DEFAULTS = {
|
|
23
|
+
"cli" => "op",
|
|
23
24
|
"item" => "Rubygems",
|
|
24
25
|
"gem_signing_passphrase_field" => "GEM-SIGN-PASSPHRASE",
|
|
25
26
|
"rubygems_otp_field" => "one-time password"
|
|
@@ -57,7 +58,7 @@ module Kettle
|
|
|
57
58
|
return read_reference(reference) unless reference.empty?
|
|
58
59
|
|
|
59
60
|
item = required_config("item")
|
|
60
|
-
argv = [
|
|
61
|
+
argv = [op_cli, "item", "get", item, "--otp"]
|
|
61
62
|
account = string_config("account")
|
|
62
63
|
argv.concat(["--account", account]) unless account.empty?
|
|
63
64
|
run_op(argv, purpose: "RubyGems OTP")
|
|
@@ -81,19 +82,23 @@ module Kettle
|
|
|
81
82
|
def item_field(field_key)
|
|
82
83
|
item = required_config("item")
|
|
83
84
|
field = required_config(field_key)
|
|
84
|
-
argv = [
|
|
85
|
+
argv = [op_cli, "item", "get", item, "--fields", "label=#{field}", "--reveal"]
|
|
85
86
|
account = string_config("account")
|
|
86
87
|
argv.concat(["--account", account]) unless account.empty?
|
|
87
88
|
run_op(argv, purpose: field_key.tr("_", " "))
|
|
88
89
|
end
|
|
89
90
|
|
|
90
91
|
def read_reference(reference)
|
|
91
|
-
argv = [
|
|
92
|
+
argv = [op_cli, "read", reference]
|
|
92
93
|
account = string_config("account")
|
|
93
94
|
argv.concat(["--account", account]) unless account.empty?
|
|
94
95
|
run_op(argv, purpose: "secret reference")
|
|
95
96
|
end
|
|
96
97
|
|
|
98
|
+
def op_cli
|
|
99
|
+
required_config("cli")
|
|
100
|
+
end
|
|
101
|
+
|
|
97
102
|
def run_op(argv, purpose:)
|
|
98
103
|
stdout, stderr, status = Open3.capture3(*argv)
|
|
99
104
|
return stdout.to_s.strip if status.success? && !stdout.to_s.strip.empty?
|
|
@@ -102,7 +107,7 @@ module Kettle
|
|
|
102
107
|
details = "op exited #{status.exitstatus}" if details.empty?
|
|
103
108
|
raise Kettle::Dev::Error, "1Password #{purpose} lookup failed: #{details}"
|
|
104
109
|
rescue Errno::ENOENT
|
|
105
|
-
raise Kettle::Dev::Error, "1Password CLI executable
|
|
110
|
+
raise Kettle::Dev::Error, "1Password CLI executable #{argv.first.inspect} was not found"
|
|
106
111
|
end
|
|
107
112
|
|
|
108
113
|
def required_config(key)
|
|
@@ -120,6 +125,7 @@ module Kettle
|
|
|
120
125
|
class Factory
|
|
121
126
|
ENV_KEYS = {
|
|
122
127
|
"account" => "KETTLE_RELEASE_1PASSWORD_ACCOUNT",
|
|
128
|
+
"cli" => "KETTLE_RELEASE_1PASSWORD_CLI",
|
|
123
129
|
"item" => "KETTLE_RELEASE_1PASSWORD_ITEM",
|
|
124
130
|
"gem_signing_passphrase_field" => "KETTLE_RELEASE_1PASSWORD_GEM_SIGNING_PASSPHRASE_FIELD",
|
|
125
131
|
"rubygems_otp_field" => "KETTLE_RELEASE_1PASSWORD_RUBYGEMS_OTP_FIELD",
|
data/lib/kettle/dev/version.rb
CHANGED
|
@@ -5,7 +5,7 @@ module Kettle
|
|
|
5
5
|
# Version namespace for this gem.
|
|
6
6
|
module Version
|
|
7
7
|
# Current gem version.
|
|
8
|
-
VERSION = "2.5.
|
|
8
|
+
VERSION = "2.5.1"
|
|
9
9
|
end
|
|
10
10
|
# Current gem version exposed at the traditional constant location.
|
|
11
11
|
VERSION = Version::VERSION # Traditional Constant Location
|
data.tar.gz.sig
CHANGED
|
Binary file
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: kettle-dev
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 2.5.
|
|
4
|
+
version: 2.5.1
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Peter H. Boling
|
|
@@ -395,10 +395,10 @@ licenses:
|
|
|
395
395
|
- AGPL-3.0-only
|
|
396
396
|
metadata:
|
|
397
397
|
homepage_uri: https://kettle-dev.galtzo.com
|
|
398
|
-
source_code_uri: https://github.com/kettle-dev/kettle-dev/tree/v2.5.
|
|
399
|
-
changelog_uri: https://github.com/kettle-dev/kettle-dev/blob/v2.5.
|
|
398
|
+
source_code_uri: https://github.com/kettle-dev/kettle-dev/tree/v2.5.1
|
|
399
|
+
changelog_uri: https://github.com/kettle-dev/kettle-dev/blob/v2.5.1/CHANGELOG.md
|
|
400
400
|
bug_tracker_uri: https://github.com/kettle-dev/kettle-dev/issues
|
|
401
|
-
documentation_uri: https://www.rubydoc.info/gems/kettle-dev/2.5.
|
|
401
|
+
documentation_uri: https://www.rubydoc.info/gems/kettle-dev/2.5.1
|
|
402
402
|
funding_uri: https://github.com/sponsors/pboling
|
|
403
403
|
wiki_uri: https://github.com/kettle-dev/kettle-dev/wiki
|
|
404
404
|
news_uri: https://www.railsbling.com/tags/kettle-dev
|
metadata.gz.sig
CHANGED
|
Binary file
|