Skip to content

Commit 5b653a3

Browse files
committed
fix test
1 parent 529fca8 commit 5b653a3

File tree

3 files changed

+47
-1
lines changed

3 files changed

+47
-1
lines changed

internal/manager/controllers.go

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -150,6 +150,14 @@ func setupControllers(ctx context.Context, mgr manager.Manager, pro provider.Pro
150150
Updater: updater,
151151
Readier: readier,
152152
},
153+
&v1alpha1.Consumer{}: &controller.ConsumerReconciler{
154+
Client: mgr.GetClient(),
155+
Scheme: mgr.GetScheme(),
156+
Log: ctrl.LoggerFrom(ctx).WithName("controllers").WithName(types.KindConsumer),
157+
Provider: pro,
158+
Updater: updater,
159+
Readier: readier,
160+
},
153161
&netv1.Ingress{}: &controller.IngressReconciler{
154162
Client: mgr.GetClient(),
155163
Scheme: mgr.GetScheme(),

internal/provider/api7ee/provider.go

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -98,6 +98,9 @@ func (d *api7eeProvider) Update(ctx context.Context, tctx *provider.TranslateCon
9898
case *gatewayv1.HTTPRoute:
9999
result, err = d.translator.TranslateHTTPRoute(tctx, t.DeepCopy())
100100
resourceTypes = append(resourceTypes, "service")
101+
case *gatewayv1.GRPCRoute:
102+
result, err = d.translator.TranslateGRPCRoute(tctx, t.DeepCopy())
103+
resourceTypes = append(resourceTypes, adctypes.TypeService)
101104
case *gatewayv1.Gateway:
102105
result, err = d.translator.TranslateGateway(tctx, t.DeepCopy())
103106
resourceTypes = append(resourceTypes, "global_rule", "ssl", "plugin_metadata")
@@ -176,7 +179,7 @@ func (d *api7eeProvider) Delete(ctx context.Context, obj client.Object) error {
176179
var resourceTypes []string
177180
var labels map[string]string
178181
switch obj.(type) {
179-
case *gatewayv1.HTTPRoute, *apiv2.ApisixRoute:
182+
case *gatewayv1.HTTPRoute, *apiv2.ApisixRoute, *gatewayv1.GRPCRoute:
180183
resourceTypes = append(resourceTypes, "service")
181184
labels = label.GenLabel(obj)
182185
case *gatewayv1.Gateway:

internal/provider/api7ee/status.go

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -143,6 +143,41 @@ func (d *api7eeProvider) updateStatus(nnk types.NamespacedNameKind, condition me
143143
return cp
144144
}),
145145
})
146+
case types.KindGRPCRoute:
147+
parentRefs := d.client.ConfigManager.GetConfigRefsByResourceKey(nnk)
148+
log.Debugw("updating GRPCRoute status", zap.Any("parentRefs", parentRefs))
149+
gatewayRefs := map[types.NamespacedNameKind]struct{}{}
150+
for _, parentRef := range parentRefs {
151+
if parentRef.Kind == types.KindGateway {
152+
gatewayRefs[parentRef] = struct{}{}
153+
}
154+
}
155+
d.updater.Update(status.Update{
156+
NamespacedName: nnk.NamespacedName(),
157+
Resource: &gatewayv1.GRPCRoute{},
158+
Mutator: status.MutatorFunc(func(obj client.Object) client.Object {
159+
cp := obj.(*gatewayv1.GRPCRoute).DeepCopy()
160+
gatewayNs := cp.GetNamespace()
161+
for i, ref := range cp.Status.Parents {
162+
ns := gatewayNs
163+
if ref.ParentRef.Namespace != nil {
164+
ns = string(*ref.ParentRef.Namespace)
165+
}
166+
if ref.ParentRef.Kind == nil || *ref.ParentRef.Kind == types.KindGateway {
167+
nnk := types.NamespacedNameKind{
168+
Name: string(ref.ParentRef.Name),
169+
Namespace: ns,
170+
Kind: types.KindGateway,
171+
}
172+
if _, ok := gatewayRefs[nnk]; ok {
173+
ref.Conditions = cutils.MergeCondition(ref.Conditions, condition)
174+
cp.Status.Parents[i] = ref
175+
}
176+
}
177+
}
178+
return cp
179+
}),
180+
})
146181
}
147182
}
148183

0 commit comments

Comments
 (0)