OSAC-420: Configure console-proxy token issuer, CORS, and cert SANs - #262
Conversation
|
@sk-ilya: This pull request references OSAC-420 which is a valid jira issue. Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the task to target the "5.0.0" version, but no target version was set. DetailsIn response to this: Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository. |
WalkthroughThis pull request automates the configuration of the fulfillment-api external hostname for token issuance, CORS policy, and TLS certificate coverage across all deployment overlays and runtime initialization. Changes update documentation, add kustomize namespace-injection rules to five overlay environments, extend the osac-integration configuration with explicit external hostname patches, and introduce dynamic runtime patching in the setup script. ChangesExternal Hostname and Token Configuration Automation
Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes Possibly related PRs
Suggested reviewers
Poem
Security ConsiderationsRisk Severity: Medium | Impact: Certificate validation and token authentication This PR introduces critical security-relevant changes affecting TLS certificate coverage and token issuance configuration:
🔕 Pre-merge checks override appliedThe pre-merge checks have been overridden successfully. You can now proceed with the merge. Overridden by ❌ Failed checks (1 error, 1 warning)
✅ Passed checks (9 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
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. Comment |
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@scripts/prepare-fulfillment-service.sh`:
- Around line 187-189: The script currently reads api_route_host once
(api_route_host=$(oc get route -n "${INSTALLER_NAMESPACE}" fulfillment-api -o
jsonpath='{.status.ingress[0].host}') ) and fails immediately if empty; change
this to perform a bounded retry loop that re-queries oc up to a configured max
attempts (e.g., MAX_RETRIES) with a short sleep between attempts, updating
api_route_host each iteration, and only exit with error after retries are
exhausted; once a non-empty api_route_host is obtained set
issuer_url="https://${api_route_host}" as before.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Repository: osac-project/coderabbit/.coderabbit.yaml
Review profile: ASSERTIVE
Plan: Enterprise
Run ID: 0d4beadd-fc8d-446c-b39b-0c1ad979aa87
📒 Files selected for processing (8)
README.mdoverlays/caas-ci/console-proxy-replacements.yamloverlays/development/console-proxy-replacements.yamloverlays/hypershift2/console-proxy-replacements.yamloverlays/osac-integration/console-proxy-replacements.yamloverlays/osac-integration/kustomization.yamloverlays/vmaas-ci/console-proxy-replacements.yamlscripts/prepare-fulfillment-service.sh
… SANs Propagate the fulfillment-api namespace into ingress-proxy certificate dnsNames across all overlays so TLS covers namespace-qualified FQDNs. Add token-signer, token-issuer, and CORS flags to osac-integration. Auto-discover and patch these values at deploy time in setup.sh. Update README with new overlay configuration steps. Assisted-by: Claude Code <noreply@anthropic.com>
|
/lgtm |
|
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: omer-vishlitzky, sk-ilya The full list of commands accepted by this bot can be found here. The pull request process is described here DetailsNeeds approval from an approver in each of these files:
Approvers can indicate their approval by writing |
Align the fulfillment-service
console-proxyauth and TLS hostnames with the actual FQDNs used by clients. This ensures the tokenissclaim, derived JWKS endpoint, CORS origin checks, and certificate SANs all point at hostnames that are actually reachable and covered by TLS.Update the
fulfillment-apicertificate SANs across overlays to use the correct namespace-qualified service DNS names. Forosac-integration, also add the external route hostname to the token issuer, CORS origin, and certificate SANs, and updatesetup.shto auto-discover and apply the same route-based values at deploy time (covers development overlays as well).Summary by CodeRabbit
Documentation
Bug Fixes