Skip to content

Commit d438c90

Browse files
authored
Add helm 4 limited compatibility (#642)
1 parent c8c6bad commit d438c90

File tree

21 files changed

+1352
-170
lines changed

21 files changed

+1352
-170
lines changed

.github/workflows/ci.yaml

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -107,6 +107,10 @@ jobs:
107107
shell: bash
108108
jobs: 4
109109
helm-version: 3.16.4
110+
- os: ubuntu-24.04
111+
shell: bash
112+
jobs: 4
113+
helm-version: 4.0.0
110114
- os: ubuntu-24.04
111115
container: alpine
112116
shell: zsh
@@ -220,6 +224,7 @@ jobs:
220224
vals version
221225
222226
- name: Run helm-secrets w/o bats
227+
if: ${{ !startsWith(matrix.helm-version, '4') }}
223228
run: |-
224229
helm plugin install "${{ github.event_name == 'pull_request'
225230
&& format('{0}/{1}', github.server_url, github.event.pull_request.head.repo.full_name)
@@ -228,6 +233,16 @@ jobs:
228233
&& github.head_ref
229234
|| github.ref
230235
}}"
236+
helm plugin list
237+
helm secrets -v
238+
239+
- name: Run helm-secrets w/o bats
240+
if: ${{ startsWith(matrix.helm-version, '4') }}
241+
run: |-
242+
helm plugin install plugins/helm-secrets-cli
243+
helm plugin install plugins/helm-secrets-getter
244+
helm plugin install plugins/helm-secrets-post-renderer
245+
helm plugin list
231246
helm secrets -v
232247
233248
- name: HELM_SECRETS_BACKEND=sops bats --tap -r tests/unit

.github/workflows/release.yaml

Lines changed: 55 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,23 +10,77 @@ jobs:
1010
build:
1111
name: Create Release
1212
runs-on: ubuntu-latest
13+
environment: release
1314
permissions:
1415
contents: write
1516
steps:
1617
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
1718

19+
- name: Setup Helm
20+
uses: azure/setup-helm@1a275c3b69536ee54be43f2070a358922e12c8d4 # v4.3.1
21+
with:
22+
version: v4.0.0
23+
24+
- name: GPG configuration
25+
run: |-
26+
echo "$GPG_KEY" > "$GPG_KEY_PATH"
27+
mkdir -p "$HOME/.gnupg"
28+
chmod 0700 "$HOME/.gnupg"
29+
echo "use-agent" > "$HOME/.gnupg/gpg.conf"
30+
echo "pinentry-mode loopback" >> "$HOME/.gnupg/gpg.conf"
31+
echo "allow-loopback-pinentry" > "$HOME/.gnupg/gpg-agent.conf"
32+
echo "max-cache-ttl 86400" >> "$HOME/.gnupg/gpg-agent.conf"
33+
echo "default-cache-ttl 86400" >> "$HOME/.gnupg/gpg-agent.conf"
34+
gpgconf --kill gpg-agent
35+
gpgconf --launch gpg-agent
36+
echo "$GPG_PASSPHRASE" | gpg --batch --yes --passphrase-fd 0 --import "$GPG_KEY_PATH"
37+
echo "1F34F95B4F30BC5B06E0D7CC3F619F17002790D8:6:" | gpg --import-ownertrust
38+
env:
39+
GPG_KEY_ID: ${{ vars.GPG_KEY_ID }}
40+
GPG_KEY: ${{ secrets.GPG_KEY }}
41+
GPG_PASSPHRASE: ${{ secrets.GPG_PASSPHRASE }}
42+
GPG_KEY_PATH: "${{ runner.temp }}/private.key"
43+
1844
- name: Package helm-secrets
1945
run: tar --transform 's,^,helm-secrets/,' --exclude=contrib --exclude=examples --exclude=tests --exclude=helm-secrets.tar.gz -zcvf helm-secrets.tar.gz *
2046

47+
- name: Package helm-secrets-cli
48+
run: |
49+
rm -rf scripts
50+
cp -a ../../scripts .
51+
helm plugin package .
52+
working-directory: plugins/helm-secrets-cli
53+
54+
- name: Package helm-secrets-getter
55+
run: |
56+
rm -rf scripts
57+
cp -a ../../scripts .
58+
helm plugin package .
59+
working-directory: plugins/helm-secrets-getter
60+
61+
- name: Package helm-secrets-post-renderer
62+
run: |
63+
rm -rf scripts
64+
cp -a ../../scripts .
65+
helm plugin package .
66+
working-directory: plugins/helm-secrets-post-renderer
67+
68+
- name: Package helm-secrets-getter
69+
run: helm plugin package . --sign
70+
2171
- name: Create Release
2272
run: |
73+
find .
2374
gh release create ${{ github.ref_name }} \
2475
-t "Release ${{ github.ref_name }}" \
2576
-n "# CHANGELOG
2677
2778
* https://github.com/jkroepke/helm-secrets/blob/${{ github.ref_name }}/CHANGELOG.md" \
2879
${{ contains(github.ref_name, 'rc') && '--prerelease' || '--latest' }} \
29-
helm-secrets.tar.gz
80+
helm-secrets.tar.gz
81+
plugins/helm-secrets-cli/secrets-*.tgz
82+
plugins/helm-secrets-getter/secrets-*.tgz
83+
plugins/helm-secrets-post-renderer/secrets-*.tgz
3084
env:
3185
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
3286
docs:

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,3 +11,5 @@ coverage
1111

1212
test*.sh
1313
/vendor
14+
/helm
15+
*.tgz

CHANGELOG.md

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,11 @@ All notable changes to this project will be documented in this file.
55
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
66
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
77

8+
## [4.7.0] - 2025-11-16
9+
10+
### Added
11+
- Helm 4 support
12+
813
## [4.6.11] - 2025-10-19
914

1015
### Fixes
@@ -376,7 +381,8 @@ Started a fork of https://github.com/zendesk/helm-secrets
376381
- Verbose output is now on stderr
377382
- Support all helm sub commands and plugins
378383

379-
[Unreleased]: https://github.com/kroepke/helm-secrets/compare/v4.6.11...HEAD
384+
[Unreleased]: https://github.com/kroepke/helm-secrets/compare/v4.7.0...HEAD
385+
[4.7.0]: https://github.com/kroepke/helm-secrets/compare/v4.6.11...v4.7.0
380386
[4.6.11]: https://github.com/jkroepke/helm-secrets/compare/v4.6.10...v4.6.11
381387
[4.6.10]: https://github.com/jkroepke/helm-secrets/compare/v4.6.9...v4.6.10
382388
[4.6.9]: https://github.com/jkroepke/helm-secrets/compare/v4.6.8...v4.6.9

LICENSE

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
21
Apache License
32
Version 2.0, January 2004
43
http://www.apache.org/licenses/
@@ -187,7 +186,7 @@
187186
same "printed page" as the copyright notice for easier
188187
identification within third-party archives.
189188

190-
Copyright 2020 Jan-Otto Kröpke (jkroepke) <[email protected]>
189+
Copyright 2019 varintdev contributors
191190

192191
Licensed under the Apache License, Version 2.0 (the "License");
193192
you may not use this file except in compliance with the License.

0 commit comments

Comments
 (0)