-
Notifications
You must be signed in to change notification settings - Fork 5.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Umbrella issue - Revamping the Kubernetes Developer’s guide #3064
Comments
/sig contributor-experience |
Looks great, @eduartua! ❤️ /sig contributor-experience I know its more "developer guide" than contributor guide but would be useful to find/triage issues, so: |
I rewrote what I had in the doc, so this feels more like a real guide. We need to come to a consensus about the skeleton. |
Thank you so much for this, @eduartua! A couple thoughts, in no particular order: At the danger of repeating others, I want to point out the Python Developer Guide as a fantastic example of a very useable, helpful dev guide. Please ping me (here or on Slack) about files that are more a contributor guide topic than a technical dev guide topic that need to be deleted or still incorporated - I'm thinking In addition to I'm super excited for a top-level README to tell me where to build WHAT. 😉 |
Looking good to me for a start! A few small comments: The sections:
might better be:
In the deploy and run section I think some treatment needs given to the multitude of host platforms on which one might run. This also then relates to cloud provider code. I'm curious if @andrewsykim has thoughts on where best cloud provider developer content might fit into the guide. The Testing section probably should include a "conformance" section in addition to unit, integration and e2e. I see them as a sort of continuum: unit, integration, e2e, conformance. Debugging: This is a very broad section. It might make sense to seed some sub-categories, eg: control plane component specific, network communications, and client side. Security: Especially thinking about recent CVEs, I think it's critically important to give developers a sense of the general thread model against a running Kubernetes cluster and the implications |
Thank you @tpepper I will include those sections. |
I am going over the issues opened for similar items. They are All of this in some way connected in terms of the needs. @eduartua really summed that up in this issue so I would like to incorporate the the above mentioned issues in to this one. That does not mean close those issues bit rather address each one of those issues with @eduartua work here. The tasks for this body of work as I see it is as followed:
Note The ETA are not solid and may slip here and there |
I am starting my online documentation here: https://docs.google.com/document/d/1D7CZZLqKrByrPrXytmf1q5YWzTURL_r7_3KH9iCPgOE/edit?usp=sharing |
I continue to work on this. My hope is to have an initial pr in by end of this week |
@vishakhanihore kindly see the above |
/assign @vishakhanihore |
@markyjackson-taulia: GitHub didn't allow me to assign the following users: vishakhanihore. Note that only kubernetes members, repo collaborators and people who have commented on this issue/PR can be assigned. Additionally, issues/PRs can only have 10 assignees at the same time. In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
/assign @vishakhanihore |
@ameukam: GitHub didn't allow me to assign the following users: vishakhanihore. Note that only kubernetes members, repo collaborators and people who have commented on this issue/PR can be assigned. Additionally, issues/PRs can only have 10 assignees at the same time. In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
/assign |
/lifecycle frozen |
@vishakhanihore I am going to remove myself from assigned since you are now working on this. If you need any help please do let me know. Thanks kindly 😺 |
/unassign @markyjackson-taulia |
We need to break this down into workable chunks. This should be a focus meeting to do this |
I think this is safe to close for now. A good chunk has been merged or closed. We probably need to revisit it from the beginning :x /close |
@mrbobbytables: Closing this issue. In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
The contributor guide has been revamped. This is a mostly general guide for all who are getting ramped up on Kubernetes upstream contributions. We need to produce a section of that with the name “The developer guide”
As per #1919 and #892, and the content within the /devel folder, we have to decide a structure for the developer guide. It has to be in a way that new developers find it intuitive and well organized.
Primary goals:
This issue is an umbrella tracking issue.
Skeleton draft
We are going to build this thinking of two personas:
This initial work will be focused on the understanding of the internals required by persona 1. It is important to have a sense of how they come together to form a functional cluster and how that is used.
As a new developer, the following are the things I would like to read first in order to become familiar with the project:
Setting the dev environment - There is information about this but my feeling the first time I read it was that something was missing, something like a small example or tutorial testing dev tools after installation.
Getting the code (git workflow)
Concepts to which you must have familiarity and sources.
Communication channels
Where to ask for help or orientation - We have this in the contributing guide. SIGs, repos, mailing lists, IM/chat, meetings
Quick reference
Here are the basic steps needed to get set up and contribute.
Status of Kubernetes branches
A table with information like branch’s name, status about the kinds of contributions it accepts. Example: release branches that are N-3 only allow bug fixes, feature branches are used for feature work to be merged into master later, etc.
Code of Conduct
Both Persona 1 and 2 have in common the previous points.
Specific points for each persona:
Persona 1 (Code Contributor)
Understanding the architecture - Control Plane
Introduction to the assumptions kubernetes makes about the infrastructure resources where it is hosted, and overview of compute, network, storage abstractions:
Building
make TARGET
Deploying and running Kubernetes code
Testing
Debugging
A brief description of the best practices and methods used. This information can be taken from subprojects with well defined debugging processes.
Submitting a Pull Request
Lifecycle of a PR
How to work within the community to get agreement on some change to the code base.
Others
Persona 2 (Platform Developer)
Extending kubernetes.
To help out
Files to review
Files in the contributors/devel need to be scrubbed for the developer guide. Non-developer relevant topics should be moved over to other parts of the contributor repo or just be deleted. There might be some calls to make.
Check for:
Duplicate content that can be removed.
Might not be appropriate for the developer guide.
Might need to be deleted or combined with another document.
Might be blocked on waiting on another part of the contributor guide to be finished.
(Thanks to Guin here)
Pages to update
https://github.com/kubernetes/community/tree/master/contributors/devel/README.md
Folders to update
https://github.com/kubernetes/community/tree/master/contributors/devel
Inventory
I will be updating this issue on a daily basis.
The text was updated successfully, but these errors were encountered: