Skip to content

Instantly share code, notes, and snippets.

@smourapina
Last active May 1, 2018 12:39
Show Gist options
  • Save smourapina/e8c5c131bc59cb4d38fb308bead4b9dd to your computer and use it in GitHub Desktop.
Save smourapina/e8c5c131bc59cb4d38fb308bead4b9dd to your computer and use it in GitHub Desktop.

Revisions

  1. smourapina revised this gist May 1, 2018. 1 changed file with 10 additions and 13 deletions.
    23 changes: 10 additions & 13 deletions k8s-new-contributors-workshop.md
    Original file line number Diff line number Diff line change
    @@ -7,38 +7,35 @@

    Master list can be found [here](https://github.com/kubernetes/community/blob/master/sig-list.md)

    * Feature areas:
    * **Feature areas:**

    A specific portion of K8s functionality. Ex. *sig-auth, sig-apps, sig-big-data, sig-cli, sig-ui...*

    * Plumbing:
    * **Plumbing:**

    In charge of aspects that cross all other SIGs. Ex. *sig-cluster-lifecycle, sig-api-machinery, sig-instrumentation*

    * Cloud providers:
    * **Cloud providers:**

    One for each cloud provider that is supported. Ex. *sig-aws, sig-gcp, sig-openstack, ...*

    * Meta:
    * **Meta:**

    Aspects of running the k8s project. Ex. *sig-architecture, sif-release, sig-product-management, ...*

    * Documentation & website:
    * **Documentation & website:**
    Contributing to other SIGs requires also contributing to documentation. *sig-docs*


    ### Working Groups (WG) and Subprojects:

    Working groups => old way
    * Working groups => old way; Subprojects => new way

    Subprojects => new way
    * For specific tools (ex. Helm), goals (ex. Resource Management) or areas (ex. Machine Learning).

    For specific tools (ex. Helm), goals (ex. Resource Management) or areas (ex. Machine Learning).
    * Examples: *wg-app-def, wg-apply, wg-cluster-api, ...*

    Examples:
    *wg-app-def, wg-apply, wg-cluster-api, ...*

    Groups change around more frequently than SIGs, some might be temporary.
    * Groups change around more frequently than SIGs, some might be temporary.


    ### Picking the right SIG:
    @@ -96,7 +93,7 @@ Disclaimer: Currently cleaning up / refactoring repos. This might change soon!

    ### Bug Reports

    Reporting bugs by filing a detailed bug report (including labels)
    Reporting bugs by filing a detailed bug report (including labels).


    ### Issues as specifications
  2. smourapina created this gist May 1, 2018.
    123 changes: 123 additions & 0 deletions k8s-new-contributors-workshop.md
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,123 @@
    # Kubernetes New Contributor Workshop - KubeCon EU 2018

    ## Special Interest Groups (SIGs)


    ### Types of SIGs:

    Master list can be found [here](https://github.com/kubernetes/community/blob/master/sig-list.md)

    * Feature areas:

    A specific portion of K8s functionality. Ex. *sig-auth, sig-apps, sig-big-data, sig-cli, sig-ui...*

    * Plumbing:

    In charge of aspects that cross all other SIGs. Ex. *sig-cluster-lifecycle, sig-api-machinery, sig-instrumentation*

    * Cloud providers:

    One for each cloud provider that is supported. Ex. *sig-aws, sig-gcp, sig-openstack, ...*

    * Meta:

    Aspects of running the k8s project. Ex. *sig-architecture, sif-release, sig-product-management, ...*

    * Documentation & website:
    Contributing to other SIGs requires also contributing to documentation. *sig-docs*


    ### Working Groups (WG) and Subprojects:

    Working groups => old way

    Subprojects => new way

    For specific tools (ex. Helm), goals (ex. Resource Management) or areas (ex. Machine Learning).

    Examples:
    *wg-app-def, wg-apply, wg-cluster-api, ...*

    Groups change around more frequently than SIGs, some might be temporary.


    ### Picking the right SIG:

    1. Figure out which area you would like to contribute to
    2. Find out which SIG / WG / subproject covers that (tip: ask on #sig-contribex Slack channel)
    3. Join that SIG / WG / subproject (you should also join the main SIG when joining a WG / subproject)


    ### Repositories for k8s:

    Disclaimer: Currently cleaning up / refactoring repos. This might change soon!

    - **Core repository** (where the core code is).

    *kubernetes/kubernetes* (also known as: *k/k*)

    - **Project**

    Repos for running and organising the project
    *k/Community, k/Features, k/Steering, ...*

    *k/Community*: has one folder for every SIG, and for most of WGs, CoC, ...
    *k/Features*: you file an issue when preparing a new feature
    *k/Test-Infra and k/Perf-Tests*: separate repos for performance tests and other tests

    - **Docs / Website**

    *k/website, k/kubernetes-docs-cn, k/kubernetes-docs-ko*

    - **Developer Tools**

    *k/sample-controller, k/k8s.io, ...*

    - **Staging Repos**

    Mirror specific directories
    *api, code-generator, client-go, metrics, ...*

    - **SIG repos**

    Some SIGs have their own dedicated repos
    *release, federation, autoscaler*

    - **Cloud Providers**

    *cloud-provider-azure, cloud-provider-gcp, ...*

    - **Products & Tools**

    *kubeadm, kubectl, kops, helm, ...*


    ## Contributing

    ### Bug Reports

    Reporting bugs by filing a detailed bug report (including labels)


    ### Issues as specifications

    Issues are used as specs:

    - Feature or API change proposals
    - New tests
    - Docs.

    You start with creating a new issue, with all the relevant labels, and raise it on a SIG meeting or on the list, then when "lazy consensus" is achieved you submit a PR.


    ### Required labels

    List of labels can be found [here](https://github.com/kubernetes/community/labels)

    We use a prefix with a *-*:
    - *sig/label* defines which SIG the issue belongs to
    - *kind/label* defines what type the issue is (bug, feature, documentation, ...)
    - *triage/label* for issues that need to be closed (duplicate, needs-information, support, unreproduceable, unresolved, ...)
    - *priority/label* are assigned by SIG leads, signal how critical the issue is (critical-urgent, important-soon, backlog, ...)
    - *area/label* is an optional label, there is no cannonical list (kubectl, api, dns, platform/gce, ...)
    - *help-wanted* does not signal that this is a good first issue (dedicated label for this coming soon for "good first issue")