<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Getting Started on Kubernetes Contributors</title><link>https://deploy-preview-846--kubernetes-contributor.netlify.app/docs/guide/</link><description>Recent content in Getting Started on Kubernetes Contributors</description><generator>Hugo</generator><language>en</language><atom:link href="https://deploy-preview-846--kubernetes-contributor.netlify.app/docs/guide/index.xml" rel="self" type="application/rss+xml"/><item><title>Making your First Contribution</title><link>https://deploy-preview-846--kubernetes-contributor.netlify.app/docs/guide/first-contribution/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://deploy-preview-846--kubernetes-contributor.netlify.app/docs/guide/first-contribution/</guid><description>&lt;ul>
&lt;li>&lt;a href="#find-something-to-work-on"
 
 >Find something to work on&lt;/a>

&lt;ul>
&lt;li>&lt;a href="#find-a-good-first-topic"
 
 >Find a good first topic&lt;/a>

&lt;ul>
&lt;li>&lt;a href="#issue-assignment-in-github"
 
 >Issue Assignment in Github&lt;/a>
&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>&lt;a href="#learn-about-sigs"
 
 >Learn about SIGs&lt;/a>

&lt;ul>
&lt;li>&lt;a href="#sig-structure"
 
 >SIG structure&lt;/a>
&lt;/li>
&lt;li>&lt;a href="#find-a-sig-that-is-related-to-your-contribution"
 
 >Find a SIG that is related to your contribution&lt;/a>
&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>&lt;a href="#sig-specific-contributing-guidelines"
 
 >SIG-specific contributing guidelines&lt;/a>
&lt;/li>
&lt;li>&lt;a href="#file-an-issue"
 
 >File an Issue&lt;/a>
&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ul>
&lt;h2 id="find-something-to-work-on">Find something to work on&lt;/h2>
&lt;p>The first step to getting starting contributing to Kubernetes is to find something
to work on. Help is always welcome, and no contribution is too small (but see below)!&lt;/p></description></item><item><title>Contributing to Kubernetes</title><link>https://deploy-preview-846--kubernetes-contributor.netlify.app/docs/guide/contributing/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://deploy-preview-846--kubernetes-contributor.netlify.app/docs/guide/contributing/</guid><description>&lt;ul>
&lt;li>&lt;a href="#communication"
 
 >Communication&lt;/a>
&lt;/li>
&lt;li>&lt;a href="#github-workflow"
 
 >GitHub workflow&lt;/a>
&lt;/li>
&lt;li>&lt;a href="#opening-a-pull-request"
 
 >Open a Pull Request&lt;/a>
&lt;/li>
&lt;li>&lt;a href="#code-review"
 
 >Code Review&lt;/a>
&lt;/li>
&lt;li>&lt;a href="#best-practices"
 
 >Best Practices&lt;/a>
&lt;/li>
&lt;li>&lt;a href="#testing"
 
 >Testing&lt;/a>
&lt;/li>
&lt;li>&lt;a href="#security"
 
 >Security&lt;/a>
&lt;/li>
&lt;li>&lt;a href="#documentation"
 
 >Documentation&lt;/a>
&lt;/li>
&lt;li>&lt;a href="#issues-management-or-triage"
 
 >Issues Management or Triage&lt;/a>
&lt;/li>
&lt;/ul>
&lt;p>Kubernetes is open source, but many of the people working on it do so as their day job.
In order to avoid forcing people to be &amp;ldquo;at work&amp;rdquo; effectively 24/7, we want to establish some semi-formal protocols around development.
Hopefully, these rules make things go more smoothly.
If you find that this is not the case, please complain loudly.&lt;/p></description></item><item><title>Platforms Guide</title><link>https://deploy-preview-846--kubernetes-contributor.netlify.app/docs/guide/platforms/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://deploy-preview-846--kubernetes-contributor.netlify.app/docs/guide/platforms/</guid><description>&lt;h2 id="adding-supported-platforms">Adding supported platforms&lt;/h2>
&lt;p>The default Kubernetes platform is &lt;code>linux/amd64&lt;/code>. This platform has always been
fully tested, and the build and release systems initially supported only this
platform. SIG Release started an &lt;a href="https://github.com/kubernetes/kubernetes/issues/38067"
 
 target="_blank" rel="noopener">effort to support multiple architectures&lt;/a>
