Skip to content

feat: add OpenShift deployment via Helm chart#22

Open
luis5tb wants to merge 4 commits into
RHEcosystemAppEng:mainfrom
luis5tb:ocp
Open

feat: add OpenShift deployment via Helm chart#22
luis5tb wants to merge 4 commits into
RHEcosystemAppEng:mainfrom
luis5tb:ocp

Conversation

@luis5tb
Copy link
Copy Markdown
Collaborator

@luis5tb luis5tb commented Mar 11, 2026

Add a Helm chart under deploy/openshift/ with configurable values for deploying the Lightspeed Agent on OpenShift without the Google Cloud Marketplace handler. Introduces SKIP_ORDER_VALIDATION setting to bypass marketplace order-id checks while preserving JWT token introspection.

luis5tb and others added 3 commits May 13, 2026 14:07
Add a Helm chart under deploy/openshift/ for deploying the Lightspeed
Agent on OpenShift. Supports two deployment modes:

- hybrid: agent + Redis on OCP, marketplace handler stays on Cloud Run
- standalone: everything on OCP (agent, handler, UI, PostgreSQL, Redis)

Includes templates for all components (agent with MCP sidecar,
marketplace handler, PostgreSQL, Redis), OpenShift Routes, ConfigMap,
Secrets, and PVCs. Security hardening with runAsNonRoot, Redis
authentication, and handler/UI as ClusterIP-only services.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Add a browser-based standalone UI for testing the agent in standalone
mode. The UI drives the full order lifecycle:

1. Create Order — sends simulated Pub/Sub events to provision an
   entitlement (ENTITLEMENT_CREATION_REQUESTED + ENTITLEMENT_ACTIVE)
2. Register Client — DCR with a self-signed JWT referencing the real
   order ID, creating an OAuth client in Red Hat SSO
3. Get Token — client credentials grant against SSO (with CORS
   fallback via curl)
4. A2A Client — send messages to the agent with the token
5. Reset — cancels the entitlement and clears all credentials

The UI runs behind nginx with a reverse proxy to the handler's internal
ClusterIP service (/api/handler/), so the handler is never publicly
exposed. CSP is tightened, HTML sanitizer covers SVG/style/math/data
URI vectors, and the marked CDN is pinned to a specific version.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Introduce two new settings for OpenShift deployments without the Google
Cloud Marketplace:

- SKIP_ORDER_VALIDATION: bypasses marketplace order-id checks while
  preserving JWT token introspection. Required for hybrid mode (no
  local marketplace DB). Blocked in Cloud Run via K_SERVICE guard.

- SKIP_DCR_JWT_VALIDATION: bypasses DCR software_statement JWT
  signature verification only — account and order validation still
  run against the local database (tightened from the initial
  implementation that skipped all validation).

Add comprehensive README with architecture diagrams, deployment
instructions for both hybrid and standalone modes, configuration
reference, and post-install NOTES.txt.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…ition

DCR-created clients on Red Hat SSO do not have service accounts or
direct access grants enabled, making client_credentials and password
grants unusable. Switch the standalone UI to the authorization code
flow:

- Display the SSO authorization URL for users to open manually
- Generate a curl --data-urlencode command for the token exchange
  instead of using fetch() (which would consume the single-use code
  via CORS even when the response is blocked)
- Omit redirect_uri from both auth and exchange requests (SSO uses
  the registered default)
- Document the /etc/hosts workaround to prevent the Vertex AI
  redirect page from consuming the authorization code

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@luis5tb luis5tb changed the title [WIP] feat: add OpenShift deployment via Helm chart feat: add OpenShift deployment via Helm chart May 13, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant