Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -21,11 +21,11 @@ require (
k8s.io/client-go v0.34.3
k8s.io/code-generator v0.34.3
knative.dev/caching v0.0.0-20260120130310-f1fc03b7f5ee
knative.dev/eventing v0.47.1-0.20260114135450-59b517c8aca0
knative.dev/eventing v0.47.1-0.20260126225531-cb840efa2fbb
knative.dev/hack v0.0.0-20260120115810-bf6758cba446
knative.dev/pkg v0.0.0-20260120122510-4a022ed9999a
knative.dev/reconciler-test v0.0.0-20260120021612-d1b946d91170
knative.dev/serving v0.47.1-0.20260120114710-eb0a7cdb497a
knative.dev/reconciler-test v0.0.0-20260120140419-4301404c03ce
knative.dev/serving v0.47.1-0.20260126164531-4004491765ef
sigs.k8s.io/yaml v1.6.0
)

Expand Down Expand Up @@ -163,7 +163,7 @@ require (
k8s.io/klog/v2 v2.130.1 // indirect
k8s.io/kube-openapi v0.0.0-20250710124328-f3f2b991d03b // indirect
k8s.io/utils v0.0.0-20250604170112-4c0f3b243397 // indirect
knative.dev/networking v0.0.0-20260114015531-08680aeb3f13 // indirect
knative.dev/networking v0.0.0-20260120131110-a7cdca238a0d // indirect
sigs.k8s.io/controller-runtime v0.19.0 // indirect
sigs.k8s.io/gateway-api v1.1.0 // indirect
sigs.k8s.io/json v0.0.0-20241014173422-cfa47c3a1cc8 // indirect
Expand Down
16 changes: 8 additions & 8 deletions go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -1714,18 +1714,18 @@ k8s.io/utils v0.0.0-20250604170112-4c0f3b243397 h1:hwvWFiBzdWw1FhfY1FooPn3kzWuJ8
k8s.io/utils v0.0.0-20250604170112-4c0f3b243397/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0=
knative.dev/caching v0.0.0-20260120130310-f1fc03b7f5ee h1:PQeck4SikqOc1i/VS1I4EV1vXM5xCuiZvGXLnPTpffQ=
knative.dev/caching v0.0.0-20260120130310-f1fc03b7f5ee/go.mod h1:zvYGzvJrjoLGJ3NHV/J6KIiJsvK8vm32V/xpTB/FLwc=
knative.dev/eventing v0.47.1-0.20260114135450-59b517c8aca0 h1:CvNtQXuqmWrMvNlzav8qFU4dv5wM1H9JbzP/pUaKqJo=
knative.dev/eventing v0.47.1-0.20260114135450-59b517c8aca0/go.mod h1:jzeVf6j2Ba13KsUIQ4gAY1rtPQfQd4wgOVrSgG+0QEI=
knative.dev/eventing v0.47.1-0.20260126225531-cb840efa2fbb h1:cokLprP7InWi/f/BLtggVxuXQ3E789NwHyMwUTUxvpc=
knative.dev/eventing v0.47.1-0.20260126225531-cb840efa2fbb/go.mod h1:IFPgtLfE39zQAXTsgWTJdKjdCp3ehekqmosQu6CHS2A=
knative.dev/hack v0.0.0-20260120115810-bf6758cba446 h1:Y8raYHIuAL9/gUKGYD9/dD+EqUTmrpqVDowzfUVSlGs=
knative.dev/hack v0.0.0-20260120115810-bf6758cba446/go.mod h1:L5RzHgbvam0u8QFHfzCX6MKxu/a/gIGEdaRBqNiVbl0=
knative.dev/networking v0.0.0-20260114015531-08680aeb3f13 h1:dhFHl3kmoGIiA2t/zFau82+UgRHkNb679i/rNlnkGJU=
knative.dev/networking v0.0.0-20260114015531-08680aeb3f13/go.mod h1:RVlA1sIvgY31tmiTz5mnTmMQHccmz0eTchqjt8FjgNg=
knative.dev/networking v0.0.0-20260120131110-a7cdca238a0d h1:QQ5QeH5MZlYdu6gRGGjmEBQ/CVoatiXKnVIrUoKlj4U=
knative.dev/networking v0.0.0-20260120131110-a7cdca238a0d/go.mod h1:mZD2edO8op3zI6yLOn1yoz8xqbyZfrrDOJCbYElMEKs=
knative.dev/pkg v0.0.0-20260120122510-4a022ed9999a h1:9f29OTA7w/iVIX6PS6yveVVzNbcUS74eQfchVe8o2/4=
knative.dev/pkg v0.0.0-20260120122510-4a022ed9999a/go.mod h1:Tz3GoxcNC5vH3Zo//cW3mnHL474u+Y1wbsUIZ11p8No=
knative.dev/reconciler-test v0.0.0-20260120021612-d1b946d91170 h1:siTPzFfjDWnhpmGgmzwbXfU7NkipB9HGFGZL4n4fT1k=
knative.dev/reconciler-test v0.0.0-20260120021612-d1b946d91170/go.mod h1:YsisaEbweHy5OWWRnhivSPfXJU1QGoUnGOdTAZ+L1FA=
knative.dev/serving v0.47.1-0.20260120114710-eb0a7cdb497a h1:hRxmikOBYsJOTDeFzrsDtaXNM/UkpeRiiiAR25tHx6U=
knative.dev/serving v0.47.1-0.20260120114710-eb0a7cdb497a/go.mod h1:c6yVOux8zsx1WCDPBxrSzZ+Fj0BlzFDJ/u/iljlUCOg=
knative.dev/reconciler-test v0.0.0-20260120140419-4301404c03ce h1:pIQCFDsDTRkzrJZDTs2laryYOI6VpcnGF5zezL0NXOw=
knative.dev/reconciler-test v0.0.0-20260120140419-4301404c03ce/go.mod h1:FUaadFiniAaqqBp/D2g2cO/FUABVR8W4yZd2azDzp7I=
knative.dev/serving v0.47.1-0.20260126164531-4004491765ef h1:OUUg/Fws4IH+NZ0XdEpHdC8rgCJZYd2HwHGvMAP96eY=
knative.dev/serving v0.47.1-0.20260126164531-4004491765ef/go.mod h1:d9DFPD83Ce82LjYRkeRFRdISBhYficFp/OBUv5M6bLo=
nhooyr.io/websocket v1.8.6/go.mod h1:B70DZP8IakI65RVQ51MsWP/8jndNma26DVA/nFSCgW0=
pgregory.net/rapid v1.1.0 h1:CMa0sjHSru3puNx+J0MIAuiiEV4N0qj8/cMWGBBCsjw=
pgregory.net/rapid v1.1.0/go.mod h1:PY5XlDGj0+V1FCq0o192FdRhpKHGTRIWBgqjDBTrq04=
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -106,22 +106,51 @@ func (s *IntegrationSinkStatus) MarkEventPoliciesTrueWithReason(reason, messageF
IntegrationSinkCondSet.Manage(s).MarkTrueWithReason(IntegrationSinkConditionEventPoliciesReady, reason, messageFormat, messageA...)
}

func (s *IntegrationSinkStatus) PropagateDeploymentStatus(d *appsv1.DeploymentStatus) {
func (s *IntegrationSinkStatus) PropagateDeploymentStatus(d *appsv1.Deployment) {
// A deployment is fully rolled out when:
// 1. ObservedGeneration == Generation: controller has observed the latest spec
// 2. UpdatedReplicas == Replicas: all pods updated to the new pod template
// 3. AvailableReplicas == Replicas: all updated pods are ready
// This ensures EventPolicy changes have propagated to all pods before marking Ready.
desiredReplicas := int32(1)
if d.Spec.Replicas != nil {
desiredReplicas = *d.Spec.Replicas
}

deploymentFullyRolledOut := d.Status.ObservedGeneration == d.Generation &&
d.Status.UpdatedReplicas == desiredReplicas &&
d.Status.AvailableReplicas == desiredReplicas

if deploymentFullyRolledOut {
IntegrationSinkCondSet.Manage(s).MarkTrue(IntegrationSinkConditionDeploymentReady)
return
}

// Check deployment conditions for error states
deploymentAvailableFound := false
for _, cond := range d.Conditions {
for _, cond := range d.Status.Conditions {
if cond.Type == appsv1.DeploymentAvailable {
deploymentAvailableFound = true
if cond.Status == corev1.ConditionTrue {
IntegrationSinkCondSet.Manage(s).MarkTrue(IntegrationSinkConditionDeploymentReady)
} else if cond.Status == corev1.ConditionFalse {
if cond.Status == corev1.ConditionFalse {
IntegrationSinkCondSet.Manage(s).MarkFalse(IntegrationSinkConditionDeploymentReady, cond.Reason, cond.Message)
} else if cond.Status == corev1.ConditionUnknown {
IntegrationSinkCondSet.Manage(s).MarkUnknown(IntegrationSinkConditionDeploymentReady, cond.Reason, cond.Message)
return
}
}
// Also check Progressing condition for failures (e.g., ImagePullBackOff, insufficient quota)
if cond.Type == appsv1.DeploymentProgressing && cond.Status == corev1.ConditionFalse {
IntegrationSinkCondSet.Manage(s).MarkFalse(IntegrationSinkConditionDeploymentReady, cond.Reason, cond.Message)
return
}
}
if !deploymentAvailableFound {
IntegrationSinkCondSet.Manage(s).MarkUnknown(IntegrationSinkConditionDeploymentReady, "DeploymentUnavailable", "The Deployment '%s' is unavailable.", d)

// Deployment is progressing but not fully rolled out yet
if deploymentAvailableFound {
IntegrationSinkCondSet.Manage(s).MarkUnknown(IntegrationSinkConditionDeploymentReady,
"DeploymentRollingOut",
"Deployment rollout in progress: %d/%d replicas updated and available",
d.Status.AvailableReplicas, desiredReplicas)
} else {
IntegrationSinkCondSet.Manage(s).MarkUnknown(IntegrationSinkConditionDeploymentReady, "DeploymentUnavailable", "The Deployment is unavailable")
}
}

Expand Down
8 changes: 4 additions & 4 deletions vendor/modules.txt
Original file line number Diff line number Diff line change
Expand Up @@ -1508,7 +1508,7 @@ k8s.io/utils/trace
## explicit; go 1.24.0
knative.dev/caching/pkg/apis/caching
knative.dev/caching/pkg/apis/caching/v1alpha1
# knative.dev/eventing v0.47.1-0.20260114135450-59b517c8aca0
# knative.dev/eventing v0.47.1-0.20260126225531-cb840efa2fbb
## explicit; go 1.24.0
knative.dev/eventing/cmd/heartbeats
knative.dev/eventing/pkg/apis
Expand Down Expand Up @@ -1604,7 +1604,7 @@ knative.dev/eventing/test/upgrade/prober/wathola/sender
# knative.dev/hack v0.0.0-20260120115810-bf6758cba446
## explicit; go 1.24
knative.dev/hack
# knative.dev/networking v0.0.0-20260114015531-08680aeb3f13
# knative.dev/networking v0.0.0-20260120131110-a7cdca238a0d
## explicit; go 1.24.0
knative.dev/networking/pkg/apis/networking
knative.dev/networking/pkg/apis/networking/v1alpha1
Expand Down Expand Up @@ -1706,7 +1706,7 @@ knative.dev/pkg/webhook
knative.dev/pkg/webhook/certificates
knative.dev/pkg/webhook/certificates/resources
knative.dev/pkg/webhook/resourcesemantics/conversion
# knative.dev/reconciler-test v0.0.0-20260120021612-d1b946d91170
# knative.dev/reconciler-test v0.0.0-20260120140419-4301404c03ce
## explicit; go 1.24.0
knative.dev/reconciler-test/cmd/eventshub
knative.dev/reconciler-test/pkg/environment
Expand Down Expand Up @@ -1735,7 +1735,7 @@ knative.dev/reconciler-test/pkg/resources/service
knative.dev/reconciler-test/pkg/resources/serviceaccount
knative.dev/reconciler-test/pkg/state
knative.dev/reconciler-test/resources/certificate
# knative.dev/serving v0.47.1-0.20260120114710-eb0a7cdb497a
# knative.dev/serving v0.47.1-0.20260126164531-4004491765ef
## explicit; go 1.24.0
knative.dev/serving/pkg/apis/autoscaling
knative.dev/serving/pkg/apis/autoscaling/v1alpha1
Expand Down
Loading