1
0
mirror of synced 2026-07-09 18:20:48 +00:00
Commit Graph

3956 Commits

Author SHA1 Message Date
dependabot[bot] 4fa411d293 build(deps): bump the ci group across 1 directory with 14 updates
Bumps the ci group with 14 updates in the / directory:

| Package | From | To |
| --- | --- | --- |
| [actions/checkout](https://github.com/actions/checkout) | `6.0.3` | `7.0.0` |
| [actions/setup-go](https://github.com/actions/setup-go) | `6.0.0` | `6.5.0` |
| [fluxcd/gha-workflows/.github/workflows/backport.yaml](https://github.com/fluxcd/gha-workflows) | `0.11.0` | `0.12.0` |
| [fluxcd/pkg/actions/kustomize](https://github.com/fluxcd/pkg) | `1.33.0` | `1.37.0` |
| [fluxcd/pkg/actions/yq](https://github.com/fluxcd/pkg) | `1.33.0` | `1.37.0` |
| [docker/setup-qemu-action](https://github.com/docker/setup-qemu-action) | `4.1.0` | `4.2.0` |
| [docker/setup-buildx-action](https://github.com/docker/setup-buildx-action) | `4.1.0` | `4.2.0` |
| [docker/login-action](https://github.com/docker/login-action) | `4.2.0` | `4.4.0` |
| [github/codeql-action/upload-sarif](https://github.com/github/codeql-action) | `4.36.2` | `4.36.3` |
| [fluxcd/pkg/actions/crdjsonschema](https://github.com/fluxcd/pkg) | `1.33.0` | `1.37.0` |
| [goreleaser/goreleaser-action](https://github.com/goreleaser/goreleaser-action) | `7.2.2` | `7.2.3` |
| [fluxcd/gha-workflows/.github/workflows/code-scan.yaml](https://github.com/fluxcd/gha-workflows) | `0.11.0` | `0.12.0` |
| [fluxcd/gha-workflows/.github/workflows/labels-sync.yaml](https://github.com/fluxcd/gha-workflows) | `0.11.0` | `0.12.0` |
| [fluxcd/gha-workflows/.github/workflows/upgrade-fluxcd-pkg.yaml](https://github.com/fluxcd/gha-workflows) | `0.11.0` | `0.12.0` |



Updates `actions/checkout` from 6.0.3 to 7.0.0
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/df4cb1c069e1874edd31b4311f1884172cec0e10...9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0)

Updates `actions/setup-go` from 6.0.0 to 6.5.0
- [Release notes](https://github.com/actions/setup-go/releases)
- [Commits](https://github.com/actions/setup-go/compare/v6...924ae3a1cded613372ab5595356fb5720e22ba16)

Updates `fluxcd/gha-workflows/.github/workflows/backport.yaml` from 0.11.0 to 0.12.0
- [Release notes](https://github.com/fluxcd/gha-workflows/releases)
- [Commits](https://github.com/fluxcd/gha-workflows/compare/v0.11.0...v0.12.0)

Updates `fluxcd/pkg/actions/kustomize` from 1.33.0 to 1.37.0
- [Commits](https://github.com/fluxcd/pkg/compare/5a7f3ce0de742b6c561a50f90940d81cf6fc698d...f739e0e4fe5a645ee9d5edc1ebfd2eedef19eaed)

Updates `fluxcd/pkg/actions/yq` from 1.33.0 to 1.37.0
- [Commits](https://github.com/fluxcd/pkg/compare/5a7f3ce0de742b6c561a50f90940d81cf6fc698d...f739e0e4fe5a645ee9d5edc1ebfd2eedef19eaed)

Updates `docker/setup-qemu-action` from 4.1.0 to 4.2.0
- [Release notes](https://github.com/docker/setup-qemu-action/releases)
- [Commits](https://github.com/docker/setup-qemu-action/compare/06116385d9baf250c9f4dcb4858b16962ea869c3...96fe6ef7f33517b61c61be40b68a1882f3264fb8)

Updates `docker/setup-buildx-action` from 4.1.0 to 4.2.0
- [Release notes](https://github.com/docker/setup-buildx-action/releases)
- [Commits](https://github.com/docker/setup-buildx-action/compare/d7f5e7f509e45cec5c76c4d5afdd7de93d0b3df5...bb05f3f5519dd87d3ba754cc423b652a5edd6d2c)

Updates `docker/login-action` from 4.2.0 to 4.4.0
- [Release notes](https://github.com/docker/login-action/releases)
- [Commits](https://github.com/docker/login-action/compare/650006c6eb7dba73a995cc03b0b2d7f5ca915bee...af1e73f918a031802d376d3c8bbc3fe56130a9b0)

Updates `github/codeql-action/upload-sarif` from 4.36.2 to 4.36.3
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/codeql-action/compare/8aad20d150bbac5944a9f9d289da16a4b0d87c1e...54f647b7e1bb85c95cddabcd46b0c578ec92bc1a)

Updates `fluxcd/pkg/actions/crdjsonschema` from 1.33.0 to 1.37.0
- [Commits](https://github.com/fluxcd/pkg/compare/5a7f3ce0de742b6c561a50f90940d81cf6fc698d...f739e0e4fe5a645ee9d5edc1ebfd2eedef19eaed)

Updates `goreleaser/goreleaser-action` from 7.2.2 to 7.2.3
- [Release notes](https://github.com/goreleaser/goreleaser-action/releases)
- [Commits](https://github.com/goreleaser/goreleaser-action/compare/5daf1e915a5f0af01ddbcd89a43b8061ff4f1a89...f06c13b6b1a9625abc9e6e439d9c05a8f2190e94)

Updates `fluxcd/gha-workflows/.github/workflows/code-scan.yaml` from 0.11.0 to 0.12.0
- [Release notes](https://github.com/fluxcd/gha-workflows/releases)
- [Commits](https://github.com/fluxcd/gha-workflows/compare/v0.11.0...v0.12.0)

Updates `fluxcd/gha-workflows/.github/workflows/labels-sync.yaml` from 0.11.0 to 0.12.0
- [Release notes](https://github.com/fluxcd/gha-workflows/releases)
- [Commits](https://github.com/fluxcd/gha-workflows/compare/v0.11.0...v0.12.0)

Updates `fluxcd/gha-workflows/.github/workflows/upgrade-fluxcd-pkg.yaml` from 0.11.0 to 0.12.0
- [Release notes](https://github.com/fluxcd/gha-workflows/releases)
- [Commits](https://github.com/fluxcd/gha-workflows/compare/v0.11.0...v0.12.0)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: 7.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: ci
- dependency-name: actions/setup-go
  dependency-version: 6.5.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: ci
- dependency-name: fluxcd/gha-workflows/.github/workflows/backport.yaml
  dependency-version: 0.12.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: ci
- dependency-name: fluxcd/pkg/actions/kustomize
  dependency-version: 1.37.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: ci
- dependency-name: fluxcd/pkg/actions/yq
  dependency-version: 1.37.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: ci
- dependency-name: docker/setup-qemu-action
  dependency-version: 4.2.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: ci
- dependency-name: docker/setup-buildx-action
  dependency-version: 4.2.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: ci
- dependency-name: docker/login-action
  dependency-version: 4.4.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: ci
- dependency-name: github/codeql-action/upload-sarif
  dependency-version: 4.36.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: ci
- dependency-name: fluxcd/pkg/actions/crdjsonschema
  dependency-version: 1.37.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: ci
- dependency-name: goreleaser/goreleaser-action
  dependency-version: 7.2.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: ci
- dependency-name: fluxcd/gha-workflows/.github/workflows/code-scan.yaml
  dependency-version: 0.12.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: ci
- dependency-name: fluxcd/gha-workflows/.github/workflows/labels-sync.yaml
  dependency-version: 0.12.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: ci
- dependency-name: fluxcd/gha-workflows/.github/workflows/upgrade-fluxcd-pkg.yaml
  dependency-version: 0.12.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: ci
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-07-08 11:15:17 +00:00
Stefan Prodan 75f808c6a6 Merge pull request #5961 from Nordix/fix/e2e_workflows_update
Add checksum verification for SOPS in e2e workflows
2026-07-08 14:09:01 +03:00
ivonaest 4778834fb4 Add checksum verification for SOPS binary in e2e workflows
Signed-off-by: ivonaest <ivona.cvija@est.tech>
2026-07-08 10:46:10 +01:00
Matheus Pimenta 6dbec927e5 Merge pull request #5978 from fluxcd/update-components-main
Update toolkit components
2026-07-07 13:36:18 +01:00
fluxcdbot 4d7f7b4356 Update toolkit components
- helm-controller to v1.6.2
  https://github.com/fluxcd/helm-controller/blob/v1.6.2/CHANGELOG.md
- kustomize-controller to v1.9.2
  https://github.com/fluxcd/kustomize-controller/blob/v1.9.2/CHANGELOG.md
- source-controller to v1.9.2
  https://github.com/fluxcd/source-controller/blob/v1.9.2/CHANGELOG.md
- notification-controller to v1.9.2
  https://github.com/fluxcd/notification-controller/blob/v1.9.2/CHANGELOG.md
- image-reflector-controller to v1.2.2
  https://github.com/fluxcd/image-reflector-controller/blob/v1.2.2/CHANGELOG.md
- image-automation-controller to v1.2.2
  https://github.com/fluxcd/image-automation-controller/blob/v1.2.2/CHANGELOG.md
- source-watcher to v2.2.2
  https://github.com/fluxcd/source-watcher/blob/v2.2.2/CHANGELOG.md

Signed-off-by: GitHub <noreply@github.com>
2026-07-07 12:19:41 +00:00
Matheus Pimenta f61952f598 Merge pull request #5976 from fluxcd/update-pkg-deps/main
Update fluxcd/pkg dependencies
2026-07-06 14:35:06 +01:00
matheuscscp 9344c1e978 Update fluxcd/pkg dependencies
Signed-off-by: GitHub <noreply@github.com>
2026-07-06 12:57:37 +00:00
Matheus Pimenta 006ecb6b04 Merge pull request #5969 from fluxcd/fix-5968
Fix breaking change in-memory kustomization build
2026-07-02 09:11:20 +01:00
Matheus Pimenta 93174b454f Fix breaking change in-memory kustomization build
Signed-off-by: Matheus Pimenta <matheuscscp@gmail.com>
2026-07-02 09:00:19 +01:00
Matheus Pimenta c1f7f0b86a Merge pull request #5970 from fluxcd/label-2.9
Add backport label for 2.9
2026-07-02 08:11:28 +01:00
Matheus Pimenta 1275f96e06 Add backport label for 2.9
Signed-off-by: Matheus Pimenta <matheuscscp@gmail.com>
2026-07-01 23:24:21 +01:00
Matheus Pimenta dcc7def046 Merge pull request #5963 from fluxcd/update-components-main
Update toolkit components
v2.9.0
2026-06-30 14:00:51 +01:00
fluxcdbot dcf8165ce5 Update toolkit components
- helm-controller to v1.6.1
  https://github.com/fluxcd/helm-controller/blob/v1.6.1/CHANGELOG.md
- kustomize-controller to v1.9.1
  https://github.com/fluxcd/kustomize-controller/blob/v1.9.1/CHANGELOG.md
- source-controller to v1.9.1
  https://github.com/fluxcd/source-controller/blob/v1.9.1/CHANGELOG.md
- notification-controller to v1.9.1
  https://github.com/fluxcd/notification-controller/blob/v1.9.1/CHANGELOG.md
- image-reflector-controller to v1.2.1
  https://github.com/fluxcd/image-reflector-controller/blob/v1.2.1/CHANGELOG.md
- image-automation-controller to v1.2.1
  https://github.com/fluxcd/image-automation-controller/blob/v1.2.1/CHANGELOG.md
- source-watcher to v2.2.1
  https://github.com/fluxcd/source-watcher/blob/v2.2.1/CHANGELOG.md

Signed-off-by: GitHub <noreply@github.com>
2026-06-30 12:41:02 +00:00
Matheus Pimenta 3cacae31e8 Merge pull request #5892 from dme86/feat/oci-layer-selector
Add CLI support for OCIRepository.spec.layerSelector in flux create source oci
2026-06-30 09:21:28 +01:00
Dan Meier 5df79510e2 Use single OCI layer selector flag
Signed-off-by: Dan Meier <me.daniel.meier@gmail.com>
Assisted-by: Codex/gpt-5
2026-06-30 09:08:49 +01:00
Matheus Pimenta efc030ffe4 Merge pull request #5960 from fluxcd/update-pkg-deps/release/v2.9.x
Update fluxcd/pkg dependencies
2026-06-29 16:30:10 +01:00
matheuscscp 31c6ba34f7 Update fluxcd/pkg dependencies
Signed-off-by: GitHub <noreply@github.com>
2026-06-29 15:20:11 +00:00
Matheus Pimenta 03af1c5290 Merge pull request #5955 from gat786/test-plugin-install
feat: Install Plugins alongside Flux setup in gh actions
2026-06-29 11:18:34 +01:00
Matheus Pimenta ca5347f4b4 Improve docs for plugins action installation
Signed-off-by: Matheus Pimenta <matheuscscp@gmail.com>
2026-06-29 11:14:14 +01:00
Matheus Pimenta 4b7e9eef43 Add docs and tests for plugins setup
Signed-off-by: Matheus Pimenta <matheuscscp@gmail.com>
2026-06-29 10:44:24 +01:00
Matheus Pimenta bbf064e4fc Remove unneeded step env var
Signed-off-by: Matheus Pimenta <matheuscscp@gmail.com>
2026-06-29 10:09:24 +01:00
Matheus Pimenta 72c2a83e4f Simplify and sanitize plugin line parsing
Signed-off-by: Matheus Pimenta <matheuscscp@gmail.com>
2026-06-29 10:04:56 +01:00
Matheus Pimenta 8daa9b9ddf Add quotes to shell vars
Signed-off-by: Matheus Pimenta <matheuscscp@gmail.com>
2026-06-29 10:02:54 +01:00
Matheus Pimenta c888f28b2c Improve plugin-dir description
Signed-off-by: Matheus Pimenta <matheuscscp@gmail.com>
2026-06-29 09:40:46 +01:00
Matheus Pimenta 456d935ae1 Make plugin support gate rely on the CLI behavior instead of semver
Signed-off-by: Matheus Pimenta <matheuscscp@gmail.com>
2026-06-29 09:18:17 +01:00
Matheus Pimenta 2c1eec5c0f Make version gate validation error clearer
Signed-off-by: Matheus Pimenta <matheuscscp@gmail.com>
2026-06-29 09:08:39 +01:00
Ganesh Tiwari 542dbb5111 feat: add support for specifying plugins and plugin-dir
Signed-off-by: Ganesh Tiwari <ganesht049@gmail.com>
2026-06-29 09:52:37 +05:30
Matheus Pimenta 4d41251dbc Merge pull request #5957 from fluxcd/bug-ag
Fix using Receiver adapter for ArtifactGenerator
2026-06-28 22:21:55 +01:00
Matheus Pimenta 9c610bacd2 Fix using Receiver adapter for ArtifactGenerator
Signed-off-by: Matheus Pimenta <matheuscscp@gmail.com>
2026-06-28 20:57:43 +01:00
Matheus Pimenta 94c079c109 Merge pull request #5956 from fluxcd/upgrade-gg-prov
Upgrade go-git-providers to v0.27.0
2026-06-27 11:18:52 +01:00
Matheus Pimenta c04738c543 Upgrade go-git-providers to v0.27.0
Signed-off-by: Matheus Pimenta <matheuscscp@gmail.com>
2026-06-27 09:13:07 +01:00
Matheus Pimenta 6fe4f7b502 Merge pull request #5954 from fluxcd/fix-5949-5953
Fix `flux get all --status-selector` for empty results and notification resources
2026-06-26 11:11:37 +01:00
Matheus Pimenta 65d4635709 Fix 'flux get all --status-selector' for Alert and Provider
Signed-off-by: Matheus Pimenta <matheuscscp@gmail.com>
2026-06-25 12:16:35 +01:00
Matheus Pimenta cec25b5d1e Fix 'flux get all --status-selector' for empty results
Signed-off-by: Matheus Pimenta <matheuscscp@gmail.com>
2026-06-25 12:16:24 +01:00
Matheus Pimenta cd0ffe0151 Merge pull request #5952 from 3uzbcqje/status-selector-negation
cmd: support `type!=status` in get --status-selector
2026-06-25 08:41:21 +01:00
Matheus Pimenta f234f2f26f Simplify status filter in get command
Signed-off-by: Matheus Pimenta <matheuscscp@gmail.com>
2026-06-25 08:27:45 +01:00
3uzbcqje 5afd1d8728 cmd: support type!=status in get --status-selector
`flux get --status-selector` only supported equality (`type=status`),
so finding objects that are not in a given state required multiple
invocations, e.g. listing everything that is not ready needed both
`Ready=False` and `Ready=Unknown`.

Add support for a negated selector `type!=status`. Since all resource
adapters delegate matching to the shared `statusMatches` helper and
filtering is centralised in `getRowsToPrint`, negation is implemented
purely in the parse/filter layer by inverting the match result. This
covers every resource type and the `--watch` path without touching the
per-resource adapters.

A missing condition is treated as not-matching by `statusMatches` (Flux
considers it "waiting to be reconciled"), so `Ready!=True` also surfaces
objects that have no Ready condition yet, i.e. the complete not-ready set:

    flux get all -A --status-selector Ready!=True

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Signed-off-by: 3uzbcqje <3uzbcqje@addy.to>
2026-06-24 10:53:37 -07:00
Matheus Pimenta e833099e1d Merge pull request #5937 from fluxcd/update-pkg-deps/main
Update fluxcd/pkg dependencies
2026-06-24 16:55:28 +01:00
matheuscscp b4cf45fc95 Update fluxcd/pkg dependencies
Signed-off-by: GitHub <noreply@github.com>
2026-06-24 15:27:06 +00:00
Matheus Pimenta 3e49729349 Merge pull request #5950 from fluxcd/update-components-main
Update toolkit components
2026-06-24 16:16:20 +01:00
Matheus Pimenta 9a68454996 Fix Receiver type
Signed-off-by: Matheus Pimenta <matheuscscp@gmail.com>
2026-06-24 16:00:20 +01:00
fluxcdbot 9f995dfec0 Update toolkit components
- notification-controller to v1.9.0
  https://github.com/fluxcd/notification-controller/blob/v1.9.0/CHANGELOG.md
- source-watcher to v2.2.0
  https://github.com/fluxcd/source-watcher/blob/v2.2.0/CHANGELOG.md

Signed-off-by: GitHub <noreply@github.com>
2026-06-24 14:50:36 +00:00
Matheus Pimenta 65d975b490 Merge pull request #5920 from fluxcd/feat/ssh-commit-signing
Allow signing commits using SSH key
2026-06-19 18:52:13 +01:00
Hidde Beydals 96fda4cd56 Reject ssh-signing-reuse early in github and gitea
`bootstrap github` and `bootstrap gitea` generate the SSH transport
key in-process, so they have no operator-supplied key to reuse for
commit signing. Both subcommands already reject
`--ssh-signing-reuse-private-key` with a provider-specific
"not supported" error, but the check sat after `bootstrapValidate`,
which fails first with the generic
"--ssh-signing-reuse-private-key requires --private-key-file"
message. A user invoking e.g. `flux bootstrap github
--ssh-signing-reuse-private-key` is told to set a flag that the
subcommand cannot honour anyway, masking the real problem.

Move the unsupported-flag rejection to the top of each `RunE` —
before the interactive PAT prompt and before `bootstrapValidate` —
so the provider-specific error wins. The deeper, now-redundant
check is dropped. `TestBootstrapProviderRejectsReuseBeforeValidate`
exercises both subcommands with the reuse flag set and no
`--private-key-file` to lock in the precedence.

Assisted-by: claude/opus-4.7
Signed-off-by: Hidde Beydals <hidde@hhh.computer>
2026-06-19 15:03:54 +02:00
Hidde Beydals 2ca3468423 Return error for public-only GPG signing keyring
`SelectOpenPGPSigningEntity` selects `keyRing[0]` when no key id is
supplied and then calls `entity.PrivateKey.Decrypt` directly. For a
keyring that contains only public keys — e.g. an armor-exported
public key file — `PrivateKey` is `nil` and the call panics with a
nil pointer dereference rather than surfacing an actionable error.
The keyed branch already guards against this; the default branch
did not.

Guard the default branch with the same nil check and return an
error pointing at `gpg --export-secret-keys` or `--gpg-key-id` so
the user knows how to recover. Cover the public-only-keyring case
in `TestSelectOpenPGPSigningEntity` so a future regression cannot
re-introduce the panic.

Assisted-by: claude/opus-4.7
Signed-off-by: Hidde Beydals <hidde@hhh.computer>
2026-06-19 15:03:54 +02:00
Hidde Beydals 4f45409697 Seed defaultComponents in bootstrap signing tests
`resetCmdArgs` in `main_test.go` rebuilds `bootstrapArgs` from
`NewBootstrapFlags`, which deliberately omits the cobra-populated
`defaultComponents`. In the `e2e` build, `TestMain` runs `flux install
…` before any test executes; that call triggers the reset and leaves
`bootstrapArgs.defaultComponents` empty for the lifetime of the
process. `bootstrapValidate` then trips on its `requiredComponents`
pre-check and fails with "component source-controller is required"
before it ever reaches the SSH/GPG signing flag validation that this
test cares about.

Save, seed, and restore `defaultComponents` per subtest so the
required-component check passes regardless of whether the test runs
under the plain or the `e2e` build tag.

Assisted-by: claude/opus-4.7
Signed-off-by: Hidde Beydals <hidde@hhh.computer>
2026-06-19 15:03:46 +02:00
Hidde Beydals 923a8ae394 Cover signingKey round-trip in export tests
Extends the existing TestExport 'image update' case with a signingKey
block on the seeded ImageUpdateAutomation, asserting the new field
survives the kubeClient.Get + serialize path. Parallels how the
existing fixture exercises every other field on the resource.

Signed-off-by: Hidde Beydals <hidde@hhh.computer>
2026-06-18 16:21:19 +02:00
Hidde Beydals 4e8c13ba59 Cover create image update signing flags
Adds golden-file tests for the new --signing-key-secret and
--signing-key-type flags: no-signing (baseline), default-gpg (asserts
type is omitted when only the secret is set, deferring to the
controller's gpg default), ssh, and the two validation-error cases.
Establishes cmd/flux/testdata/create_image_update/ for future
expansion of this command's coverage.

Signed-off-by: Hidde Beydals <hidde@hhh.computer>
2026-06-18 16:21:18 +02:00
Hidde Beydals 61316ccca7 Add signing-key flags to create image update
Closes a pre-existing gap where the ImageUpdateAutomation SigningKey
field was reachable only by hand-editing the rendered YAML. The two
new flags --signing-key-secret and --signing-key-type populate the
spec.git.commit.signingKey block directly.

When --signing-key-secret is set without --signing-key-type, the run
function leaves spec.git.commit.signingKey.type empty so the
controller's documented default ('gpg' when type is unset[1]) applies
server-side rather than baking the choice into the rendered YAML.
Validation rejects --signing-key-type without --signing-key-secret
and rejects values outside {gpg, ssh}, using the typed
SigningKeyType constants exported from the image-automation-
controller API so the validator and populator share a single source
of truth.

[1]: https://github.com/fluxcd/image-automation-controller/pull/1035

Signed-off-by: Hidde Beydals <hidde@hhh.computer>
2026-06-18 16:21:14 +02:00
Hidde Beydals 43574215a6 Test bootstrap signing flag validation
Covers the validation matrix of the new --gpg-* / --ssh-signing-*
surface: mutual exclusion (across GPG/SSH groups and within the SSH
group between --ssh-signing-key-file and --ssh-signing-reuse-private-
key), alias resolution between --ssh-signing-password and
--ssh-signing-passphrase, the dependency checks (--ssh-signing-
password requires --ssh-signing-key-file; --ssh-signing-reuse-
private-key requires --private-key-file), and pre-flight key-parse
failures (malformed PEM, encrypted SSH key without passphrase, GPG
ring with wrong passphrase). Test keys are checked in so the test
does not depend on local ssh-keygen or gpg invocations at run time.

Signed-off-by: Hidde Beydals <hidde@hhh.computer>
2026-06-18 14:40:43 +02:00