Open
Conversation
|
Caution Review failedFailed to post review comments 📝 WalkthroughWalkthroughThis pull request introduces a comprehensive Go-based operator redesign with a new backend listener service (v2), message worker service, and gRPC-based streaming interfaces for pod and node updates. It includes extensive protobuf definitions, Kubernetes-native listeners, database schema extensions, Helm chart updates, and supporting build configuration across multiple architectures. Changes
Sequence Diagram(s)sequenceDiagram
participant Backend as Backend Server
participant Listener as Go Listener
participant K8s as Kubernetes API
participant Redis as Redis Stream
participant MessageWorker as Message Worker
participant Database as PostgreSQL
Backend->>Listener: InitBackend(gRPC)
Listener->>Database: Create/Update Backend
Listener->>Backend: InitBackendResponse
K8s->>Listener: Pod/Node Events
Listener->>Listener: Build UpdatePod/UpdateNode Message
Listener->>Redis: Push to Stream
Listener->>Backend: Send ACK
MessageWorker->>Redis: Consume from Stream
MessageWorker->>MessageWorker: Parse Protobuf Message
MessageWorker->>Database: Update Task/Node/Usage
MessageWorker->>Redis: Acknowledge Message
Backend->>Listener: NodeConditionStream (heartbeat)
Listener->>Database: Fetch Node Conditions
Listener->>Backend: Send Conditions + ACKs
Listener->>Listener: Report Progress
sequenceDiagram
participant Client as gRPC Client<br/>(Backend)
participant LS as ListenerService
participant Redis as Redis
participant PG as PostgreSQL
Client->>LS: ListenerStream(messages)
activate LS
LS->>Redis: pushMessageToRedis(ListenerMessage)
LS->>Client: AckMessage
LS->>LS: reportProgress()
Client->>LS: More Messages...
LS->>Redis: pushMessageToRedis(ListenerMessage)
Client->>LS: Close Stream
deactivate LS
Client->>LS: InitBackend(InitBackendRequest)
activate LS
LS->>PG: CreateOrUpdateBackend
LS->>Redis: Push backend operation notification
LS->>Client: InitBackendResponse
deactivate LS
Client->>LS: NodeConditionStream(heartbeats)
activate LS
LS->>PG: FetchBackendNodeConditions
LS->>Client: Send NodeConditionsMessage
Client->>LS: Heartbeat
LS->>PG: UpdateBackendLastHeartbeat
LS->>Redis: BLPOP for node condition actions
LS->>Client: Send updated conditions
deactivate LS
Estimated code review effort🎯 4 (Complex) | ⏱️ ~75 minutes Poem
✨ Finishing Touches
🧪 Generate unit tests (beta)
|
cypres
approved these changes
Mar 12, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Issue #147
Checklist
Summary by CodeRabbit
Release Notes
New Features
Documentation
Tests