.
As part of this effort, they added support in our build and release pipelines
for the architectures &lt;code>arm&lt;/code>, &lt;code>arm64&lt;/code>, &lt;code>ppc64le&lt;/code> and &lt;code>s390x&lt;/code> on different
operating systems like Linux, Windows and macOS.&lt;/p>
&lt;p>The main focus was to have binaries and container images to be available for
these architectures/operating systems. Contributors should be able to to take
these artifacts and set up CI jobs to adequately test these platforms.
Specifically to call out the ability to run conformance tests on these
platforms.&lt;/p></description></item><item><title>Pull Request Process</title><link>https://deploy-preview-846--kubernetes-contributor.netlify.app/docs/guide/pull-requests/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://deploy-preview-846--kubernetes-contributor.netlify.app/docs/guide/pull-requests/</guid><description>&lt;p>This doc explains the process and best practices for submitting a pull request to the &lt;a href="https://github.com/kubernetes/kubernetes"
 
 target="_blank" rel="noopener">Kubernetes project&lt;/a>
 and its associated sub-repositories.
It should serve as a reference for all contributors, and be useful especially to new and infrequent submitters.&lt;/p>
&lt;ul>
&lt;li>&lt;a href="#before-you-submit-a-pull-request"
 
 >Before You Submit a Pull Request&lt;/a>

&lt;ul>
&lt;li>&lt;a href="#run-local-verifications"
 
 >Run Local Verifications&lt;/a>
&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>&lt;a href="#the-pull-request-submit-process"
 
 >The Pull Request Submit Process&lt;/a>

&lt;ul>
&lt;li>&lt;a href="#marking-unfinished-pull-requests"
 
 >Marking Unfinished Pull Requests&lt;/a>
&lt;/li>
&lt;li>&lt;a href="#pull-requests-and-the-release-cycle"
 
 >Pull Requests and the Release Cycle&lt;/a>
&lt;/li>
&lt;li>&lt;a href="#comment-commands-reference"
 
 >Comment Commands Reference&lt;/a>
&lt;/li>
&lt;li>&lt;a href="#automation"
 
 >Automation&lt;/a>
&lt;/li>
&lt;li>&lt;a href="#how-the-e2e-tests-work"
 
 >How the e2e Tests Work&lt;/a>
&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>&lt;a href="#why-was-my-pull-request-closed"
 
 >Why was my pull request closed?&lt;/a>
&lt;/li>
&lt;li>&lt;a href="#why-is-my-pull-request-not-getting-reviewed"
 
 >Why is my pull request not getting reviewed?&lt;/a>
&lt;/li>
&lt;li>&lt;a href="#best-practices-for-faster-reviews"
 
 >Best Practices for Faster Reviews&lt;/a>

&lt;ul>
&lt;li>&lt;a href="#familiarize-yourself-with-project-conventions"
 
 >Familiarize yourself with project conventions&lt;/a>
&lt;/li>
&lt;li>&lt;a href="#is-the-feature-wanted-file-a-kubernetes-enhancement-proposal"
 
 >Is the feature wanted? File a Kubernetes Enhancement Proposal&lt;/a>
&lt;/li>
&lt;li>&lt;a href="#kiss-yagni-mvp-etc"
 
 >KISS, YAGNI, MVP, etc.&lt;/a>
&lt;/li>
&lt;li>&lt;a href="#smaller-is-better-small-commits-small-pull-requests"
 
 >Smaller Is Better: Small Commits, Small Pull Requests&lt;/a>
&lt;/li>
&lt;li>&lt;a href="#open-a-different-pull-request-for-fixes-and-generic-features"
 
 >Open a Different Pull Request for Fixes and Generic Features&lt;/a>
&lt;/li>
&lt;li>&lt;a href="#dont-open-pull-requests-that-span-the-whole-repository"
 
 >Don&amp;rsquo;t Open Pull Requests That Span the Whole Repository&lt;/a>
&lt;/li>
&lt;li>&lt;a href="#comments-matter"
 
 >Comments Matter&lt;/a>
