Conversation
…s imported to che-operator Signed-off-by: Anatolii Bazko <abazko@redhat.com>
|
Skipping CI for Draft Pull Request. |
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: tolusha The full list of commands accepted by this bot can be found here. DetailsNeeds approval from an approver in each of these files:Approvers can indicate their approval by writing |
|
Hi! I'm che-ai-assistant — I help with your pull requests. Available commands:
|
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
…s imported to che-operator Signed-off-by: Anatolii Bazko <abazko@redhat.com>
…s imported to che-operator Signed-off-by: Anatolii Bazko <abazko@redhat.com>
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as resolved.
This comment was marked as resolved.
…s imported to che-operator Signed-off-by: Anatolii Bazko <abazko@redhat.com>
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
…s imported to che-operator Signed-off-by: Anatolii Bazko <abazko@redhat.com>
This comment was marked as resolved.
This comment was marked as resolved.
…s imported to che-operator Signed-off-by: Anatolii Bazko <abazko@redhat.com>
…s imported to che-operator Signed-off-by: Anatolii Bazko <abazko@redhat.com>
This comment was marked as outdated.
This comment was marked as outdated.
…s imported to che-operator Signed-off-by: Anatolii Bazko <abazko@redhat.com>
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as duplicate.
This comment was marked as duplicate.
…s imported to che-operator Signed-off-by: Anatolii Bazko <abazko@redhat.com>
|
/che-ai-assistant ok-pr-review Review is complete. Please check the review comments below. |
tolusha
left a comment
There was a problem hiding this comment.
Comprehensive PR Review: Configure DWI with tlsCertificateConfigmapRef
I've completed a comprehensive review including standard code review, deep design analysis, and system-level impact assessment. Overall, this is a well-implemented PR with thorough test coverage that correctly addresses the linked issue.
✅ Summary
The PR successfully configures DevWorkspace Operator to trust CA certificates imported by che-operator by:
- Adding
updateTLSCertificateConfigmapRefto setTLSCertificateConfigmapRefwhenca-certs-mergedexists with data - Adding the
controller.devfile.io/watch-configmap=truelabel so DWO can watch certificate changes - Adding
SetControllerReferenceto 4 ConfigMaps for proper garbage collection
📋 Findings
⚠️ Items to Verify Before Merge
-
Owner reference on OpenShift CA bundle ConfigMap (
certificates.go:177)- Adding
SetControllerReferencemeans theca-bundleConfigMap will be garbage-collected when the CheCluster CR is deleted - On OpenShift, this ConfigMap may have existed before CheCluster and might be expected to survive deletion
- Please verify this is the desired behavior
- Adding
-
No watch on
ca-certs-mergedfor che-operator (dev_workspace_config.go:103)- Certificate changes won't propagate to DWO config until the next unrelated reconciliation trigger
- Consider adding a watch/informer for timely propagation or verify this delay is acceptable
💡 Suggestions (Non-blocking)
-
Test masking may hide cross-feature interference (
dev_workspace_config_scheduling_test.go:803)- Four test functions use
cmpopts.IgnoreFields(controllerv1alpha1.RoutingConfig{}, "TLSCertificateConfigmapRef") - While routing tests cover TLS thoroughly, this means tests won't detect if TLS accidentally interferes with other features
- Consider
assert.Equalon specific fields instead of broad ignore patterns
- Four test functions use
-
Check for ConfigMapEnsureLabels dead code (
diffs.go:44)DefaultsLabelKeyswas removed butConfigMapEnsureLabelsmay still exist- Verify with:
grep -r "ConfigMapEnsureLabels" --include="*.go"
-
Add error-path test (
dev_workspace_config.go:103)- Test case where
GetIgnoreNotFoundreturns an error would improve coverage
- Test case where
-
Document TypeMeta removal rationale
- TypeMeta setting was removed in multiple places (certificates.go lines 131-134, 240-243, 337-340)
- A comment explaining that
ClientWrapper.Synchandles this would help future maintainers
-
Clarify test expectations (
dev_workspace_config_routing_test.go:347)- Inconsistency between
niland&RoutingConfig{}expectations in "clear" tests - Comment explaining the implicit behavior would be helpful
- Inconsistency between
🎉 Excellent Work
- Comprehensive test coverage: 8 TLS test cases + 4 proxy composition tests
- Clean refactoring: 3328-line test file split into 6 focused files
- Thoughtful design:
GetLabelsAndAnnotationsis a genuine improvement - Operational improvement: Proper garbage collection via controller references
- Integration detail:
DevWorkspaceWatchConfigMapLabelenables DWO to react to updates
Verdict
💬 Comment - Ready to merge after verifying items 1 and 2 above. The suggestions are non-blocking improvements.
…s imported to che-operator
What does this PR do?
Screenshot/screencast of this PR
N/A
What issues does this PR fix or reference?
eclipse-che/che#23870
How to test this PR?
OpenShift
or
on Minikube
Common Test Scenarios
PR Checklist
As the author of this Pull Request I made sure that:
Reviewers
Reviewers, please comment how you tested the PR when approving it.