fix progress file#695
Conversation
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
📝 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)
|
The base branch was changed.
9290f1c to
4a087fe
Compare
Description
Issue #147
Checklist
Summary by CodeRabbit
Release Notes
New Features
Documentation
Tests