&lt;/li>
&lt;li>&lt;a href="#test"
 
 >Test&lt;/a>
&lt;/li>
&lt;li>&lt;a href="#squashing"
 
 >Squashing&lt;/a>
&lt;/li>
&lt;li>&lt;a href="#commit-message-guidelines"
 
 >Commit Message Guidelines&lt;/a>
&lt;/li>
&lt;li>&lt;a href="#its-ok-to-push-back"
 
 >It&amp;rsquo;s OK to Push Back&lt;/a>
&lt;/li>
&lt;li>&lt;a href="#common-sense-and-courtesy"
 
 >Common Sense and Courtesy&lt;/a>
&lt;/li>
&lt;li>&lt;a href="#trivial-edits"
 
 >Trivial Edits&lt;/a>
&lt;/li>
&lt;li>&lt;a href="#large-or-automatic-edits"
 
 >Large or Automatic Edits&lt;/a>
&lt;/li>
&lt;li>&lt;a href="#fixing-linter-issues"
 
 >Fixing Linter Issues&lt;/a>
&lt;/li>
&lt;li>&lt;a href="#ai-guidance"
 
 >AI Guidance&lt;/a>
&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>&lt;a href="#the-testing-and-merge-workflow"
 
 >The Testing and Merge Workflow&lt;/a>

&lt;ul>
&lt;li>&lt;a href="#more-about-ok-to-test"
 
 >More About &lt;code>Ok-To-Test&lt;/code>&lt;/a>
&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ul>
&lt;h1 id="before-you-submit-a-pull-request">Before You Submit a Pull Request&lt;/h1>
&lt;p>This guide is for contributors who already have a pull request to submit.
If you&amp;rsquo;re looking for information on setting up your developer environment and creating code to contribute to Kubernetes, see the &lt;a href="https://github.com/kubernetes/community/blob/main/contributors/devel/development.md"
 
 target="_blank" rel="noopener">development guide&lt;/a>
.&lt;/p></description></item><item><title>GitHub Workflow</title><link>https://deploy-preview-846--kubernetes-contributor.netlify.app/docs/guide/github-workflow/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://deploy-preview-846--kubernetes-contributor.netlify.app/docs/guide/github-workflow/</guid><description>&lt;p>&lt;img src="https://deploy-preview-846--kubernetes-contributor.netlify.app/docs/guide/git_workflow.png" alt="Git workflow">&lt;/p>
&lt;h2 id="1-fork-in-the-cloud">1. Fork in the cloud&lt;/h2>
&lt;ol>
&lt;li>Visit &lt;a href="https://github.com/kubernetes/kubernetes"
 
 target="_blank" rel="noopener">https://github.com/kubernetes/kubernetes&lt;/a>
&lt;/li>
&lt;li>Click &lt;code>Fork&lt;/code> button (top right) to establish a cloud-based fork.&lt;/li>
&lt;/ol>
&lt;h2 id="2-clone-fork-to-local-storage">2. Clone fork to local storage&lt;/h2>
&lt;p>In your shell, define a local working directory as &lt;code>working_dir&lt;/code>.&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-sh" data-lang="sh">&lt;span class="line">&lt;span class="cl">&lt;span class="nb">export&lt;/span> &lt;span class="nv">working_dir&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="s2">&amp;#34;&lt;/span>&lt;span class="si">${&lt;/span>&lt;span class="nv">HOME&lt;/span>&lt;span class="si">}&lt;/span>&lt;span class="s2">/src/k8s.io&amp;#34;&lt;/span> &lt;span class="c1"># Change to your preferred location for source code&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Set &lt;code>user&lt;/code> to match your github profile name:&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-sh" data-lang="sh">&lt;span class="line">&lt;span class="cl">&lt;span class="nb">export&lt;/span> &lt;span class="nv">user&lt;/span>&lt;span class="o">=&lt;/span>&amp;lt;your github profile name&amp;gt;
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Both &lt;code>$working_dir&lt;/code> and &lt;code>$user&lt;/code> are mentioned in the figure above.&lt;/p>
&lt;p>Create your clone:&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-sh" data-lang="sh">&lt;span class="line">&lt;span class="cl">mkdir -p &lt;span class="nv">$working_dir&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nb">cd&lt;/span> &lt;span class="nv">$working_dir&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">git clone https://github.com/&lt;span class="nv">$user&lt;/span>/kubernetes.git
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># or: git clone git@github.com:$user/kubernetes.git&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nb">cd&lt;/span> &lt;span class="nv">$working_dir&lt;/span>/kubernetes
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">git remote add upstream https://github.com/kubernetes/kubernetes.git
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># or: git remote add upstream git@github.com:kubernetes/kubernetes.git&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># Never push to upstream master&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">git remote set-url --push upstream no_push
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># Confirm that your remotes make sense:&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">git remote -v
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h2 id="3-create-a-working-branch">3. Create a Working Branch&lt;/h2>
&lt;p>Get your local master up to date. Note that depending on which repository you are working from,
the default branch may be called &amp;ldquo;main&amp;rdquo; instead of &amp;ldquo;master&amp;rdquo;.&lt;/p></description></item><item><title>Coding Conventions</title><link>https://deploy-preview-846--kubernetes-contributor.netlify.app/docs/guide/coding-convention/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://deploy-preview-846--kubernetes-contributor.netlify.app/docs/guide/coding-convention/</guid><description>&lt;h2 id="code-conventions">Code conventions&lt;/h2>
&lt;ul>
&lt;li>
&lt;p>Bash&lt;/p>
&lt;ul>
&lt;li>&lt;a href="https://google.github.io/styleguide/shellguide.html"
 
 target="_blank" rel="noopener">Shell Style Guide&lt;/a>
&lt;/li>
&lt;li>Ensure that build, release, test, and cluster-management scripts run on macOS&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>
&lt;p>Go&lt;/p>
&lt;ul>
&lt;li>&lt;a href="https://go.dev/wiki/CodeReviewComments"
 
 target="_blank" rel="noopener">Go Code Review Comments&lt;/a>
&lt;/li>
&lt;li>&lt;a href="https://golang.org/doc/effective_go.html"
 
 target="_blank" rel="noopener">Effective Go&lt;/a>
&lt;/li>
&lt;li>Know and avoid &lt;a href="https://gist.github.com/lavalamp/4bd23295a9f32706a48f"
 
 target="_blank" rel="noopener">Go landmines&lt;/a>
&lt;/li>
&lt;li>Comment your code.
&lt;ul>
&lt;li>&lt;a href="https://go.dev/doc/comment"
 
 target="_blank" rel="noopener">Go&amp;rsquo;s commenting conventions&lt;/a>
&lt;/li>
&lt;li>If reviewers ask questions about why the code is the way it is, that&amp;rsquo;s a sign that comments might be helpful.&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>Command-line flags should use dashes, not underscores&lt;/li>
&lt;li>Naming
&lt;ul>
&lt;li>Please consider package name when selecting an interface name, and avoid redundancy. For example, &lt;code>storage.Interface&lt;/code> is better than &lt;code>storage.StorageInterface&lt;/code>.&lt;/li>
&lt;li>Do not use uppercase characters, underscores, or dashes in package names.&lt;/li>
&lt;li>Please consider parent directory name when choosing a package name. For example, &lt;code>pkg/controllers/autoscaler/foo.go&lt;/code> should say &lt;code>package autoscaler&lt;/code> not &lt;code>package autoscalercontroller&lt;/code>.
&lt;ul>
&lt;li>Unless there&amp;rsquo;s a good reason, the &lt;code>package foo&lt;/code> line should match the name of the directory in which the &lt;code>.go&lt;/code> file exists.&lt;/li>
&lt;li>Importers can use a different name if they need to disambiguate.&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>Locks should be called &lt;code>lock&lt;/code> and should never be embedded (always &lt;code>lock sync.Mutex&lt;/code>). When multiple locks are present, give each lock a distinct name following Go conventions: &lt;code>stateLock&lt;/code>, &lt;code>mapLock&lt;/code> etc.&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>&lt;a href="https://github.com/kubernetes/community/blob/main/contributors/devel/sig-architecture/api_changes.md"
 
 target="_blank" rel="noopener">API changes&lt;/a>
