Skip to content
This repository was archived by the owner on Dec 11, 2023. It is now read-only.

Commit 708d927

Browse files
author
odacremolbap
committed
reconciler triggers even if not ready
1 parent 8460461 commit 708d927

File tree

2 files changed

+21
-17
lines changed

2 files changed

+21
-17
lines changed

pkg/reconciler/redisbroker/reconcile_secret.go

Lines changed: 19 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -103,48 +103,52 @@ func (r *secretReconciler) buildConfigSecret(ctx context.Context, rb *eventingv1
103103
"Failed to list triggers: %w", err)
104104
}
105105

106-
// TODO triggers must have resolved the URI, check status.
107-
108106
cfg := &config.Config{}
109107
for _, t := range triggers {
110-
if !t.ReferencesBroker(rb) {
108+
// Generate secret even if the trigger is not ready, as long as one of the URIs for target
109+
// or DLS exist.
110+
if !t.ReferencesBroker(rb) || (t.Status.TargetURI == nil && t.Status.DeadLetterSinkURI == nil) {
111111
continue
112112
}
113113

114-
target := ""
115-
if t.Spec.Target.URI != nil {
116-
target = t.Spec.Target.URI.String()
117-
// } else {
118-
// TODO resolve target to URL
114+
targetURI := ""
115+
if t.Status.TargetURI != nil {
116+
targetURI = t.Status.TargetURI.String()
117+
} else {
118+
// Configure empty URL so that all requests go to DLS when the target is
119+
// not ready.
120+
targetURI = "http://"
119121
}
120122

121-
// TODO convert DeliveryOptions
122123
do := &config.DeliveryOptions{}
123124
if t.Spec.Delivery != nil {
124125
do.Retry = t.Spec.Delivery.Retry
125126
do.BackoffDelay = t.Spec.Delivery.BackoffDelay
126127

127128
if t.Spec.Delivery.BackoffPolicy != nil {
129+
var bop config.BackoffPolicyType
128130
switch *t.Spec.Delivery.BackoffPolicy {
129131
case duckv1.BackoffPolicyLinear:
130-
*do.BackoffPolicy = config.BackoffPolicyLinear
132+
bop = config.BackoffPolicyLinear
131133

132134
case duckv1.BackoffPolicyExponential:
133-
*do.BackoffPolicy = config.BackoffPolicyExponential
135+
bop = config.BackoffPolicyLinear
134136
}
137+
do.BackoffPolicy = &bop
135138
}
136139

137-
// TODO resolve reference to URI
138-
uri := t.Spec.Delivery.DeadLetterSink.URI.String()
139-
do.DeadLetterURL = &uri
140+
if t.Status.DeadLetterSinkURI != nil {
141+
uri := t.Status.DeadLetterSinkURI.String()
142+
do.DeadLetterURL = &uri
143+
}
140144
}
141145

142146
trg := config.Trigger{
143147
Name: t.Name,
144148
Filters: t.Spec.Filters,
145149
Targets: []config.Target{
146150
{
147-
URL: target,
151+
URL: targetURI,
148152
DeliveryOptions: do,
149153
},
150154
},

pkg/reconciler/trigger/reconciler.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -102,14 +102,14 @@ func (r *Reconciler) resolveDLS(ctx context.Context, t *eventingv1alpha1.Trigger
102102
dlsURI, err := r.uriResolver.URIFromDestinationV1(ctx, *t.Spec.Delivery.DeadLetterSink, t)
103103
if err != nil {
104104
logging.FromContext(ctx).Errorw("Unable to get the dead letter sink's URI", zap.Error(err))
105-
t.Status.MarkTargetResolvedFailed("Unable to get the dead letter sink's URI", "%v", err)
105+
t.Status.MarkDeadLetterSinkResolvedFailed("Unable to get the dead letter sink's URI", "%v", err)
106106
t.Status.TargetURI = nil
107107
return pkgreconciler.NewEvent(corev1.EventTypeWarning, reconciler.ReasonFailedResolveReference,
108108
"Failed to get dead letter sink's URI: %w", err)
109109
}
110110

111111
t.Status.DeadLetterSinkURI = dlsURI
112-
t.Status.MarkDeadLetterSinkNotConfigured()
112+
t.Status.MarkDeadLetterSinkResolvedSucceeded()
113113

114114
return nil
115115
}

0 commit comments

Comments
 (0)