Skip to content

Docs: update SPIRE signing demo for Kind and OpenShift - #334

Merged
pdettori merged 3 commits into
rossoctl:mainfrom
rh-dnagornuks:agentcard-spire-signing-demo-refactor
Jun 10, 2026
Merged

Docs: update SPIRE signing demo for Kind and OpenShift#334
pdettori merged 3 commits into
rossoctl:mainfrom
rh-dnagornuks:agentcard-spire-signing-demo-refactor

Conversation

@rh-dnagornuks

@rh-dnagornuks rh-dnagornuks commented May 7, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Update the SPIRE signing demo documentation for both Kind and OpenShift environments
  • Document Helm-based configuration for enabling AgentCard signature verification
  • Remove the static AgentCard manifest and rely on operator-generated AgentCard resources instead
  • Update demo scripts to use the generated weather-agent-deployment-card
  • Add troubleshooting guidance for image pull limits and building the agentcard-signer image locally/OpenShift
  • Delete agentcard-auto-discovery demo in preparation for DefaultConfigReconciler removal

Context

The previous SPIRE signing demo assumed a static AgentCard resource and focused primarily on a generic Kubernetes/SPIRE setup.

This PR updates the demo to align with the current operator behavior where AgentCard resources are generated automatically by the operator. It also improves the onboarding experience for both Kind and OpenShift users by documenting:

  • Recommended Kind setup using setup-kagenti.sh --with-spire
  • Required Helm values for signature verification
  • Trust bundle ConfigMap differences in OpenShift environments

The PR also removes the demo for auto agent card discovery as the reconciler responsible for reading the deployment label kagenti.io/type and generating an agent card will be removed as part of enforcing the AgentRuntime enrollment path.

Tests

  • Test the demo flow on both Kind and OpenShift clusters and verify that the agent card successfully signed and verified.

Made with Cursor

@akram

akram commented May 21, 2026

Copy link
Copy Markdown
Contributor

/hold
we are challenging an unexpected behaviour of the spiffe-helper sidecar here before merging that and see if the issue is still relevant

@rh-dnagornuks
rh-dnagornuks force-pushed the agentcard-spire-signing-demo-refactor branch from cc683eb to 9058c74 Compare May 21, 2026 10:05
@rh-dnagornuks
rh-dnagornuks marked this pull request as draft May 21, 2026 10:06
@rh-dnagornuks
rh-dnagornuks force-pushed the agentcard-spire-signing-demo-refactor branch from 9058c74 to d9e36d7 Compare June 10, 2026 10:13
@rh-dnagornuks rh-dnagornuks changed the title docs: update SPIRE signing demo for Kind and OpenShift Docs: update SPIRE signing demo for Kind and OpenShift Jun 10, 2026
@rh-dnagornuks
rh-dnagornuks marked this pull request as ready for review June 10, 2026 10:20
@rh-dnagornuks
rh-dnagornuks marked this pull request as draft June 10, 2026 15:22
@rh-dnagornuks
rh-dnagornuks marked this pull request as ready for review June 10, 2026 15:33
@pdettori

Copy link
Copy Markdown
Member

@rh-dnagornuks CI has been fixed - please rebase from upstream main and force push so we can check now with full CI

Document Kind/SPIRE setup and Helm-based signature verification
configuration, including an optional configMapKey override for the
OpenShift trust bundle format.

Remove the static AgentCard manifest and rely on the operator-generated
AgentCard (weather-agent-deployment-card).

Update demo and teardown scripts, and add troubleshooting guidance for
image pull rate limits and building the agentcard-signer image.

Signed-off-by: Daniels Nagornuks <dnagornu@redhat.com>

Assisted-By: Claude (Anthropic AI) <noreply@anthropic.com>
Add an explicit AgentRuntime CR for the weather-agent Deployment as the
forward-compatible way to register agents with the operator, in
preparation for AgentRuntime becoming mandatory for Agent enrollment.

Remove the kagenti.io/type=agent label from the Deployment metadata now
that the AgentRuntime CR is the authoritative enrollment mechanism.

Signed-off-by: Daniels Nagornuks <dnagornu@redhat.com>

Assisted-By: Claude (Anthropic AI) <noreply@anthropic.com>
…demo

Update demo scripts to use the correct AgentCard variable name generated by the controller.

Remove agentcard auto discovery demo in preparation for DefaultsConfigReconciler.

Signed-off-by: Daniels Nagornuks <dnagornu@redhat.com>
@rh-dnagornuks
rh-dnagornuks force-pushed the agentcard-spire-signing-demo-refactor branch from d9e36d7 to a79f1f2 Compare June 10, 2026 19:27

@pdettori pdettori left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM — clean docs/demo PR. All 16 CI checks pass (including E2E), commits signed-off, naming updates consistent across all affected scripts.

Re /hold: The hold from @akram (May 21) about spiffe-helper sidecar behavior appears orthogonal to this PR since it's docs-only and doesn't modify operator or sidecar code. No blocking label was applied.

Areas reviewed: Docs/Markdown, YAML/K8s manifests, Shell scripts
Commits: 3, all DCO signed-off
CI: All passing

@@ -27,61 +27,62 @@ The operator verifies the JWS signature using the x5c certificate chain embedded

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

suggestion (non-blocking): Consider adding a brief note explaining that the operator auto-generates the AgentCard from the AgentRuntime CR — users familiar with the previous manual agentcard.yaml step may wonder where it went.

@pdettori
pdettori merged commit 8297d92 into rossoctl:main Jun 10, 2026
16 checks passed
@github-project-automation github-project-automation Bot moved this from New /:ToDo to Done in Rossoctl Issue Prioritization Jun 10, 2026
@rh-dnagornuks

Copy link
Copy Markdown
Contributor Author

The /hold from Akram was when this PR originally provided OpenShift-specific workarounds as well as doc changes for issues described in #252, but after testing 3 weeks ago (as well as now) those issues don't occur anymore, but I thought the demos could still be refined. That issue can be closed I believe.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

4 participants