&lt;/li>
&lt;li>&lt;a href="https://github.com/kubernetes/community/blob/main/contributors/devel/sig-architecture/api-conventions.md"
 
 target="_blank" rel="noopener">API conventions&lt;/a>
&lt;/li>
&lt;li>&lt;a href="https://github.com/kubernetes/community/blob/main/contributors/devel/sig-cli/kubectl-conventions.md"
 
 target="_blank" rel="noopener">Kubectl conventions&lt;/a>
&lt;/li>
&lt;li>&lt;a href="https://github.com/kubernetes/community/blob/main/contributors/devel/sig-instrumentation/logging.md"
 
 target="_blank" rel="noopener">Logging conventions&lt;/a>
&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ul>
&lt;h2 id="testing-conventions">Testing conventions&lt;/h2>
&lt;ul>
&lt;li>All new packages and most new significant functionality must come with unit tests.&lt;/li>
&lt;li>Table-driven tests are preferred for testing multiple scenarios/inputs. For an example, see &lt;a href="https://github.com/kubernetes/kubernetes/blob/4b8e819355d791d96b7e9d9efe4cbafae2311c88/test/integration/auth/auth_test.go#L1201"
 
 target="_blank" rel="noopener">TestNamespaceAuthorization&lt;/a>
.&lt;/li>
&lt;li>Significant features should come with integration (test/integration) and/or &lt;a href="https://github.com/kubernetes/community/blob/main/contributors/devel/sig-testing/e2e-tests.md"
 
 target="_blank" rel="noopener">end-to-end (test/e2e) tests&lt;/a>
.
&lt;ul>
&lt;li>Including new &lt;code>kubectl&lt;/code> commands and major features of existing commands.&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>Unit tests must pass on macOS and Windows platforms - if you use Linux specific features, your test case must either be skipped on windows or compiled out (skipped is better when running Linux specific commands, compiled out is required when your code does not compile on Windows).&lt;/li>
&lt;li>Avoid relying on Docker Hub. Use the &lt;a href="https://cloud.google.com/artifact-registry/"
 
 target="_blank" rel="noopener">Google Cloud Artifact Registry&lt;/a>
 instead.&lt;/li>
&lt;li>Do not expect an asynchronous thing to happen immediately&amp;mdash;do not wait for one second and expect a pod to be running. Wait and retry instead.&lt;/li>
&lt;li>See the &lt;a href="https://github.com/kubernetes/community/blob/main/contributors/devel/sig-testing/testing.md"
 
 target="_blank" rel="noopener">testing guide&lt;/a>
 for additional testing advice.&lt;/li>
&lt;/ul>
&lt;h2 id="directory-and-file-conventions">Directory and file conventions&lt;/h2>
&lt;ul>
&lt;li>Avoid package sprawl. Find an appropriate subdirectory for new packages. &lt;a href="http://issues.k8s.io/4851"
 
 target="_blank" rel="noopener">See issue #4851&lt;/a>
 for discussion.
&lt;ul>
&lt;li>Libraries with no appropriate home belong in new package subdirectories of &lt;code>pkg/util&lt;/code>.&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>Avoid general utility packages. Packages called &amp;ldquo;util&amp;rdquo; are suspect. Instead, derive a name that describes your desired function. For example, the utility functions dealing with waiting for operations are in the &lt;code>wait&lt;/code> package and include functionality like &lt;code>Poll&lt;/code>. The full name is &lt;code>wait.Poll&lt;/code>.&lt;/li>
&lt;li>All filenames should be lowercase.&lt;/li>
&lt;li>Go source files and directories use underscores, not dashes.
&lt;ul>
&lt;li>Package directories should generally avoid using separators as much as possible. When package names are multiple words, they usually should be in nested subdirectories.&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>Document directories and filenames should use dashes rather than underscores.&lt;/li>
&lt;li>Examples should also illustrate &lt;a href="https://kubernetes.io/docs/concepts/configuration/overview/"
 
 target="_blank" rel="noopener">best practices for configuration and using the system&lt;/a>
.&lt;/li>
&lt;li>Follow these conventions for third-party code:
&lt;ul>
&lt;li>Go code for normal third-party dependencies is managed using &lt;a href="https://go.dev/wiki/Modules"
 
 target="_blank" rel="noopener">go modules&lt;/a>
 and is described in the kubernetes &lt;a href="https://github.com/kubernetes/community/blob/main/contributors/devel/sig-architecture/vendor.md"
 
 target="_blank" rel="noopener">vendoring guide&lt;/a>
.&lt;/li>
&lt;li>Other third-party code belongs in &lt;code>third_party&lt;/code>.
&lt;ul>
&lt;li>forked third party Go code goes in &lt;code>third_party/forked&lt;/code>.&lt;/li>
&lt;li>forked &lt;em>golang stdlib&lt;/em> code goes in &lt;code>third_party/forked/golang&lt;/code>.&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>Third-party code must include licenses. This includes modified third-party code and excerpts, as well.&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ul></description></item><item><title>Help Wanted and Good First Issue Labels</title><link>https://deploy-preview-846--kubernetes-contributor.netlify.app/docs/guide/help-wanted/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://deploy-preview-846--kubernetes-contributor.netlify.app/docs/guide/help-wanted/</guid><description>&lt;h2 id="overview">Overview&lt;/h2>
&lt;p>We use two labels to identify issues that have been specifically created or selected for new contributors: &lt;a href="#help-wanted"
 
 >help wanted&lt;/a>
 and &lt;a href="#good-first-issue"
 
 >good first
issue&lt;/a>
. The &lt;code>good first issue&lt;/code> label is a subset of the &lt;code>help wanted&lt;/code>
label, indicating that members have committed to providing extra assistance for
new contributors. All &lt;code>good first issue&lt;/code> items also have the &lt;code>help wanted&lt;/code>
label.&lt;/p>
&lt;p>We also have some &lt;a href="#suggestions-for-experienced-community-members"
 
 >suggestions&lt;/a>
 for using these labels to help
grow and improve our community.&lt;/p></description></item><item><title>Issue Triage Guidelines</title><link>https://deploy-preview-846--kubernetes-contributor.netlify.app/docs/guide/issue-triage/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://deploy-preview-846--kubernetes-contributor.netlify.app/docs/guide/issue-triage/</guid><description>&lt;h2 id="table-of-contents">Table of Contents&lt;/h2>
&lt;ul>
&lt;li>&lt;a href="#scope"
 
 >Scope&lt;/a>
&lt;/li>
&lt;li>&lt;a href="#what-is-triaging"
 
 >What Is Triaging?&lt;/a>
&lt;/li>
&lt;li>&lt;a href="#why-is-triaging-beneficial"
 
 >Why Is Triaging Beneficial?&lt;/a>
&lt;/li>
&lt;li>&lt;a href="#how-to-triage-a-step-by-step-flow"
 
 >How to Triage: A Step-by-Step Flow&lt;/a>

&lt;ul>
&lt;li>&lt;a href="#triage-related-tools"
 
 >Triage-Related Tools&lt;/a>

&lt;ul>
&lt;li>&lt;a href="#permissions-and-the-bot"
 
 >Permissions and the Bot&lt;/a>
&lt;/li>
&lt;li>&lt;a href="#triage-party"
 
 >Triage Party&lt;/a>
&lt;/li>
&lt;li>&lt;a href="#github-project-boards"
 
 >GitHub Project Boards&lt;/a>
&lt;/li>
&lt;li>&lt;a href="#devstats"
 
 >DevStats&lt;/a>
&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>&lt;a href="#process-pointers-and-advice-from-sigs"
 
 >Process Pointers and Advice from SIGs&lt;/a>

&lt;ul>
&lt;li>&lt;a href="#running-a-triage-meeting-tips-from-api-machinery"
 
 >Running a Triage Meeting: Tips from api-machinery&lt;/a>
&lt;/li>
&lt;li>&lt;a href="#triage-guide-by-cluster-lifecycle"
 
 >Triage Guide by cluster-lifecycle&lt;/a>
&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>&lt;a href="#step-one-review-newly-created-open-issues"
 
 >Step One: Review Newly Created Open Issues&lt;/a>

