Skip to content

add more tests but they need the signature feature#793

Open
entlein wants to merge 22 commits into
kubescape:sign-apfrom
k8sstormcenter:upstream-pr/sign-ap-tests
Open

add more tests but they need the signature feature#793
entlein wants to merge 22 commits into
kubescape:sign-apfrom
k8sstormcenter:upstream-pr/sign-ap-tests

Conversation

@entlein
Copy link
Copy Markdown

@entlein entlein commented Apr 25, 2026

Overview

Tests for signed APs assuming the new storage is used

put an [x] in the box to get it checked

  • My code follows the style guidelines of this project
  • I have commented on my code, particularly in hard-to-understand areas
  • I have performed a self-review of my code
  • If it is a core feature, I have added thorough tests.
  • New and existing unit tests pass locally with my changes

Only contains tests

matthyx and others added 21 commits March 11, 2026 17:46
Implement generic signing and verification framework for ApplicationProfiles
and SeccompProfiles using ECDSA P-256 signatures compatible with cosign.

Key features:
- SignableProfile interface for extensible profile type support
- Keyless signing support using OIDC identity providers
- Key-based signing for offline/air-gapped environments
- Signature storage in profile metadata.annotations
- CLI tool (sign-profile) for signing and verifying profiles
- Automatic verification in ApplicationProfileCache on profile load

Core implementation:
- pkg/signature/ package with ECDSA P-256 signing/verification
- Profile adapters for ApplicationProfile and SeccompProfile
- EnableProfileVerification config flag (default: false)
- On verification failure: skip profile with warning (don't crash)

Files:
- pkg/signature/annotations.go, interface.go, sign.go, verify.go
- pkg/signature/cosign_adapter.go, signer.go, verifier.go
- pkg/signature/profiles/applicationprofile_adapter.go
- pkg/signature/profiles/seccompprofile_adapter.go
- cmd/sign-profile/main.go
- pkg/config/config.go - add EnableProfileVerification flag
- pkg/objectcache/applicationprofilecache/ - integrate verification at load time
- docs/signing/README.md - comprehensive documentation

Tests:
- 15 signature package tests covering signing, verification, tampering detection
- 5 adapter tests for ApplicationProfile and SeccompProfile adapters
- All tests passing

Co-authored-by: Cerebras Agent <193945191+isaact-cerebras@users.noreply.github.com>
Signed-off-by: Matthias Bertschy <matthias.bertschy@gmail.com>
Co-authored-by: Cerebras Agent <193945191+isaact-cerebras@users.noreply.github.com>
Signed-off-by: Matthias Bertschy <matthias.bertschy@gmail.com>
Signed-off-by: Matthias Bertschy <matthias.bertschy@gmail.com>
Signed-off-by: Matthias Bertschy <matthias.bertschy@gmail.com>
Signed-off-by: Matthias Bertschy <matthias.bertschy@gmail.com>
Signed-off-by: Matthias Bertschy <matthias.bertschy@gmail.com>
Signed-off-by: Matthias Bertschy <matthias.bertschy@gmail.com>
Signed-off-by: Matthias Bertschy <matthias.bertschy@gmail.com>
Signed-off-by: Matthias Bertschy <matthias.bertschy@gmail.com>
Signed-off-by: Matthias Bertschy <matthias.bertschy@gmail.com>
Signed-off-by: Matthias Bertschy <matthias.bertschy@gmail.com>
Signed-off-by: Matthias Bertschy <matthias.bertschy@gmail.com>
- Implement RulesAdapter implementing SignableProfile interface
- Add signature verification in RulesWatcher when enabled
- Pass config to RulesWatcher to enable profile verification toggle
- Add comprehensive tests for rules signing and verification
- Track skipped rules due to verification failures in logs
- Maintain consistent behavior with application and seccomp profiles

Co-authored-by: Cerebras Agent <193945191+isaact-cerebras@users.noreply.github.com>
Signed-off-by: Matthias Bertschy <matthias.bertschy@gmail.com>
Signed-off-by: Matthias Bertschy <matthias.bertschy@gmail.com>
Signed-off-by: Matthias Bertschy <matthias.bertschy@gmail.com>
Signed-off-by: Matthias Bertschy <matthias.bertschy@gmail.com>
Signed-off-by: Matthias Bertschy <matthias.bertschy@gmail.com>
Signed-off-by: Matthias Bertschy <matthias.bertschy@gmail.com>
Signed-off-by: Matthias Bertschy <matthias.bertschy@gmail.com>
Signed-off-by: Matthias Bertschy <matthias.bertschy@gmail.com>
Signed-off-by: entlein <einentlein@gmail.com>
@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented Apr 25, 2026

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: eab378c9-1d08-4f1a-8f4b-6208ec57f225

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

…y need the nodeagent/sign-ap PR and the storage PR to run

Signed-off-by: entlein <einentlein@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: WIP

Development

Successfully merging this pull request may close these issues.

2 participants