Add Ray Cluster and Ray Job contributing guide for open source developers#986
Open
Add Ray Cluster and Ray Job contributing guide for open source developers#986
Conversation
Add comprehensive contributing guide for open source developers working on Ray Cluster and Ray Job controller implementations. This guide provides: - Architecture overview with codebase navigation map - States vs Conditions explanation (proto enums vs controller tracking) - Testing foundations with shared mock patterns - Ray Cluster Controller deep dive (reconciliation, lifecycle, patterns) - Ray Job Controller deep dive (cluster dependency, state machine) - Starlark Plugin & Activities layer integration - KubeRay CRD integration patterns - Common code contribution tasks with step-by-step workflows The guide is contributor-focused (not operator-focused), covering code modifications, controller patterns, and testing. Includes real code snippets with file references, ASCII flow diagrams, comparison tables, and practical examples. Reviewed and validated by: - Engineer (technical accuracy - 1 error found and fixed) - Tech-Writer (documentation quality - 11 items applied) - Product-Manager (open source alignment - approved) Total: 620 lines with all review feedback incorporated.
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.
Summary
This PR adds a comprehensive contributing guide for open source developers working on Ray Cluster and Ray Job controller implementations in Michelangelo.
Motivation
External contributors and new team members need clear guidance on:
This guide fills that gap by providing developer-focused documentation for the Ray codebase.
What's Included
Architecture & Navigation (Lines 1-106)
Testing Foundations (Lines 107-161)
Ray Cluster Controller (Lines 162-310)
Ray Job Controller (Lines 311-450)
Starlark Plugin & Activities (Lines 451-532)
KubeRay Integration (Lines 533-550)
Common Tasks (Lines 551-619)
Scope
This is a developer contributing guide, not an operator guide. It focuses on:
It does NOT cover:
Review Process
All team reviews completed with feedback incorporated:
Product Manager Review
Tech-Writer Review (11 items)
Engineer Review (Technical Accuracy)
Structure Decision: Testing Before Controllers
The guide uses a "Testing Foundations before Controllers" structure (Modified Option A):
Key Design Decisions
Files Modified
docs/contributing/ray-contributing-guide.md(new file, 620 lines)Testing
Follow-up Work
This guide focuses on Ray controllers. Future guides should cover:
Related