&lt;ul>
&lt;li>&lt;a href="#conducting-searches"
 
 >Conducting Searches&lt;/a>
&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>&lt;a href="#step-two-triage-issues-by-type"
 
 >Step Two: Triage Issues by Type&lt;/a>

&lt;ul>
&lt;li>&lt;a href="#support-requests"
 
 >Support Requests&lt;/a>
&lt;/li>
&lt;li>&lt;a href="#abandoned-or-wrongly-placed-issues"
 
 >Abandoned or Wrongly Placed Issues&lt;/a>
&lt;/li>
&lt;li>&lt;a href="#needs-more-information"
 
 >Needs More Information&lt;/a>
&lt;/li>
&lt;li>&lt;a href="#bugs"
 
 >Bugs&lt;/a>
&lt;/li>
&lt;li>&lt;a href="#help-wantedgood-first-issues"
 
 >Help Wanted/Good First Issues&lt;/a>
&lt;/li>
&lt;li>&lt;a href="#kind-labels"
 
 >Kind Labels&lt;/a>
&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>&lt;a href="#step-three-define-priority"
 
 >Step Three: Define Priority&lt;/a>
&lt;/li>
&lt;li>&lt;a href="#step-four-find-and-set-the-right-sigs-to-own-an-issue"
 
 >Step Four: Find and Set the Right SIG(s) to Own an Issue&lt;/a>

&lt;ul>
&lt;li>&lt;a href="#self-assigning"
 
 >Self-Assigning&lt;/a>
&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>&lt;a href="#step-five-follow-up"
 
 >Step Five: Follow Up&lt;/a>

&lt;ul>
&lt;li>&lt;a href="#if-no-pr-is-created-for-an-issue-within-the-current-release-cycle"
 
 >If No PR Is Created for an Issue Within the Current Release Cycle&lt;/a>
&lt;/li>
&lt;li>&lt;a href="#if-a-sig-label-is-assigned-but-no-action-is-taken-within-30-days"
 
 >If a SIG Label Is Assigned, but No Action Is Taken Within 30 Days&lt;/a>
&lt;/li>
&lt;li>&lt;a href="#if-an-issue-has-no-activity-after-90-days"
 
 >If an Issue Has No Activity After 90 Days&lt;/a>
&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>&lt;a href="#further-notes"
 
 >Further Notes&lt;/a>

&lt;ul>
&lt;li>&lt;a href="#support-requests-channels"
 
 >Support Requests: Channels&lt;/a>
&lt;/li>
&lt;li>&lt;a href="#user-support-response-example"
 
 >User Support Response: Example&lt;/a>
&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ul>
&lt;h2 id="scope">Scope&lt;/h2>
&lt;p>These guidelines serve as a primary document for triaging incoming issues to Kubernetes. SIGs and projects are encouraged to use this guidance as a starting point, and customize to address specific triaging needs.&lt;/p></description></item><item><title>Non-code Contributions</title><link>https://deploy-preview-846--kubernetes-contributor.netlify.app/docs/guide/non-code-contributions/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://deploy-preview-846--kubernetes-contributor.netlify.app/docs/guide/non-code-contributions/</guid><description>&lt;p>&lt;em>This section is new and in progress. Expect this document to change often.&lt;/em>&lt;/p>
&lt;p>&lt;em>If you are interested in helping define and structure this work, &lt;a href="https://docs.google.com/document/d/1gdFWfkrapQclZ4-z4Lx2JwqKsJjXXUOVoLhBzZiZgSk/edit#"
 
 target="_blank" rel="noopener">check the weekly meeting notes&lt;/a>
 for information on how to get involved. You can also find us in the SIG Contributor Experience &lt;a href="https://kubernetes.slack.com/messages/sig-contribex"
 
 target="_blank" rel="noopener">Slack channel&lt;/a>
