acoustic-carpenter-78188
03/21/2026, 1:53 AMRunLogsService implementation to the OSS Flyte repo, enabling the UI to stream pod logs for action attempts directly from Kubernetes.
Type
• Bug Fix
• Feature
• Plugin
Are all requirements met?
• Code completed
• Smoke tested
• Unit tests added
• Code documentation added
• Any pending items have an associated Issue
Complete description
Implements the RunLogsService with an extensible LogStreamer interface architecture:
• RunLogsService (orchestrator) — resolves LogContext from action events, delegates to a LogStreamer
• LogStreamer interface — abstracts log fetching so backends can be swapped (K8s direct, data proxy, etc.)
• K8sLogStreamer — reads pod logs directly via the K8s API, parses RFC3339Nano timestamps, and batches ~100 lines per response
• runs/setup.go — registers the service when K8sConfig is available
• 12 unit tests covering orchestrator logic (happy path, not found, DB errors, streamer errors) and K8s streamer logic (timestamp parsing, pod/container resolution)
The design mirrors the cloud implementation's separation of concerns but uses direct K8s pod log streaming instead of a data proxy.
Tracking Issue
NA
Follow-up issue
NA
• main
• #6583
• [V2] Add RunLogsService for streaming pod logs 👈
flyteorg/flyteacoustic-carpenter-78188
03/24/2026, 6:29 PM