-
Notifications
You must be signed in to change notification settings - Fork 2
feat: support sync when update gateway proxy #109
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: support sync when update gateway proxy #109
Conversation
Signed-off-by: ashing <[email protected]>
conformance test reportapiVersion: gateway.networking.k8s.io/v1
date: "2025-04-24T18:17:45Z"
gatewayAPIChannel: standard
gatewayAPIVersion: v1.2.0
implementation:
contact: null
organization: API7
project: api7-ingress-controller
url: https://github.com/api7/api7-ingress-controller.git
version: v2.0.0
kind: ConformanceReport
mode: default
profiles:
- core:
result: partial
skippedTests:
- GatewayInvalidTLSConfiguration
- GatewaySecretInvalidReferenceGrant
- GatewaySecretMissingReferenceGrant
- GatewaySecretReferenceGrantAllInNamespace
- GatewaySecretReferenceGrantSpecific
- HTTPRouteExactPathMatching
- HTTPRouteHTTPSListener
- HTTPRouteHeaderMatching
- HTTPRouteHostnameIntersection
- HTTPRouteInvalidBackendRefUnknownKind
- HTTPRouteInvalidCrossNamespaceBackendRef
- HTTPRouteInvalidCrossNamespaceParentRef
- HTTPRouteInvalidNonExistentBackendRef
- HTTPRouteInvalidParentRefNotMatchingSectionName
- HTTPRouteInvalidReferenceGrant
- HTTPRouteListenerHostnameMatching
- HTTPRouteMatching
- HTTPRouteMatchingAcrossRoutes
- HTTPRoutePartiallyInvalidViaInvalidReferenceGrant
- HTTPRouteReferenceGrant
- HTTPRouteRequestHeaderModifier
- HTTPRouteWeight
statistics:
Failed: 0
Passed: 11
Skipped: 22
name: GATEWAY-HTTP
summary: Core tests partially succeeded with 22 test skips. |
Signed-off-by: ashing <[email protected]>
Signed-off-by: ashing <[email protected]>
Signed-off-by: ashing <[email protected]>
Signed-off-by: ashing <[email protected]>
Signed-off-by: ashing <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR adds support for syncing resources when the GatewayProxy is updated by adjusting leader election settings, adding mutex locks to ADC execution, and updating various e2e tests to verify the changes.
- Updated e2e tests for Ingress, HTTPRoute, and Consumer to validate sync behavior after updating the GatewayProxy.
- Modified the ADC provider by introducing an execLock and refactoring the handling of ADC configuration values.
- Updated controller watchers and indexers to include GatewayProxy changes and improved leader election configuration.
Reviewed Changes
Copilot reviewed 13 out of 14 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| test/e2e/ingress/ingress.go | Updated externalName test and added new GatewayProxy sync test. |
| test/e2e/gatewayapi/httproute.go | Updated externalName test and added new HTTPRoute sync test. |
| test/e2e/framework/dashboard.go | Added an empty payload for GetDataplaneCertificates request. |
| test/e2e/crds/consumer.go | Added a consumer sync test case for GatewayProxy updates. |
| internal/provider/adc/adc.go | Introduced mutex execLock and refactored ADC config handling. |
| internal/controller/ingress_controller.go | Added GatewayProxy watch and simplified ingress class check. |
| internal/controller/indexer/indexer.go | Added index creation for IngressClassParametersRef. |
| internal/controller/httproute_controller.go | Added GatewayProxy watch for HTTPRoute reconciliation. |
| internal/controller/consumer_controller.go | Added GatewayProxy watch for Consumer reconciliation. |
| internal/controller/config/* | Updated leader election field names and durations. |
| config/samples/config.yaml | Updated leader election configuration sample values. |
Files not reviewed (1)
- Makefile: Language not supported
adcExecto prevent unforeseen issues caused by parallel execution of adcref: https://apiseven.feishu.cn/docx/E5EgdlVTAodihcxexUxcEqd3nhe#share-Vo3gdxfiXoyPXwx48k7cYwKgnHc