.&lt;/em>&lt;/p>
&lt;p>&lt;em>All contributors welcome, new and old!&lt;/em>&lt;/p>
&lt;h3 id="what-is-this">What is this?&lt;/h3>
&lt;p>The list below is meant to help non-code contributors find areas of the Kubernetes project where their expertise can be best utilized. The goal of this is to both provide a starting guide for anyone looking to become a contributor not necessarily writing code, and also to fill any needs that the SIGs have that might not currently be filled by code-focused contributors.&lt;/p></description></item><item><title>Adding Release Notes</title><link>https://deploy-preview-846--kubernetes-contributor.netlify.app/docs/guide/release-notes/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://deploy-preview-846--kubernetes-contributor.netlify.app/docs/guide/release-notes/</guid><description>&lt;p>On the &lt;a href="https://git.k8s.io/kubernetes/"
 
 target="_blank" rel="noopener">kubernetes/kubernetes repository&lt;/a>
, release notes
are required for any pull request with user-visible changes, this could mean:&lt;/p>
&lt;ul>
&lt;li>User facing, critical bug-fixes&lt;/li>
&lt;li>Notable feature additions&lt;/li>
&lt;li>Output format changes&lt;/li>
&lt;li>Deprecations or removals&lt;/li>
&lt;li>Metrics changes&lt;/li>
&lt;li>Dependency changes&lt;/li>
&lt;li>API changes&lt;/li>
&lt;/ul>
&lt;p>Release notes are one of the most important reference points for users about to
install or upgrade to a particular release of Kubernetes.&lt;/p>
&lt;h2 id="does-my-pull-request-need-a-release-note">Does my pull request need a release note?&lt;/h2>
&lt;p>Any user-visible or operator-visible change qualifies for a release note. This
could be a:&lt;/p></description></item><item><title>OWNERS Files</title><link>https://deploy-preview-846--kubernetes-contributor.netlify.app/docs/guide/owners/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://deploy-preview-846--kubernetes-contributor.netlify.app/docs/guide/owners/</guid><description>&lt;h2 id="overview">Overview&lt;/h2>
&lt;p>OWNERS files are used to designate responsibility over different parts of the Kubernetes codebase.
Today, we use them to assign the &lt;strong>&lt;a href="https://git.k8s.io/community/community-membership.md#reviewer"
 
 target="_blank" rel="noopener">reviewer&lt;/a>
&lt;/strong> and &lt;strong>&lt;a href="https://git.k8s.io/community/community-membership.md#approver"
 
 target="_blank" rel="noopener">approver&lt;/a>
&lt;/strong>
roles (defined in our &lt;a href="https://git.k8s.io/community/community-membership.md"
 
 target="_blank" rel="noopener">community membership doc&lt;/a>
) that are used in our two-phase code review
process. Our OWNERS files were inspired by &lt;a href="https://chromium.googlesource.com/chromium/src/&amp;#43;/master/docs/code_reviews.md"
 
 target="_blank" rel="noopener">Chromium OWNERS files&lt;/a>
 which in turn
inspired &lt;a href="https://help.github.com/articles/about-codeowners/"
 
 target="_blank" rel="noopener">GitHub&amp;rsquo;s CODEOWNERS files&lt;/a>
&lt;/p>
&lt;p>The velocity of a project that uses code review is limited by the number of people capable of
reviewing code. The quality of a person&amp;rsquo;s code review is limited by their familiarity with the code
under review. Our goal is to address both of these concerns through the prudent use and maintenance
of OWNERS files.&lt;/p></description></item><item><title>Community Expectations</title><link>https://deploy-preview-846--kubernetes-contributor.netlify.app/docs/guide/expectations/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://deploy-preview-846--kubernetes-contributor.netlify.app/docs/guide/expectations/</guid><description>&lt;p>Kubernetes is a community project.
Consequently, it is wholly dependent on its community to provide a productive, friendly and collaborative environment.&lt;/p>
&lt;p>The first and foremost goal of the Kubernetes community is to develop orchestration
technology that radically simplifies the process of creating reliable
distributed systems.
However a second, equally important goal is the creation
of a community that fosters easy, agile development of such orchestration
systems.&lt;/p>
&lt;p>We therefore describe the expectations for members of the Kubernetes community.
This document is intended to be a living one that evolves as the community evolves via the same PR and code review process that shapes the rest of the project.
It currently covers the expectations of conduct that govern all members of the community as well as the expectations around code review that govern all active contributors to Kubernetes.&lt;/p></description></item></channel></rss>