OSAC-1628: Make externalHostname and internalHostname mandatory - #727
openshift-merge-bot[bot] merged 1 commit into
Conversation
|
@jhernand: This pull request references OSAC-1628 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 bug 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. |
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Repository: osac-project/coderabbit/.coderabbit.yaml Review profile: ASSERTIVE Plan: Enterprise Run ID: 📒 Files selected for processing (6)
WalkthroughBoth ChangesHostname Required Enforcement
Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes Suggested reviewers
Poem
🚥 Pre-merge checks | ✅ 11✅ Passed checks (11 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
There was a problem hiding this comment.
Actionable comments posted: 2
🤖 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 `@charts/service/README.md`:
- Around line 30-31: In the service configuration table in the README.md file,
update the description for the `internalHostname` parameter to clarify that it
specifically refers to the internal API service rather than being ambiguous
about which APIs it accesses. Change the current description "Hostname used to
access both the public and private APIs (see note below)" to "Hostname used to
access the internal API (see note below)" to directly align with the actual
route template naming (fulfillment-internal-api) and eliminate confusion about
service routing. This makes the documentation consistent with the
externalHostname description pattern and the actual architecture implementation.
In `@charts/service/values.yaml`:
- Around line 39-45: The documentation comment for `internalHostname` contains
contradictory language where line 39-40 states the hostname is used to access
APIs "from outside the cluster" while lines 41-45 correctly clarify it should be
restricted to the administrator's internal network. Reword the opening
description (lines 39-40) to directly state this is the hostname used to access
the internal API endpoint and remove the misleading phrase "from outside the
cluster" to align with the network-restriction guidance in the subsequent lines.
Keep the clarification in lines 42-45 about authentication, authorization, and
the recommendation for network-level access restrictions as it correctly
describes the intended usage.
🪄 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: 683fbb95-e877-494d-914b-c535f1af4f22
📒 Files selected for processing (5)
charts/service/README.mdcharts/service/templates/_helpers.tplcharts/service/templates/ingress-proxy/certificate.yamlcharts/service/templates/route.yamlcharts/service/values.yaml
a75bca4 to
a5a88a9
Compare
a5a88a9 to
c0d2bcf
Compare
…umbrella chart The fulfillment-service subchart is making `externalHostname` and `internalHostname` mandatory because TLS certificates must include the correct hostnames and OpenShift cannot auto-generate Route hosts when certificates are pre-provisioned. These values cannot be auto-calculated at template time since the cluster's ingress domain is not available without cluster access. Add both parameters to the umbrella chart's default values, example values, and JSON schema (marked as required with `minLength: 1`). Populate all CI values files with example hostnames so that linting and integration workflows continue to pass. Update the helm-lint and helm-integration workflows to supply dummy hostnames when templating with environment values files, which intentionally leave the fields empty for operators to fill at deploy time. Related: https://redhat.atlassian.net/browse/OSAC-1628 Ref: osac-project/fulfillment-service#727 Assisted-by: Cursor Signed-off-by: Juan Hernandez <juan.hernandez@redhat.com>
The Helm chart previously fell back to auto-generated Kubernetes service hostnames when these values were not provided. That default only worked in the integration test environment and cannot work in real deployments because TLS certificates must include the correct host names. We also cannot let OpenShift auto-generate the hosts for routes, because we would have no way to issue certificates matching those names. Replace the fallback logic in the helper templates with Helm's `required` function so that rendering fails immediately with a clear error if either value is missing. Remove the conditionals that guarded the internal API Route and TLSRoute resources, since the hostname is now always present. Related: https://redhat.atlassian.net/browse/OSAC-1628 Assisted-by: Cursor Signed-off-by: Juan Hernandez <juan.hernandez@redhat.com>
c0d2bcf to
694ee01
Compare
|
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: adriengentil, jhernand, ygalblum 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 |
|
/retest |
1 similar comment
|
/retest |
|
@jhernand: The following test failed, say
Full PR test history. Your PR dashboard. DetailsInstructions 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 kubernetes-sigs/prow repository. I understand the commands that are listed here. |
Summary
externalHostnameandinternalHostnamerequired Helm values instead of falling back toauto-generated Kubernetes service hostnames. The defaults only worked in integration tests and
cannot work in real deployments because TLS certificates must include the correct host names.
requiredfunction for immediate, clear failures.Test plan
helm templatefails with a clear error when either hostname is omitted.helm templatesucceeds when both hostnames are provided.ginkgo run it) to confirm they still pass (they already set both values explicitly).Related: https://redhat.atlassian.net/browse/OSAC-1628
Summary by CodeRabbit
Documentation
Chores
Tests