summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Stromberg <tstromberg@google.com>2019-03-25 21:36:25 -0700
committerThomas Stromberg <tstromberg@google.com>2019-03-25 21:36:25 -0700
commit99250d74722c9bfeda644dd4c0fc1b6db27006fa (patch)
tree67ce40e86dc7396e4d3df08d7d05e2a50b319511
parent17959ff3fbe65e5f303b5c58e7d41186c8aef6db (diff)
parente7b8b9752a81fb990978174a216d1aa44bf787d3 (diff)
Rebase
-rw-r--r--.github/ISSUE_TEMPLATE/moderator_application.md36
-rw-r--r--.github/ISSUE_TEMPLATE/slack-request.md35
-rw-r--r--CLA.md9
-rw-r--r--Gopkg.lock24
-rw-r--r--Gopkg.toml6
-rw-r--r--OWNERS2
-rw-r--r--OWNERS_ALIASES30
-rw-r--r--README.md5
-rw-r--r--SECURITY_CONTACTS4
-rw-r--r--archive/sig-cluster-ops/OWNERS (renamed from sig-cluster-ops/OWNERS)0
-rw-r--r--archive/sig-cluster-ops/README.md (renamed from sig-cluster-ops/README.md)0
-rw-r--r--committee-code-of-conduct/OWNERS4
-rw-r--r--committee-code-of-conduct/README.md36
-rw-r--r--committee-product-security/OWNERS8
-rw-r--r--committee-product-security/README.md49
-rw-r--r--committee-steering/OWNERS4
-rw-r--r--committee-steering/README.md66
-rw-r--r--committee-steering/governance/sig-governance.md40
-rw-r--r--committee-steering/governance/wg-governance.md31
-rw-r--r--communication/K8sYoutubeCollaboration.md44
-rw-r--r--communication/OWNERS2
-rw-r--r--communication/README.md8
-rw-r--r--communication/meeting-notes-archive/201801-201807_Community_Meeting_Minutes.md (renamed from communication/meeting-notes-archive/q1-2_2018_community_meeting_minutes.md)0
-rw-r--r--communication/meeting-notes-archive/201808-201902_Community_Meeting_Minutes.md2587
-rw-r--r--communication/moderation.md200
-rw-r--r--communication/moderators.md211
-rw-r--r--communication/slack-guidelines.md290
-rw-r--r--communication/youtube-guidelines.md137
-rw-r--r--communication/zoom-guidelines.md18
-rw-r--r--contributors/design-proposals/api-machinery/csi-new-client-library-procedure.md2
-rw-r--r--contributors/design-proposals/architecture/scope.md342
-rw-r--r--contributors/design-proposals/auth/security.md12
-rw-r--r--contributors/design-proposals/scheduling/images/scheduling-framework-extensions.pngbin50818 -> 0 bytes
-rw-r--r--contributors/design-proposals/scheduling/images/scheduling-framework-threads.pngbin44305 -> 0 bytes
-rw-r--r--contributors/design-proposals/scheduling/scheduling-framework.md431
-rw-r--r--contributors/design-proposals/storage/csi-migration.md65
-rw-r--r--contributors/devel/README.md4
-rw-r--r--contributors/devel/sig-architecture/api-conventions.md2
-rw-r--r--contributors/devel/sig-architecture/godep.md2
-rw-r--r--contributors/devel/sig-node/container-runtime-interface.md1
-rw-r--r--contributors/devel/sig-release/cherry-picks.md7
-rw-r--r--contributors/devel/sig-release/release.md1
-rw-r--r--contributors/devel/sig-testing/testing.md3
-rw-r--r--contributors/guide/README.md36
-rw-r--r--contributors/guide/bug-bounty.md4
-rw-r--r--contributors/guide/release-notes.md2
-rw-r--r--contributors/guide/style-guide.md73
-rw-r--r--events/2019/05-contributor-summit/README.md113
-rw-r--r--events/community-meeting.md3
-rw-r--r--events/events-team/README.md30
-rw-r--r--events/events-team/best-practices.md1
-rw-r--r--events/office-hours.md4
-rw-r--r--generator/OWNERS4
-rw-r--r--generator/README.md26
-rw-r--r--generator/aliases.tmpl12
-rw-r--r--generator/app.go28
-rw-r--r--generator/committee_readme.tmpl86
-rw-r--r--generator/list.tmpl21
-rw-r--r--generator/sig_readme.tmpl15
-rw-r--r--generator/ug_readme.tmpl49
-rw-r--r--github-management/README.md2
-rw-r--r--go.mod8
-rw-r--r--go.sum6
-rw-r--r--governance.md42
-rw-r--r--hack/tools.go22
-rwxr-xr-xhack/verify-generated-docs.sh2
-rw-r--r--sig-api-machinery/README.md3
-rw-r--r--sig-architecture/README.md37
-rw-r--r--sig-architecture/charter.md8
-rw-r--r--sig-auth/README.md4
-rw-r--r--sig-auth/archive/meeting-notes-2018.md2
-rw-r--r--sig-auth/charter.md2
-rw-r--r--sig-azure/README.md4
-rw-r--r--sig-cloud-provider/README.md2
-rw-r--r--sig-cloud-provider/cloud-provider-extraction-migration/OWNERS4
-rw-r--r--sig-cluster-lifecycle/README.md13
-rw-r--r--sig-contributor-experience/README.md9
-rw-r--r--sig-governance.md115
-rw-r--r--sig-list.md32
-rw-r--r--sig-openstack/README.md6
-rw-r--r--sig-release/README.md1
-rw-r--r--sig-scalability/slos/dns_programming_latency.md28
-rw-r--r--sig-scalability/slos/network_programming_latency.md20
-rw-r--r--sig-scalability/slos/pod_startup_latency.md45
-rw-r--r--sig-scalability/slos/slos.md11
-rw-r--r--sig-service-catalog/README.md2
-rw-r--r--sig-service-catalog/charter.md4
-rw-r--r--sig-storage/README.md2
-rw-r--r--sig-testing/README.md12
-rw-r--r--sig-wg-lifecycle.md117
-rw-r--r--sig-windows/CONTRIBUTING.md116
-rw-r--r--sig-windows/README.md19
-rw-r--r--sig-windows/api-tracking.md76
-rw-r--r--sigs.yaml263
-rw-r--r--vendor/github.com/client9/misspell/.gitignore34
-rw-r--r--vendor/github.com/client9/misspell/.travis.yml20
-rw-r--r--vendor/github.com/client9/misspell/Dockerfile37
-rw-r--r--vendor/github.com/client9/misspell/Gopkg.lock24
-rw-r--r--vendor/github.com/client9/misspell/Gopkg.toml34
-rw-r--r--vendor/github.com/client9/misspell/Makefile74
-rw-r--r--vendor/github.com/client9/misspell/README.md424
-rw-r--r--vendor/github.com/client9/misspell/RELEASE-HOWTO.md38
-rw-r--r--vendor/github.com/client9/misspell/goreleaser.yml38
-rw-r--r--vendor/github.com/client9/misspell/install-misspell.sh318
-rw-r--r--vendor/github.com/client9/misspell/stringreplacer_test.gox421
-rw-r--r--vendor/gopkg.in/yaml.v2/.travis.yml12
-rw-r--r--vendor/gopkg.in/yaml.v2/README.md133
-rw-r--r--vendor/gopkg.in/yaml.v2/encode.go28
-rw-r--r--vendor/gopkg.in/yaml.v2/go.mod5
-rw-r--r--vendor/modules.txt5
-rw-r--r--wg-iot-edge/README.md4
-rw-r--r--wg-k8s-infra/charter.md6
-rw-r--r--wg-lts/charter.md2
-rw-r--r--wg-security-audit/README.md1
114 files changed, 6825 insertions, 1137 deletions
diff --git a/.github/ISSUE_TEMPLATE/moderator_application.md b/.github/ISSUE_TEMPLATE/moderator_application.md
new file mode 100644
index 00000000..831677fc
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/moderator_application.md
@@ -0,0 +1,36 @@
+---
+name: Community Moderator Request
+about: Request moderator privileges on a Kubernetes property
+title: 'REQUEST: New moderator for <your-GH-handle> of <k8s property>'
+labels: area/community-management, sig/contributor-experience
+assignees: ''
+
+---
+
+### GitHub Username
+e.g. (at)github_user
+
+### Property you'd like to Moderate
+e.g. discuss.k8s.io, kubernetes-dev
+
+### Username on Property Requested
+e.g. (at)property_user
+
+### Requirements
+
+- [ ] I am a Kubernetes Org member already
+- [ ] I have enabled 2FA on my account for the property I would like to moderate (if applicable).
+- [ ] I have read and will abide by the policies mentioned in the [Moderation Guidelines](https://git.k8s.io/community/communication/moderation.md)
+- [ ] I have two sponsors that meet the sponsor requirements listed in the moderator guidelines
+- [ ] I have spoken to my sponsors ahead of this application, and they have agreed to sponsor my application
+
+### Sponsors
+
+- (at)sponsor-1
+- (at)sponsor-2
+
+### List of qualifications for this position
+
+- Prior moderation experience
+- Links to public discussions showing your moderation experience (if available)
+- Any other qualifications
diff --git a/.github/ISSUE_TEMPLATE/slack-request.md b/.github/ISSUE_TEMPLATE/slack-request.md
new file mode 100644
index 00000000..1cb2e526
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/slack-request.md
@@ -0,0 +1,35 @@
+---
+name: Slack Request
+about: Request a Channel, Bot, Token, or Webhook
+title: 'REQUEST: New Slack <[channel|bot|token|webhook]> <[channel|bot|token|webhook] name>'
+labels: area/community-management, sig/contributor-experience
+assignees: ''
+---
+<!--
+For guidelines on requesting a slack resource, use the below references:
+Channel Request: https://git.k8s.io/community/communication/slack-guidelines.md#Requesting-a-Channel
+Bot/Token/Webhook Request: https://git.k8s.io/community/communication/slack-guidelines.md#Requesting-a-Bot-Token-or-Webhook
+-->
+
+**GitHub Username:**
+<!--
+The github username of the Channel/Bot/Token/Webhook owner or primary contact.
+--->
+
+
+**Slack Username:**
+<!--
+The Slack username of the Channel/Bot/Token/Webhook owner or primary contact.
+--->
+
+
+**What Type of Request is it (Channel, Bot, Token, or Webhook)?**
+
+
+**Name of Requested Resource:**
+
+
+**Description of Request:**
+
+
+
diff --git a/CLA.md b/CLA.md
index 8beb8a7f..3ec3b49b 100644
--- a/CLA.md
+++ b/CLA.md
@@ -87,7 +87,11 @@ Canonical until 2017-03-31
## Troubleshooting
-If you have problems signing the CLA, send an email message to: `helpdesk@rt.linuxfoundation.org`.
+If you encounter any problems signing the CLA, log a ticket with the Linux
+Foundation ID group through the [Linux Foundation Support Site].
+
+Should you have any issues using the LF Support Site, send a message to the
+backup e-mail support address <login-issues@jira.linuxfoundation.org>
Someone from the CNCF will respond to your ticket to help.
@@ -95,3 +99,6 @@ Someone from the CNCF will respond to your ticket to help.
If you are a Kubernetes GitHub organization or repo owner and would like to setup
the Linux Foundation CNCF CLA check for your repositories, [read the docs on setting up the CNCF CLA check](/github-management/setting-up-cla-check.md)
+
+
+[Linux Foundation Support Site]: https://support.linuxfoundation.org/ \ No newline at end of file
diff --git a/Gopkg.lock b/Gopkg.lock
deleted file mode 100644
index 53091521..00000000
--- a/Gopkg.lock
+++ /dev/null
@@ -1,24 +0,0 @@
-# This file is autogenerated, do not edit; changes may be undone by the next 'dep ensure'.
-
-
-[[projects]]
- name = "github.com/client9/misspell"
- packages = [
- ".",
- "cmd/misspell"
- ]
- revision = "b90dc15cfd220ecf8bbc9043ecb928cef381f011"
- version = "v0.3.4"
-
-[[projects]]
- name = "gopkg.in/yaml.v2"
- packages = ["."]
- revision = "5420a8b6744d3b0345ab293f6fcba19c978f1183"
- version = "v2.2.1"
-
-[solve-meta]
- analyzer-name = "dep"
- analyzer-version = 1
- inputs-digest = "15876bcf5bae26a3d8ca6af5a0463be3842912808256ce8818c2f34e0b3859fd"
- solver-name = "gps-cdcl"
- solver-version = 1
diff --git a/Gopkg.toml b/Gopkg.toml
deleted file mode 100644
index a9c8f5c1..00000000
--- a/Gopkg.toml
+++ /dev/null
@@ -1,6 +0,0 @@
-required = ["github.com/client9/misspell/cmd/misspell"]
-
-[prune]
- go-tests = true
- unused-packages = true
- non-go = true
diff --git a/OWNERS b/OWNERS
index b01f7599..ae587343 100644
--- a/OWNERS
+++ b/OWNERS
@@ -16,4 +16,4 @@ approvers:
- idvoretskyi
- jdumars
- parispittman
- - steering-committee
+ - committee-steering
diff --git a/OWNERS_ALIASES b/OWNERS_ALIASES
index bfca59b1..4ec13ee3 100644
--- a/OWNERS_ALIASES
+++ b/OWNERS_ALIASES
@@ -10,6 +10,8 @@ aliases:
- bgrant0607
- jdumars
- mattfarina
+ - derekwaynecarr
+ - dims
sig-auth-leads:
- mikedanese
- enj
@@ -75,6 +77,8 @@ aliases:
- derekwaynecarr
sig-openstack-leads:
- hogepodge
+ - adisky
+ - chrigl
sig-pm-leads:
- apsinha
- idvoretskyi
@@ -90,7 +94,6 @@ aliases:
- bsalamat
- k82cn
sig-service-catalog-leads:
- - carolynvs
- kibbles-n-bytes
- jberkhahn
- jboyd01
@@ -153,8 +156,21 @@ aliases:
- aasmall
- joelsmith
- cji
-## BEGIN CUSTOM CONTENT
- steering-committee:
+ - jaybeale
+ committee-code-of-conduct:
+ - jdumars
+ - parispittman
+ - carolynvs
+ - eparis
+ - bradamant3
+ committee-product-security:
+ - philips
+ - jessfraz
+ - cjcullen
+ - tallclair
+ - liggitt
+ - joelsmith
+ committee-steering:
- bgrant0607
- brendanburns
- derekwaynecarr
@@ -167,10 +183,6 @@ aliases:
- smarterclayton
- spiffxp
- timothysc
- code-of-conduct-committee:
- - jdumars
- - parispittman
- - eparis
- - carolynvs
- - bradamant3
+## BEGIN CUSTOM CONTENT
+
## END CUSTOM CONTENT
diff --git a/README.md b/README.md
index bd746d42..f4bd9651 100644
--- a/README.md
+++ b/README.md
@@ -15,7 +15,7 @@ For more specific topics, try a SIG.
## Governance
-Kubernetes has three types of groups that are officially supported:
+Kubernetes has the following types of groups that are officially supported:
* **Committees** are named sets of people that are chartered to take on sensitive topics.
This group is encouraged to be as open as possible while achieving its mission but, because of the nature of the topics discussed, private communications are allowed.
@@ -30,6 +30,9 @@ Kubernetes has three types of groups that are officially supported:
* **Working Groups** are temporary groups that are formed to address issues that cross SIG boundaries.
Working groups do not own any code or other long term artifacts.
Working groups can report back and act through involved SIGs.
+* **User Groups** are groups for facilitating communication and discovery of information related to
+ topics that have long term relevance to large groups of Kubernetes users.
+ They do not have ownership of parts of the Kubernetes code base.
See the [full governance doc](governance.md) for more details on these groups.
diff --git a/SECURITY_CONTACTS b/SECURITY_CONTACTS
index 81091860..661e6695 100644
--- a/SECURITY_CONTACTS
+++ b/SECURITY_CONTACTS
@@ -1,10 +1,10 @@
# Defined below are the security contacts for this repo.
#
-# They are the contact point for the Product Security Team to reach out
+# They are the contact point for the Product Security Committee to reach out
# to for triaging and handling of incoming issues.
#
# The below names agree to abide by the
-# [Embargo Policy](https://github.com/kubernetes/sig-release/blob/master/security-release-process-documentation/security-release-process.md#embargo-policy)
+# [Embargo Policy](https://git.k8s.io/security/private-distributors-list.md#embargo-policy)
# and will be removed and replaced if they violate that agreement.
#
# DO NOT REPORT SECURITY VULNERABILITIES DIRECTLY TO THESE NAMES, FOLLOW THE
diff --git a/sig-cluster-ops/OWNERS b/archive/sig-cluster-ops/OWNERS
index 0b6b1e5f..0b6b1e5f 100644
--- a/sig-cluster-ops/OWNERS
+++ b/archive/sig-cluster-ops/OWNERS
diff --git a/sig-cluster-ops/README.md b/archive/sig-cluster-ops/README.md
index 2d07fe64..2d07fe64 100644
--- a/sig-cluster-ops/README.md
+++ b/archive/sig-cluster-ops/README.md
diff --git a/committee-code-of-conduct/OWNERS b/committee-code-of-conduct/OWNERS
index 4db02842..1e7cf443 100644
--- a/committee-code-of-conduct/OWNERS
+++ b/committee-code-of-conduct/OWNERS
@@ -1,8 +1,8 @@
# See the OWNERS docs at https://go.k8s.io/owners
reviewers:
- - code-of-conduct-committee
+ - committee-code-of-conduct
approvers:
- - code-of-conduct-committee
+ - committee-code-of-conduct
labels:
- committee/conduct
diff --git a/committee-code-of-conduct/README.md b/committee-code-of-conduct/README.md
index 7f6902d5..fe0f44e0 100644
--- a/committee-code-of-conduct/README.md
+++ b/committee-code-of-conduct/README.md
@@ -1,7 +1,40 @@
-# Kubernetes Code of Conduct Committee (CoCC)
+<!---
+This is an autogenerated file!
+
+Please do not edit this file directly, but instead make changes to the
+sigs.yaml file in the project root.
+
+To understand how this file is generated, see https://git.k8s.io/community/generator/README.md
+--->
+# Code of Conduct Committee
The Kubernetes Code of Conduct Committee (CoCC) is the body that is responsible for enforcing and maintaining the Kubernetes Code of Conduct.
+
+## Members
+
+* Jaice Singer Dumars (**[@jdumars](https://github.com/jdumars)**), Google
+* Paris Pittman (**[@parispittman](https://github.com/parispittman)**), Google
+* Carolyn Van Slyck (**[@carolynvs](https://github.com/carolynvs)**), Microsoft
+* Eric Paris (**[@eparis](https://github.com/eparis)**), Red Hat
+* Jennifer Rondeau (**[@bradamant3](https://github.com/bradamant3)**), VMware
+
+## Contact
+* Private Mailing List: conduct@kubernetes.io
+* [Open Community Issues/PRs](https://github.com/kubernetes/community/labels/ug%2Fconduct)
+
+## GitHub Teams
+
+The below teams can be mentioned on issues and PRs in order to get attention from the right people.
+Note that the links to display team membership will only work if you are a member of the org.
+
+| Team Name | Details | Description |
+| --------- |:-------:| ----------- |
+| @kubernetes/code-of-conduct-committee | [link](https://github.com/orgs/kubernetes/teams/code-of-conduct-committee) | General Discussion |
+
+<!-- BEGIN CUSTOM CONTENT -->
+## Terms
+
The members and their terms are as follows:
- Jaice Singer Dumars (Google) - 2 years
- Paris Pittman (Google) - 2 years
@@ -12,3 +45,4 @@ The members and their terms are as follows:
Please see the [bootstrapping document](./bootstrapping-process.md) for more information on how members are picked, their responsibilities, and how the committee will initially function.
_More information on how to contact this committee and learn about its process to come in the near future. For now, any Code of Conduct or Code of Conduct Committee concerns can be directed to <conduct@kubernetes.io>_.
+<!-- END CUSTOM CONTENT -->
diff --git a/committee-product-security/OWNERS b/committee-product-security/OWNERS
new file mode 100644
index 00000000..b49dedd5
--- /dev/null
+++ b/committee-product-security/OWNERS
@@ -0,0 +1,8 @@
+# See the OWNERS docs at https://go.k8s.io/owners
+
+reviewers:
+ - committee-product-security
+approvers:
+ - committee-product-security
+labels:
+ - committee/product-security
diff --git a/committee-product-security/README.md b/committee-product-security/README.md
new file mode 100644
index 00000000..3057c7ff
--- /dev/null
+++ b/committee-product-security/README.md
@@ -0,0 +1,49 @@
+<!---
+This is an autogenerated file!
+
+Please do not edit this file directly, but instead make changes to the
+sigs.yaml file in the project root.
+
+To understand how this file is generated, see https://git.k8s.io/community/generator/README.md
+--->
+# Product Security Committee
+
+The Kubernetes Product Security Committee is the body that is responsible for receiving and responding to reports of security issues in Kubernetes products.
+
+
+## Members
+
+* Brandon Philips (**[@philips](https://github.com/philips)**), Red Hat
+* Jess Frazelle (**[@jessfraz](https://github.com/jessfraz)**)
+* CJ Cullen (**[@cjcullen](https://github.com/cjcullen)**), Google
+* Tim Allclair (**[@tallclair](https://github.com/tallclair)**), Google
+* Jordan Liggitt (**[@liggitt](https://github.com/liggitt)**), Google
+* Joel Smith (**[@joelsmith](https://github.com/joelsmith)**), Red Hat
+
+## Contact
+* Private Mailing List: security@kubernetes.io
+* [Open Community Issues/PRs](https://github.com/kubernetes/community/labels/ug%2Fproduct-security)
+
+## Subprojects
+
+The following subprojects are owned by the Product Security Committee:
+- **security**
+ - Description: Policies and documentation for the Product Security Committee
+ - Owners:
+ - https://raw.githubusercontent.com/kubernetes/security/master/OWNERS
+
+## GitHub Teams
+
+The below teams can be mentioned on issues and PRs in order to get attention from the right people.
+Note that the links to display team membership will only work if you are a member of the org.
+
+| Team Name | Details | Description |
+| --------- |:-------:| ----------- |
+| @kubernetes/product-security-committee | [link](https://github.com/orgs/kubernetes/teams/product-security-committee) | General Discussion |
+
+<!-- BEGIN CUSTOM CONTENT -->
+**Note**: Information on how members are selected can be found
+[here](https://git.k8s.io/security/security-release-process.md#product-security-committee-membership).
+
+_To report a security issue, please email the private security@kubernetes.io list with the security details and the details expected for all Kubernetes bug reports._
+<!-- END CUSTOM CONTENT -->
diff --git a/committee-steering/OWNERS b/committee-steering/OWNERS
index b2b41a77..c73d211d 100644
--- a/committee-steering/OWNERS
+++ b/committee-steering/OWNERS
@@ -1,8 +1,8 @@
# See the OWNERS docs at https://go.k8s.io/owners
reviewers:
- - steering-committee
+ - committee-steering
approvers:
- - steering-committee
+ - committee-steering
labels:
- committee/steering
diff --git a/committee-steering/README.md b/committee-steering/README.md
new file mode 100644
index 00000000..9bb0214a
--- /dev/null
+++ b/committee-steering/README.md
@@ -0,0 +1,66 @@
+<!---
+This is an autogenerated file!
+
+Please do not edit this file directly, but instead make changes to the
+sigs.yaml file in the project root.
+
+To understand how this file is generated, see https://git.k8s.io/community/generator/README.md
+--->
+# Steering Committee
+
+The Kubernetes Steering Committee is the governing body of the Kubernetes project, providing decision-making and oversight pertaining to the Kubernetes project bylaws, sub-organizations, and financial planning. The Steering Committee also defines the project values and structure.
+
+The [charter](https://git.k8s.io/steering/charter.md) defines the scope and governance of the Steering Committee.
+
+## Meetings
+* Public Steering Committee Meeting: [Wednesdays at 13:00 PT (Pacific Time)](https://bit.ly/k8s-steering-wd) (biweekly). [Convert to your timezone](http://www.thetimezoneconverter.com/?t=13:00&tz=PT%20%28Pacific%20Time%29).
+ * [Meeting recordings](https://www.youtube.com/watch?v=YAzgJRQxsdc&list=PL69nYSiGNLP1yP1B_nd9-drjoxp0Q14qM).
+
+## Members
+
+* Brian Grant (**[@bgrant0607](https://github.com/bgrant0607)**), Google
+* Brendan Burns (**[@brendanburns](https://github.com/brendanburns)**), Microsoft
+* Derek Carr (**[@derekwaynecarr](https://github.com/derekwaynecarr)**), Red Hat
+* Davanum Srinivas (**[@dims](https://github.com/dims)**), Huawei
+* Joe Beda (**[@jbeda](https://github.com/jbeda)**), VMware
+* Michelle Noorali (**[@michelleN](https://github.com/michelleN)**), Microsoft
+* Brandon Philips (**[@philips](https://github.com/philips)**), Red Hat
+* Phillip Wittrock (**[@pwittrock](https://github.com/pwittrock)**), Google
+* Sarah Novotny (**[@sarahnovotny](https://github.com/sarahnovotny)**), Google
+* Clayton Coleman (**[@smarterclayton](https://github.com/smarterclayton)**), Red Hat
+* Aaron Crickenberger (**[@spiffxp](https://github.com/spiffxp)**), Google
+* Timothy St. Clair (**[@timothysc](https://github.com/timothysc)**), VMware
+
+## Contact
+* [Mailing list](https://groups.google.com/a/kubernetes.io/forum/#!forum/steering)
+* Private Mailing List: steering-private@kubernetes.io
+* [Open Community Issues/PRs](https://github.com/kubernetes/community/labels/ug%2Fsteering)
+
+## Subprojects
+
+The following subprojects are owned by the Steering Committee:
+- **steering**
+ - Description: Steering Committee policy and documentation
+ - Owners:
+ - https://raw.githubusercontent.com/kubernetes/steering/master/OWNERS
+- **kubernetes-template-project**
+ - Description: Template for starting new projects in the GitHub organizations owned by Kubernetes.
+ - Owners:
+ - https://raw.githubusercontent.com/kubernetes/kubernetes-template-project/master/OWNERS
+- **spartakus**
+ - Description: Collection of usage information about Kubernetes clusters.
+ - Owners:
+ - https://raw.githubusercontent.com/kubernetes-incubator/spartakus/master/OWNERS
+
+## GitHub Teams
+
+The below teams can be mentioned on issues and PRs in order to get attention from the right people.
+Note that the links to display team membership will only work if you are a member of the org.
+
+| Team Name | Details | Description |
+| --------- |:-------:| ----------- |
+| @kubernetes/steering-committee | [link](https://github.com/orgs/kubernetes/teams/steering-committee) | General Discussion |
+
+<!-- BEGIN CUSTOM CONTENT -->
+
+<!-- END CUSTOM CONTENT -->
diff --git a/committee-steering/governance/sig-governance.md b/committee-steering/governance/sig-governance.md
index bc646430..f48b3a5d 100644
--- a/committee-steering/governance/sig-governance.md
+++ b/committee-steering/governance/sig-governance.md
@@ -1,16 +1,25 @@
# SIG Roles and Organizational Governance
-This charter adheres to the conventions described in the [Kubernetes Charter README].
+This charter adheres to the conventions described in the [Kubernetes Charter README]. It will be updated as needed to meet the current needs of the Kubernetes project.
-This document will be updated as needed to meet the current needs of the Kubernetes project.
+In order to standardize Special Interest Group efforts, create maximum transparency, and route contributors to the appropriate SIG, SIGs should follow these guidelines:
+- Create a charter and have it approved according to the [SIG charter process]
+- Meet regularly, at least for 30 minutes every 3 weeks, except November and December
+- Keep up-to-date meeting notes, linked from the SIG's page in the community repo
+- Record meetings and make them publicly available on a YouTube playlist
+- Report activity in the weekly community meeting at least once every quarter
+- Participate in release planning meetings and retrospectives, and burndown meetings, as needed
+- Ensure related work happens in a project-owned github org and repository, with code and tests explicitly owned and supported by the SIG, including issue triage, PR reviews, test-failure response, bug fixes, etc.
+- Use the [forums provided] as the primary means of working, communicating, and collaborating, as opposed to private emails and meetings
+
+The process for setting up a SIG or Working Group (WG) is listed in the [sig-wg-lifecycle] document.
## Roles
### Notes on Roles
-Unless otherwise stated, individuals are expected to be responsive and active within
-their roles. Within this section "member" refers to a member of a Chair, Tech Lead or
-Subproject Owner Role. (this different from a SIG or Organization Member).
+Within this section "member" refers to a member of a Chair, Tech Lead or
+Subproject Owner Role. (this different from a SIG or Organization Member).
- Initial members are defined at the founding of the SIG or Subproject as part of the acceptance
of that SIG or Subproject.
@@ -20,7 +29,7 @@ Subproject Owner Role. (this different from a SIG or Organization Member).
role is adequately staffed during the leave.
- Members going on leave for 1-3 months *MAY* work with other
members to identify a temporary replacement.
-- Members of a role *SHOULD* remove any other members that have not communicated a
+- Members of a role *SHOULD* remove any other members that have not communicated a
leave of absence and either cannot be reached for more than 1 month or are not
fulfilling their documented responsibilities for more than 1 month.
This may be done through a [super-majority] vote of members, or if there are not
@@ -49,7 +58,7 @@ Subproject Owner Role. (this different from a SIG or Organization Member).
- Resolve X-Subproject technical issues and decisions
- Number: 2-3
- Membership tracked in [sigs.yaml]
-
+
### Subproject Owner
- Subproject Owners
@@ -74,7 +83,7 @@ Subproject Owner Role. (this different from a SIG or Organization Member).
### Security Contact
- Security Contact
- - *MUST* be a contact point for the Product Security Team to reach out to for
+ - *MUST* be a contact point for the Product Security Committee to reach out to for
triaging and handling of incoming issues
- *MUST* accept the [Embargo Policy]
- Defined in `SECURITY_CONTACTS` files, this is only relevant to the root file in
@@ -91,6 +100,11 @@ Subproject Owner Role. (this different from a SIG or Organization Member).
- Contributing instructions defined in the SIG CONTRIBUTING.md
### Project Management
+In addition, SIGs have the following responsibilities to SIG PM:
+- identify SIG annual roadmap
+- identify all SIG features in the current release
+- actively track / maintain SIG features within [k/enhancements]
+- attend [SIG PM] meetings, as needed / requested
#### Subproject Creation
@@ -113,7 +127,7 @@ Option 2: by Federation of Subprojects
- [sigs.yaml] *MUST* be updated to include subproject information and [OWNERS] files with subproject owners
- Where subprojects processes differ from the SIG governance, they must document how
- e.g. if subprojects release separately - they must document how release and planning is performed
-
+
Subprojects may create repos under *github.com/kubernetes-sigs* through [lazy-consensus] of subproject owners.
---
@@ -155,11 +169,17 @@ Issues impacting multiple subprojects in the SIG should be resolved by either:
- after 3 or more months it *SHOULD* be retired
- after 6 or more months it *MUST* be retired
+[SIG PM]: https://github.com/kubernetes/community/tree/master/sig-pm
+[k/enhancements]: https://github.com/kubernetes/enhancements
+[forums provided]:
+
[lazy-consensus]: http://en.osswiki.info/concepts/lazy_consensus
[super-majority]: https://en.wikipedia.org/wiki/Supermajority#Two-thirds_vote
[KEP]: https://git.k8s.io/enhancements/keps/YYYYMMDD-kep-template.md
[sigs.yaml]: https://github.com/kubernetes/community/blob/master/sigs.yaml#L1454
[OWNERS]: contributors/devel/owners.md
+[SIG Charter process]: https://github.com/kubernetes/community/blob/master/committee-steering/governance/README.md
[Kubernetes Charter README]: https://github.com/kubernetes/community/blob/master/committee-steering/governance/README.md
-[Embargo Policy]: https://github.com/kubernetes/sig-release/blob/master/security-release-process-documentation/security-release-process.md#embargo-policy
+[Embargo Policy]: https://git.k8s.io/security/private-distributors-list.md#embargo-policy
[SECURITY_CONTACTS]: https://github.com/kubernetes/kubernetes-template-project/blob/master/SECURITY_CONTACTS
+[sig-wg-lifecycle]: /sig-wg-lifecycle.md
diff --git a/committee-steering/governance/wg-governance.md b/committee-steering/governance/wg-governance.md
index 875774dc..16f9a88f 100644
--- a/committee-steering/governance/wg-governance.md
+++ b/committee-steering/governance/wg-governance.md
@@ -4,14 +4,14 @@
Working Groups provide a formal avenue for disparate groups to collaborate around a common problem, craft a balanced
position, and disband. Because they represent the interests of multiple groups, they are a vehicle for consensus
building. If code is developed as part of collaboration within the Working Group, that code will be housed in an
-appropriate repository as described in the [repositories document][repodoc]. The merging of this code into the repository
+appropriate repository as described in the [repositories document]. The merging of this code into the repository
will be governed by the standard policies regarding submitting code to that repository (e.g. developed within one or
more Subprojects owned by SIGs).
Because a working group is an official part of the Kubernetes project it is subject to steering committee oversight
over its formation and disbanding.
-[repodoc]: https://github.com/kubernetes/community/blob/master/github-management/kubernetes-repositories.md
+The tactical checklist to creation and/or retirement is found in the [SIG / WG lifeycle] document.
## Goals of the process
@@ -26,7 +26,7 @@ over its formation and disbanding.
- Changing the status of existing Working Groups/SIGs/Sub-projects
## Working Group Relationship To SIGs
-Assets owned by the Kubernetes project (e.g. code, docs, blogs, processes, etc) are owned and
+Assets owned by the Kubernetes project (e.g. code, docs, blogs, processes, etc) are owned and
managed by [SIGs](sig-governance.md). The exception to this is specific assets that may be owned
by Working Groups, as outlined below.
@@ -38,7 +38,7 @@ own the following types of assets:
- Discussion Forum Groups
Working Groups are distinct from SIGs in that they are intend to:
-
+
- facilitate collaboration across SIGs
- facilitate an exploration of a problem / solution through a group with minimal governmental overhead
@@ -73,23 +73,7 @@ should eventually be reflected in a pull request on sigs.yaml:
1. Who will chair the group, and ensure it continues to meet these requirements?
1. Is diversity well-represented in the Working Group?
-Once the above questions have been answered, the pull request against sigs.yaml can be created. Once the generator
-is run, this will in turn create the OWNERS_ALIASES file, readme files, and the main SIGs list. The minimum
-requirements for that are:
-
-- name
-- directory
-- mission statement
-- chair information
-- meeting information
-- contact methods
-- any [sig](sig-governance.md) stakeholders
-
-The pull request should be labeled with any SIG stakeholders and committee/steering. And since GitHub notifications
-are not a reliable means to contact people, an email should be sent to the mailing lists for the stakeholder SIGs,
-and the steering committee with a link to the PR. A member of the community admin team will place a /hold on it
-until it has an LGTM from at least one chair from each of the stakeholder SIGs, and a simple majority of the steering
-committee.
+Once the above questions have been answered, complete the rest of the checklist in the [SIG / WG Lifecycle] document
Once merged, the Working Group is officially chartered until it either completes its stated goal, or disbands
voluntarily (e.g. due to new facts, member attrition, change in direction, etc). Working groups should strive to
@@ -117,7 +101,8 @@ within the Working Group, and [sigs.yaml](/sigs.yaml) should be updated.
References
- [1] https://github.com/kubernetes/community/pull/1994
-- [2] https://groups.google.com/a/kubernetes.io/d/msg/steering/zEY93Swa_Ss/C0ziwjkGCQAJ
+- [2] https://groups.google.com/a/kubernetes.io/d/msg/steering/zEY93Swa_Ss/C0ziwjkGCQAJ
-[repository document]: https://github.com/kubernetes/community/blob/master/github-management/kubernetes-repositories.md
+[SIG / WG Lifecycle]: /sig-wg-lifecycle.md
+[repositories document]: https://github.com/kubernetes/community/blob/master/github-management/kubernetes-repositories.md
diff --git a/communication/K8sYoutubeCollaboration.md b/communication/K8sYoutubeCollaboration.md
index eec69b96..f9400682 100644
--- a/communication/K8sYoutubeCollaboration.md
+++ b/communication/K8sYoutubeCollaboration.md
@@ -1,43 +1,3 @@
-## Kubernetes Youtube Channel Collaboration
+This file has moved to https://git.k8s.io/community/communication/youtube-guidelines.md.
-
-### Meeting Playlists
-
-
-The [Kubernetes Youtube Channel](https://www.youtube.com/channel/UCZ2bu0qutTOM0tHYa_jkIwg) has separate playlists for each SIG’s meeting recordings, as well as recordings of other meetings (i.e. Cloud Native, Kubernetes Community meetings).
-
-To better serve the community, we have set up [collaboration](https://support.google.com/youtube/answer/6109639) on these playlists, so that anyone with the appropriate link to the particular playlist can upload videos *to that particular playlist* (links & playlists are 1:1).
-
-Each SIG playlist’s link will be shared with the SIG’s leadership, and other playlists' links (i.e. Cloud Native) will be shared with the appropriate point(s) of contact. The SIG playlist links will be sent to the official SIG lead Google Groups.
-
-### Uploading Guidelines for Collaborators
-
-Collaboration should simplify things for everyone, but with privilege comes responsibility :). We assume all playlist collaborators in the community will use things fairly and appropriately, subject to the guidelines below:
-
-1. Once collaboration is setup for each meeting recording playlist, the upload responsibility will fall on the SIG leaders or other appropriate point(s) of contact. Community managers *will only be escalation for issues with those playlists*
-
-2. Please post only related content (mostly meeting recordings) in the appropriate playlists
- - Posting of any exceedingly inappropriate content (i.e. NSFW content) will result in ***immediate*** suspension of privileges
-
-3. Please ensure all videos have the same naming format, which is:
- - Kubernetes [Name of Playlist’s Group] YYYYMMDD
- - i.e. Kubernetes SIG Service Catalog 20161129
-
-4. All playlists need to be organized chronologically for ease of use, which is most easily done by selected “date added, newest” as the “Ordering” option in the playlist settings
-
-5. Please do not remove any already-published content from the playlists without checking with the community managers
-
-6. For any small issues that arise (i.e. improper naming / ordering), you may be asked by the community managers to attempt to resolve the issue yourselves
-
-7. Any egregious or habitual violation* of the above rules will result in suspension of collaboration privileges for the particular individual, or for the entire playlist if the individual can’t be identified
- - If an individual is suspended, the playlist link will be remade and the new link will be shared with the non-offending individuals
- - If *playlist* collaboration is suspended, uploading by community managers to the playlist of interest will ***not*** be a priority, and will likely occur on a delayed basis
- - *Note that "habitual violation" means "more than 3 issues per quarter"
-
-### Permissions for G Suite Accounts
-
-- If you're using a G Suite account you might need to loosen the permissions in your YouTube settings. See [this help article](https://support.google.com/a/answer/6212415) for more information.
-
-Your community managers are happy to help with any questions that you may have and will do their best to help if anything goes wrong. Please get in touch via [SIG Contributor Experience](https://git.kubernetes.io/community/sig-contributor-experience).
-
-- Check the [centralized list of administrators](./moderators.md) for contact information.
+This file is a placeholder to preserve links. Please remove after 2019-06-12.
diff --git a/communication/OWNERS b/communication/OWNERS
index 61679c0e..48a8e20d 100644
--- a/communication/OWNERS
+++ b/communication/OWNERS
@@ -5,6 +5,8 @@ reviewers:
- castrojo
- jdumars
- idvoretskyi
+ - jeefy
+ - mrbobbytables
approvers:
- castrojo
- parispittman
diff --git a/communication/README.md b/communication/README.md
index f388ef56..79570ea1 100644
--- a/communication/README.md
+++ b/communication/README.md
@@ -27,7 +27,8 @@ and meetings devoted to Kubernetes.
[Join Slack] - sign up and join channels on topics that interest you, but please read our [Slack Guidelines] before participating.
-If you want to add a new channel, contact one of the admins in the #slack-admins channel.
+If you want to add a new channel, simply file a request following [these
+instructions](slack-guidelines.md#requesting-a-channel).
## Mailing lists
@@ -87,21 +88,16 @@ Kubernetes is the main focus of KubeCon + CloudNativeCon, held every spring in E
[Blog]: https://kubernetes.io/blog/
[calendar.google.com]: https://calendar.google.com/calendar/embed?src=cgnt364vd8s86hr2phapfjc6uk%40group.calendar.google.com&ctz=America/Los_Angeles
[Kubernetes code of conduct]: /code-of-conduct.md
-[communication]: /communication.md
-[community meeting]: /communication.md#weekly-meeting
[events]: https://www.cncf.io/events/
[file an issue]: https://github.com/kubernetes/kubernetes/issues/new
-[Google+]: https://plus.google.com/u/0/b/116512812300813784482/116512812300813784482
[iCal url]: https://calendar.google.com/calendar/ical/cgnt364vd8s86hr2phapfjc6uk%40group.calendar.google.com/public/basic.ics
[Kubernetes Community Meeting Agenda]: https://docs.google.com/document/d/1VQDIAB0OqiSjIHI8AWMvSdceWhnz56jNpZrLs6o7NJY/edit#
[kubernetes-community-video-chat]: https://groups.google.com/forum/#!forum/kubernetes-community-video-chat
[kubernetes-announce]: https://groups.google.com/forum/#!forum/kubernetes-announce
[kubernetes-dev]: https://groups.google.com/forum/#!forum/kubernetes-dev
[Discuss Kubernetes]: https://discuss.kubernetes.io
-[kubernetes.slack.com]: https://kubernetes.slack.com
[Join Slack]: http://slack.k8s.io
[Slack Guidelines]: /communication/slack-guidelines.md
-[Special Interest Group]: /README.md#SIGs
[Stack Overflow]: https://stackoverflow.com/questions/tagged/kubernetes
[timezone table]: https://www.google.com/search?q=1000+am+in+pst
[troubleshooting guide]: https://kubernetes.io/docs/tasks/debug-application-cluster/troubleshooting/
diff --git a/communication/meeting-notes-archive/q1-2_2018_community_meeting_minutes.md b/communication/meeting-notes-archive/201801-201807_Community_Meeting_Minutes.md
index 252ce630..252ce630 100644
--- a/communication/meeting-notes-archive/q1-2_2018_community_meeting_minutes.md
+++ b/communication/meeting-notes-archive/201801-201807_Community_Meeting_Minutes.md
diff --git a/communication/meeting-notes-archive/201808-201902_Community_Meeting_Minutes.md b/communication/meeting-notes-archive/201808-201902_Community_Meeting_Minutes.md
new file mode 100644
index 00000000..cf35af89
--- /dev/null
+++ b/communication/meeting-notes-archive/201808-201902_Community_Meeting_Minutes.md
@@ -0,0 +1,2587 @@
+
+
+## February 21, 2019 - ([recording](https://youtu.be/DYmZVxtyCN4))
+
+
+
+* **Moderators**: Jonas Rosland [SIG ContribEx]
+* **Note Taker**: Jorge Castro [SIG ContribEx]
+* [ 0:00 ]** Demo **-- Kubernetes in Kubernetes [?ukasz Ole?, [loles@mirantis.com](mailto:loles@mirantis.com)] (confirmed)
+ * [https://docs.google.com/presentation/d/1PsB_fU1IxjS2grRdMdBm_fsNlSgVChWQ6r-HwGyBRNw/edit?usp=sharing](https://docs.google.com/presentation/d/1PsB_fU1IxjS2grRdMdBm_fsNlSgVChWQ6r-HwGyBRNw/edit?usp=sharing)
+ * [https://github.com/lukaszo/cluster-api-provider-virtlet](https://github.com/lukaszo/cluster-api-provider-virtlet)
+* [ 0:00 ]** Release Updates**
+ * Current Release Development Cycle [Aaron Crickenberger - Release Manager]
+ * [We are at Week 7 for v1.14](https://github.com/kubernetes/sig-release/tree/master/releases/release-1.14) - [minutes](https://docs.google.com/document/d/1U3jL8Ucruoq9wyzIgxEdyA51MuOIi_gvecVed1kAli0/edit#heading=h.60ptyogm23dd) - [recording](https://youtu.be/SfaBzKPeaLk)
+ * Everything has a KEP, but are they useful
+ * We have [release-1.14-blocking](https://testgrid.k8s.io/sig-release-1.14-blocking) and [release-1.14-all](https://testgrid.k8s.io/sig-release-1.14-all) testgrid dashboards backed by release-1.14 jobs (thanks @amwat, @dbhanushali, @krzyzacy)
+ * Comments / questions / concerns on how this is going? Add them to [https://bit.ly/k8s114-retro](https://bit.ly/k8s114-retro)
+ * Upcoming milestones:
+ * **[Burndown](https://github.com/kubernetes/sig-release/tree/master/releases/release-1.14#burndown) Monday February 25** (week 8)
+ * **[Code Freeze](https://github.com/kubernetes/sig-release/tree/master/releases/release-1.14#code-freeze) Thursday March 7** (week 9)
+ * Enhancements
+ * [https://bit.ly/k8s114-enhancements](https://bit.ly/k8s114-enhancements)
+ * CI Signal
+ * [http://bit.ly/k8s114-cisignal](http://bit.ly/k8s114-cisignal)
+ * Patch Release Updates
+ * x.x
+ * y.x
+* [ 0:00 ] **Contributor Tip of the Week **[Katharine Berry]
+ * [Spyglass](https://github.com/kubernetes/test-infra/tree/master/prow/spyglass), and [the deprecation of Gubernator](https://github.com/kubernetes/test-infra/pull/11302) (to view artifacts! We're not touching the PR dashboard)
+ * You might know Gubernator as? that purple and white thing that shows test failures when you click the "Details" link on job results in PRs
+ * Spyglass is the prow component intended to replace this functionality, it's been around for a few months, but we're finally at enough parity that we'd like to switch over
+ * [kuberentes-dev@ thread](https://groups.google.com/forum/#!topic/kubernetes-dev/bzz5HZ3HRoc)
+* [ 0:00 ] **SIG Updates**
+ * SIG Leads, check out this set of [recommended topics to cover](https://github.com/kubernetes/community/blob/master/events/community-meeting.md#sig-updates) during your update
+ * [Slide template if you need it](https://docs.google.com/presentation/d/1-nTvKCiqu9UvFYUeM6p6RIqHS5-H-u3_x-V4xj_eIWo/edit#slide=id.g401c104a3c_0_0)
+ * Please also check the [SIG Update Schedule](https://docs.google.com/spreadsheets/d/1adztrJ05mQ_cjatYSnvyiy85KjuI6-GuXsRsP-T2R3k)!
+ * SIG Contributor Experience [Paris Pittman] (confirmed)
+ * [Slides](https://docs.google.com/presentation/d/14JKmY0DZ1BiZvy21jCSrxqX8EGRhHuZJWseKW3nQZX4/edit?usp=sharing) (open to kdev and contribex)
+ * SIG AWS [Nishi Davidson] (confirmed)
+ * [Slides](https://docs.google.com/presentation/d/1400kj3WXVZTpTi0dhpmb_9CN3_URV608qgcsey0jQwQ/edit#slide=id.p2)
+ * SIG Scheduling [Bobby Salamat] (confirmed)
+ * [Slides](https://docs.google.com/presentation/d/13zxbEZPIqPB2AN-nDfY3gXW_ojId8f1yrKFCN_NvLoQ/edit?ts=5c6de6ec#slide=id.p)
+* [ 0:00 ] **?Announcements ?**
+ * From SIG Docs: [https://requestbin.com/](https://requestbin.com/) for live API/webhook testing: We recently launched an updated, hosted version of the tool at RequestBin.com with new features including private bins (with Google / Github authentication), ability to pause the event stream and an improved UI. Thousands of developers are using the new version today and it is ready for public distribution.
+ * [@kubernetes-maintainers and @kubernetes-release-managers are losing direct write access to kubernetes/enhancements](https://github.com/kubernetes/enhancements/issues/590) [spiffxp]
+
+ **? **Shoutouts this week (Check in #shoutouts on slack) **?**
+
+ * #kind shoutout from @mauilion on #TGIK right now! Thank you to the maintainers @bentheelder @munnerz
+ * to name a few very helpful hands with #kind @neolit123, @fabrizio.pandini, @Jorge, @TaoBeier, @amwat, @krzyzacy :left-shark:
+ * thanks to @bentheelder and @krzyzacy for helping with the creation of a new "kind" based deployer for kubetest (in test-infra)!!
+ * Shoutout to @bentheelder for sharing good insight on how to publish K8s projects!
+
+
+## February 14, 2019 (recording)
+
+
+
+* **Moderator**: Jeff Sica, SIG UI
+* **Note Taker: **
+* [ 0:00 ] **Demo**: Kube-service-exporter: A way to bring your own load balancer to balance across multiple clusters, using consul - Guinevere Saenger, GitHub
+* **Release updates:**
+ * **marpaia (confirmed)**
+* **SIG Updates: **
+ * **Docs (Zach - confirmed)**
+ * [Presentation](https://docs.google.com/presentation/d/1cEOPr9rxNAviOjru_7kXaTxDG-8sF_DPiYIpwERL22U/edit#slide=id.g401c104a3c_0_0)
+ * **Storage (Saad - confirmed)**
+ * [Presentation](https://docs.google.com/presentation/d/11xKfUsH_ePscMQMH7HnIKI37cOSc0BWDEQg5fSF7yHw/edit?usp=sharing)
+* **Announcements:**
+ * **Slack update: **we are only manually inviting contributors who need access for now until we hear from Slack. If you are in a SIG and have a member that needs access, Ping in #slack-admins and an admin will DM you for the email. Consumer traffic is being routed to discuss.kubernetes.io.
+ *
+ * **Kubecon Shanghai CFP** ends at 11:59PM PT, February 22, 2019
+ * SIG Deep Dives/Intros due:
+ * **Shoutouts (see slack #shoutouts) **
+ * nikhita - Figured this makes a good shoutout too! @spiffxp @pwittrock :smile:
+ * dbhanushali (The-Wall)- In no particular order @krzyzacy (seen) @amwat (Amit) @cjwagner (Cole) @ixdy (Jeff) @bentheelder (Been). shoutout for their assistance in test-infra release task automation
+ * spiffxp - Shoutouts to @coderanger @mrbobbytables and @kbarnard10 for putting together and posting https://kubernetes.io/blog/2019/02/11/runc-and-cve-2019-5736/ so quickly
+ * nikhita - shoutout to @mrbobbytables and @justaugustus for handling new member requests in k/org in such a timely manner! It feels like there are at least 4-5 requests every day and they still manage to get to each of them, while simultaneously doing so many other things for our community! :100:
+ * paris - thanks Jeff for hosting this call in my absence at the last minute. True team player!
+ * mrbobbytables - shoutout to @zacharysarah, sig-docs and everyone involved in kick starting the french translation efforts! @sieben @Aurelien Perrier @lledru @yastij @smana @rbenzair @Jean-Yves Gastaud and the others I don't have slack handles for but heres github: awkif, abuisine, rekcah78 and erickhun
+
+
+## February 7, 2019 - ([recording](https://youtu.be/F4NTezNKusU))
+
+
+
+* **Moderators**: Josh Berkus [SIG-Release]
+* **Note Taker**: GDoc outage during meeting, notes are incomplete
+* [ 0:00 ]** Demo **-- Eclipse Che / CodeReady Workspaces [Mario Loriedo [mloriedo@redhat.com](mailto:mloriedo@redhat.com) Stevan Le Meur [slemeur@redhat.com](mailto:slemeur@redhat.com) ] (confirmed)
+ * [http://bit.ly/intro-che-kubecc](http://bit.ly/intro-che-kubecc)
+ * [https://eclipse.org/che](https://eclipse.org/che)
+ * [https://github.com/eclipse/che](https://github.com/eclipse/che)
+* [ 0:00 ]** Release Updates**
+ * Current Release Development Cycle [Aaron Crickenberger - Release Manager]
+ * [We are at Week 5 for v1.14](https://github.com/kubernetes/sig-release/tree/master/releases/release-1.14) - [minutes](https://docs.google.com/document/d/1U3jL8Ucruoq9wyzIgxEdyA51MuOIi_gvecVed1kAli0/edit#heading=h.wxzklg8jw1a) - [recording](https://youtu.be/SfaBzKPeaLk)
+ * Upcoming milestones:
+ * **[Burndown](https://github.com/kubernetes/sig-release/tree/master/releases/release-1.14#burndown) Monday February 25** (week 8)
+ * **[Code Freeze](https://github.com/kubernetes/sig-release/tree/master/releases/release-1.14#code-freeze) Thursday March 7** (week 9)
+ * Enhancements
+ * [https://bit.ly/k8s114-enhancements](https://bit.ly/k8s114-enhancements)
+ * [20 alpha](https://github.com/kubernetes/enhancements/issues?utf8=%E2%9C%93&q=is%3Aissue+is%3Aopen+milestone%3Av1.14+sort%3Acreated-asc+label%3Astage%2Falpha), [13 beta](https://github.com/kubernetes/enhancements/issues?utf8=%E2%9C%93&q=is%3Aissue+is%3Aopen+milestone%3Av1.14+sort%3Acreated-asc+label%3Astage%2Fbeta), [6 stable](https://github.com/kubernetes/enhancements/issues?utf8=%E2%9C%93&q=is%3Aissue+is%3Aopen+milestone%3Av1.14+sort%3Acreated-asc+label%3Astage%2Fstable)
+ * Comments / questions / concerns on how this went? Add them to [https://bit.ly/k8s114-retro](https://bit.ly/k8s114-retro)
+ * CI Signal
+ * [http://bit.ly/k8s114-cisignal](http://bit.ly/k8s114-cisignal)
+ * Patch Release Updates
+ * No patch releases planned this week.
+* [ 0:00 ] **SIG Updates**
+ * SIG Instrumentation [Frederic Branczyk] (confirmed)
+ * Slides: [https://docs.google.com/presentation/d/1KzYZCf5VUMp65H_vlPwg7AD4UIXWTRtiUK34L1GYOqE/edit?usp=sharing](https://docs.google.com/presentation/d/1KzYZCf5VUMp65H_vlPwg7AD4UIXWTRtiUK34L1GYOqE/edit?usp=sharing)
+ * SIG Testing (postponed due to issues)
+ * SIG PM [Stephen Augustus] (confirmed)
+ * Slides: [https://docs.google.com/presentation/d/1A3xvBhMqjuPu183RFVSBZptm9hz-_Qz24XzZu14Qsoc/edit?usp=sharing](https://docs.google.com/presentation/d/1A3xvBhMqjuPu183RFVSBZptm9hz-_Qz24XzZu14Qsoc/edit?usp=sharing)
+* [ 0:00 ] **?Announcements ?**
+ * SIG Cluster Lifecycle has published a [grooming document](https://github.com/kubernetes/community/blob/master/sig-cluster-lifecycle/grooming.md) - "By providing a consistent set of best practices, it allows developers to work across sub-projects fairly easily. More importantly, it signals direction and priority to developers who may be new to the sub-projects." ? might be useful to other SIGs!
+ * We had a slack bad actor incident on Sunday Evening and the inviter is down. Slack.k8s.io is pointing to discuss.kubernetes.io. Once we have finished our talks with Slack and moderators have discussed, we will alert everyone as to the status of the inviter.
+
+ **? **Shoutouts this week (Check in #shoutouts on slack) **?**
+
+
+ Cblecker: OSS Good Feeling of the Day: Thanks to @eduar's diligent sorting of docs and adding owners files, I'm already seeing PRs being approved and merged by the actual owners of the files, rather than needing top-level approval from folks like me. Delegation and empowering people! \
+Paris: shoutout to @coderanger who helped us during a slack spam attack this week and created a 404 redirect to slack.k8s.io to help close the loop for people looking to join this slack for kubernetes support and community. Also thanks to @thockin and @spiffxp for stepping in to help us on a sunday evening
+
+
+ Nikhita: shoutout to @paris @jdumars @spiffxp @coderanger @bentheelder for their quick response in dealing with spam attacks!
+
+
+ ** \
+**
+
+
+
+## January 31, 2019 ([recording](https://youtu.be/YWa5ATDP9Dk))
+
+
+
+* **Moderators**: Jeffrey Sica [SIG UI]
+* **Note Taker**:
+* [ 0:00 ]** Demo**
+ * multicluster-scheduler: Running Argo Workflows Across Multiple Kubernetes Clusters ([adrien@admiralty.io](mailto:adrien@admiralty.io))
+
+ Slides: [https://docs.google.com/presentation/d/12UzVDWmwdyWCMttAWIDld2udri5sILIFWWqZzqfjrX4/edit?usp=sharing](https://docs.google.com/presentation/d/12UzVDWmwdyWCMttAWIDld2udri5sILIFWWqZzqfjrX4/edit?usp=sharing)
+
+* [ 0:00 ]** Release Updates**
+ * Current Release Development Cycle [Aaron Crickenberger - Release Manager]
+ * [We are at Week 4 for v1.14](https://github.com/kubernetes/sig-release/tree/master/releases/release-1.14) - [minutes](https://docs.google.com/document/d/1U3jL8Ucruoq9wyzIgxEdyA51MuOIi_gvecVed1kAli0/edit#heading=h.dhwowocfhooj) - [recording](https://www.youtube.com/watch?v=1GY-VnEHqNY&t=9s&list=PL69nYSiGNLP3QKkOsDsO6A0Y1rhgP84iZ&index=3)
+ * Upcoming milestones:
+ * **[KEPs Implementable](https://github.com/kubernetes/sig-release/tree/master/releases/release-1.14#enhancements-freeze)** **Monday February 4** (week 5)
+ * **[Burndown](https://github.com/kubernetes/sig-release/tree/master/releases/release-1.14#burndown) Monday February 25** (week 8)
+ * **[Code Freeze](https://github.com/kubernetes/sig-release/tree/master/releases/release-1.14#code-freeze) Thursday March 7** (week 9)
+ * Builds
+ * [We cut v1.14.0-alpha.2](https://github.com/kubernetes/sig-release/issues/460)
+ * We will cut by [1.14.0-alpha.3](https://github.com/kubernetes/sig-release/issues/474) Tuesday February 12 (week 6)
+ * Enhancements
+ * [https://bit.ly/k8s114-enhancements](https://bit.ly/k8s114-enhancements)
+ * [Enhancements freeze](https://github.com/kubernetes/sig-release/tree/master/releases/release-1.14#enhancements-freeze) was Tuesday
+ * 8 alpha, 8 beta, 9 stable = 25 with issues and implementable KEPs
+ * Son of Enhancements Freeze Pt II First Blood This Time It's Serious is Monday
+ * We would have also accepted "Bring out your KEPs"
+ * [https://kubernetes.slack.com/archives/C2C40FMNF/p1548895977819200](https://kubernetes.slack.com/archives/C2C40FMNF/p1548895977819200)
+ * 8 alpha, 3 beta, 0 stable = 11 KEPs that need to get to implementable by Monday
+ * [kubernetes-dev@ e-mail](https://groups.google.com/forum/#!topic/kubernetes-dev/G5X_iQOIKQE)
+ * [repo: kubernetes/enhancements milestone:v1.14](https://github.com/kubernetes/enhancements/milestone/13)
+ * If you have any questions about the KEP process, join us at (HEY AARON FILL THIS OUT) meeting.
+ * CI Signal
+ * [http://bit.ly/k8s114-cisignal](http://bit.ly/k8s114-cisignal)
+ * We watch [release-master-blocking](https://testgrid.k8s.io/sig-release-master-blocking), [release-master-upgrade](https://testgrid.k8s.io/sig-release-master-upgrade)
+ * We are informed by [release-master-informing](https://testgrid.k8s.io/sig-release-master-informing) (still being iterated on)
+ * FYI: [pull-kubernetes-e2e-kops-aws is optional, non-blocking](https://groups.google.com/forum/#!topic/kubernetes-dev/mvzwnWR3ahg)
+ * Implementing [release-blocking job criteria](https://github.com/kubernetes/sig-release/blob/master/release-blocking-jobs.md#release-blocking-criteria): all release-blocking jobs must have owners
+ * Specify "owner" as "an e-mail address that testgrid can send alerts to if the job fails more than N times in a row"
+ * Tracking issue: [https://github.com/kubernetes/sig-release/issues/441](https://github.com/kubernetes/sig-release/issues/441)
+ * WIP PR: [https://github.com/kubernetes/test-infra/pull/10870](https://github.com/kubernetes/test-infra/pull/10870)
+ * Patch Release Updates
+ * 1.13.3: [aiming](https://groups.google.com/d/topic/kubernetes-dev-announce/mxdNPaiJFHA/discussion) for tomorrow
+* [ 0:00 ] **SIG Updates**
+ * SIG Leads, check out this set of [recommended topics to cover](https://github.com/kubernetes/community/blob/master/events/community-meeting.md#sig-updates) during your update
+ * [Slide template if you need it](https://docs.google.com/presentation/d/1-nTvKCiqu9UvFYUeM6p6RIqHS5-H-u3_x-V4xj_eIWo/edit#slide=id.g401c104a3c_0_0)
+ * Please also check the [SIG Update Schedule](https://docs.google.com/spreadsheets/d/1adztrJ05mQ_cjatYSnvyiy85KjuI6-GuXsRsP-T2R3k)!
+ * SIG-Azure [@strebel confirmed]
+ * SIG-Big Data [???]
+ * SIG-Release [@tpepper confirmed]: [slides link](https://docs.google.com/presentation/d/1B3FVf8B21qBMD1FCKvKx2uS1dNPTG9J9BPRynBpYir8/edit?usp=sharing)
+* [ 0:00 ] **?Announcements ?**
+ * Google Summer of Code [Paris, Nikhita, Ihor]:
+ * The deadline to submit project ideas is February 6 20:00 UTC
+ * More details:
+ * [https://github.com/cncf/soc#project-ideas](https://github.com/cncf/soc#project-ideas)
+ * [https://groups.google.com/d/msg/kubernetes-dev/S7HsqOkiC5g/DLSXB4oDEQAJ](https://groups.google.com/d/msg/kubernetes-dev/S7HsqOkiC5g/DLSXB4oDEQAJ)
+ * Register to SIG updates (Intro and Deep Dive sessions) in Barcelona:
+ * The deadline to register to offer Intro and Deep Dive sessions for Barcelona is Friday, February 8.
+ * To register an intro and/or deep dive session for Barcelona, please go to: [https://www.surveymonkey.com/r/J5K9JJR](https://www.surveymonkey.com/r/J5K9JJR)
+ * SIG/WG Chairs and coleads (Jorge):
+ * We need to complete our move to host-keys on Zoom.
+ * Here [are the instructions](https://docs.google.com/document/d/1fudC_diqhN2TdclGKnQ4Omu4mwom83kYbZ5uzVRI07w/).
+ * This is the only thing blocking us from having the calendar public on the web! It would be nice to have this back, see [issue #2536](https://github.com/kubernetes/community/issues/2536).
+ * Talk to a Jorge or Paris near you if you have questions/need help.
+ * Kubecon Shanghai CFP deadline: February 22, 2019
+ * [Meet our contributors next week](https://github.com/kubernetes/community/blob/master/mentoring/meet-our-contributors.md)!
+ * Looking for mentors, please see @paris
+ * Especially if you're new, we want to hear about the beginning of your k8s journey.
+ * **? **Shoutouts this week (Check in #shoutouts on slack) **?**
+ * zacharysarah - Shoutout to @bentheelder for proactively seeking to collaborate on subdomain site design! [https://github.com/kubernetes/org/issues/397](https://github.com/kubernetes/org/issues/397)
+ * neolit123 - big thank you to @spiffxp for helping drive the PR that removes tracking of placeholder reference docs in the `k/k` repository. [https://github.com/kubernetes/kubernetes/pull/70052](https://github.com/kubernetes/kubernetes/pull/70052)
+ * spiffxp - shoutouts to @liggitt for making me forever associate "KEP" with [https://www.youtube.com/watch?v=vh3tuL_DVsE](https://www.youtube.com/watch?v=vh3tuL_DVsE)
+ * spiffxp - shoutouts to @stevekuznetsov for getting PR Number Eleven Thousand in [kubernetes/test-infra](https://github.com/kubernetes/test-infra)! [https://github.com/kubernetes/test-infra/pull/11000](https://github.com/kubernetes/test-infra/pull/11000)
+ * akutz - I wanted to #shoutout @stevekuznetsov. He always takes the time to fill in his issues on the #sig-testing weekly call agenda ahead of time and with great detail and links. This makes taking notes in real time much easier when it's his issues. Thank you Steve!
+ * paris - @mrbobbytables for knocking out a ton of "glue" work in our communication documentation to make our processes more complete and transparent in `kubernetes/community/communication` and closing several issues around them! thanks so much bob!
+ * spiffxp - shoutout to @liggitt for suggesting the KEP extension to release freeze and providing language around it [https://github.com/kubernetes/sig-release/pull/482](https://github.com/kubernetes/sig-release/pull/482)
+
+
+## January 24, 2019 ([recording](https://youtu.be/bJ_p9t19xqs))
+
+
+
+* **Moderators**: Jorge Castro [SIG Contributor Experience]
+* **Note Taker**: Bob Killen
+* [ 0:00 ]** Demo **-- Tracing Pod Startup in Kubernetes -- David Ashpole (@dashpole) (confirmed)
+ * [Link to slides](https://docs.google.com/presentation/d/1-vGwSAHYNFod2WURHLSXZtL-F2_7gvJcCSRXanW16Zs/edit?usp=sharing)
+ * Intern Sam did all the work ([@Monkeyanator](https://github.com/Monkeyanator))
+ * Latency problems in Kubernetes are hard
+ * current tools don't cut it: events, logs, latency metrics
+ * distributed tracing helps solve these problems
+ * Uses OpenCensus - Open Source vendor agnostic tracing library
+ * can push to other tracing backends such as zipkin
+ * Very easy to configure on top of Kubernetes
+ * Adds annotation to pod and can follow all events related to that pod across Kubernetes by referencing that annotation
+ * Very useful for debugging complex problems that span multiple components
+ * Future:
+ * pass trace context through downward api into containers
+ * add trace mechanisms to other Kubernetes objects and CRDs
+ * Trace other object processes e.g. object updates and deletions
+ * Link form spans in trace interface to logs (needs context-aware logging)
+ * [KEP is in review](https://github.com/kubernetes/enhancements/pull/650)
+ * Link to repositories:
+ * [kubernetes-sigs/mutating-trace-admission-controller](https://github.com/kubernetes-sigs/mutating-trace-admission-controller)
+* [ 0:00 ]** Release Updates**
+ * Current Release Development Cycle [Aaron Crickenberger - Release Manager]
+ * [We are at Week 3 for v1.14](https://github.com/kubernetes/sig-release/tree/master/releases/release-1.14) - [minutes](https://docs.google.com/document/d/1U3jL8Ucruoq9wyzIgxEdyA51MuOIi_gvecVed1kAli0/edit#heading=h.jhszixku4dgy) - [recording](https://www.youtube.com/watch?v=OJv2i7TMh9E)
+ * [Our release team has shadows](m)
+ * [We have a release notes draft](https://github.com/kubernetes/sig-release/blob/master/releases/release-1.14/release-notes-draft.md)
+ * Upcoming milestones:
+ * **[Enhancements freeze](https://github.com/kubernetes/sig-release/tree/master/releases/release-1.14#enhancements-freeze) Tuesday Jan 29** (week 4)
+ * Enhancements
+ * Everything must have a KEP
+ * [PR to update KEP template](https://github.com/kubernetes/enhancements/pull/703)
+ * [repo: kubernetes/enhancements milestone:v1.14](https://github.com/kubernetes/enhancements/milestone/13)
+ * [https://bit.ly/k8s114-enhancements](https://bit.ly/k8s114-enhancements) (contact Enhancements Lead @claurence if you need to add/modify stuff)
+ * What about after the freeze? [Use the exception process](https://github.com/kubernetes/sig-release/tree/master/releases/release-1.14#exceptions)
+ * 41 enhancements, 19 in alpha, 11 in beta and 6 for GA. Would be good to have less alpha, more stable.
+ * CI Signal
+ * [http://bit.ly/k8s114-cisignal](http://bit.ly/k8s114-cisignal)
+ * We watch [release-master-blocking](https://testgrid.k8s.io/sig-release-master-blocking)
+ * Currently tracked in google doc, likely to change going forward
+ * Implementing [release-blocking job criteria](https://github.com/kubernetes/sig-release/blob/master/release-blocking-jobs.md#release-blocking-criteria): all release-blocking jobs must have owners
+ * Specify "owner" as "an e-mail address that testgrid can send alerts to if the job fails more than N times in a row"
+ * Tracking issue: [https://github.com/kubernetes/sig-release/issues/441](https://github.com/kubernetes/sig-release/issues/441)
+ * WIP PR: [https://github.com/kubernetes/test-infra/pull/10870](https://github.com/kubernetes/test-infra/pull/10870)
+ * Will be required "soon" (~week?) (k-dev@, look for e-mail, and SIGs, expect to be contacted)
+ * Patch Release Updates
+ * x.x
+ * y.x
+* [ 0:00 ] **SIG Updates**
+ * SIG Leads, check out this set of [recommended topics to cover](https://github.com/kubernetes/community/blob/master/events/community-meeting.md#sig-updates) during your update
+ * [Slide template if you need it](https://docs.google.com/presentation/d/1-nTvKCiqu9UvFYUeM6p6RIqHS5-H-u3_x-V4xj_eIWo/edit#slide=id.g401c104a3c_0_0)
+ * Please also check the [SIG Update Schedule](https://docs.google.com/spreadsheets/d/1adztrJ05mQ_cjatYSnvyiy85KjuI6-GuXsRsP-T2R3k)!
+ * [SIG Node](https://docs.google.com/presentation/d/17TtCtbZrPaPtv5xlIo0K-VKqooDNb6UIrcFMCwMre1k/edit#slide=id.p) [Dawn Chen] (confirmed)
+ * Revised SIG Scope
+ * Kubelet and its features
+ * Pod API and Pod behaviors (with sig-architecture)
+ * Node API (with sig-architecture)
+ * Node controller
+ * Node level performance and scalability (with sig-scalability)
+ * Node reliability (problem detection and remediation)
+ * Node lifecycle management (with sig-cluster-lifecycle)
+ * Container runtime
+ * Proposed new container shim api with containerd community
+ * Important for working with Windows
+ * Device management
+ * More collaboration with containerd community
+ * Image management
+ * Node-level resource management (with sig-scheduling)
+ * Hardware discovery
+ * Issues related to node, pod, container monitoring (with sig-instrumentation)
+ * Node level security and Pod isolation (with sig-auth)
+ * Host OS and/or kernel interactions (to a limited extent)
+ * Accomplishments in v1.13
+ * RuntimeClass - multi container runtime support
+ * efficient heartbeat for scalability (alpha)
+ * better windows support
+ * process namespace sharing promoted to beta
+ * Q1 Updates
+ * graduating / promoting features to next phase
+ * efficient heartbeat - beta
+ * runtimeClass - beta
+ * node OS/arch labels to GA
+ * HugePages - graduated
+ * Improve node-level isolation: pids, userns, disk quota
+ * work with sig-windows to promote windows node to GA
+ * in-place pod resource updates
+ * cpu/device co-scheduling
+ * improve debugging at node level
+ * debug containers alpha
+ * [tracing](https://github.com/kubernetes/enhancements/pull/650)
+ * [SIG API Machinery](https://docs.google.com/presentation/d/1S9faDXJ_cs5oZlN74ysJVtytiCnBjoZliFBmt7mZEd8/edit#slide=id.g401c104a3c_0_0) [David Eads] (confirmed)
+ * Last Cycle
+ * CRD webhook conversion - alpha 1.13
+ * Please test it, looking for more testers to ensure it covers all use cases.
+ * Dynamic typed informers and listers - 1.13
+ * Should make it easier to build dynamic controllers
+ * Pans for upcoming cycles
+ * path for admission webhooks to GA
+ * need to finish KEP
+ * Server side apply - alpha
+ * Storage migration tool
+ * Deprecating swagger.json (not the "normal" openapi)
+ * Deprecating initializers, never made it past alpha
+ * Investigating API request fairness
+ * looking for comments on design proposal (insert link here)
+* [ 0:00 ] **?Announcements ?**
+ * [spiffxp] Nikhita Raghunath (@nikhita) has joined the [GitHub Admin Team](https://github.com/kubernetes/community/tree/master/github-management)
+ * Huge thanks to Garrett Rodrigues (@grodrigues3) for his time on the team
+ * [spiffxp] Next week's Steering Committee meeting: [we're going to try doing it publicly](https://groups.google.com/a/kubernetes.io/forum/#!topic/steering/47-0nmW5MqY), stay tuned for details
+
+ **? **Shoutouts this week (Check in #shoutouts on slack) **?**
+
+ * Aaron Crickenberger would like to thank:
+ * Ben Elder fixing yesterday's prow outage even though he wasn't on call, and following up with a post-mortem: [https://github.com/kubernetes/test-infra/pull/10911](https://github.com/kubernetes/test-infra/pull/10911)
+ * @eduar for reaching out to all of the SIGs and his continued work on revamping the kubernetes dev guide [https://github.com/kubernetes/community/issues/3064](https://github.com/kubernetes/community/issues/3064)
+ * Shoutouts to Hippie Hacker, Tim Hockin and Brendan Burns for transitioning the first piece of project infrastructure to the community: DNS
+ * Editor's note: tim-as-a-service DNS has been deprecated
+ * shoutouts to Bob Killen (@mrbobbytables) for putting together a community documentation style guide [https://github.com/kubernetes/community/pull/3125](https://github.com/kubernetes/community/pull/3125)
+ * Aramb? Alarc?n has[ hosting facilities in Mexico City](https://discuss.kubernetes.io/t/looking-for-a-meetup-in-mexico-city-facilities-for-gathering-host/4347), would like to start hosting a k8s meetup group.
+ * Henning Jacobs is collecting a list of [Kubernetes Failure Stories](https://srcco.de/posts/kubernetes-failure-stories.html).
+ * Call for demos for this call, see the top of this document if you're interested in giving a demo.
+ * Also if you want to guest host this meeting, ping @castrojo or @paris
+ * #talk-proposals on slack - Place for people to discuss CFPs, talks, share stories and techniques, get peer reviews, etc.
+
+
+## January 17, 2019 ([recording](https://youtu.be/Pm0heuYoPnA))
+
+
+
+* **Moderators**: Paris Pittman, SIG-Contributor Experience
+* **Note Taker**: Josh Berkus
+* [ 0:00 ]**Demo: **Kamus (confirmed) (forgot to get name)
+ * [Kamus](https://github.com/Soluto/kamus) - A secret encryption/decryption solution for Kubernetes applications.
+ * open source, avail on Github
+ * [Slides](https://docs.google.com/presentation/d/1XN_eSUwefkVs8HLv_IeVfIx4giu_qN4tb7JdLdxuFQ0)
+ * For storing all types of secrets (API token, certs, client pwd)
+ * Existing secrets solutions are incomplete
+ * Folks use "sealed secrets", but that has limitations too
+ * Demo of Kamus
+ * 5 pods running PHP app with "decryptor"
+ * it's one for the app, 4 for Kamus api: 2 handling encryption and 2 handling decryption
+ * Uses an encryptor exec to encrypt the secrets, and an init container to provide app containers with secrets access
+ * Demo didn't work initially, but worked later
+ * Where are secrets being stored?
+ * Multiple encryption options
+ * Stored in either azure keyvault or gcp (google cloud)-kms(?)
+ * (so, stored in cloud provider secrets store)
+* [ 0:00 ]** Release Updates**
+ * Current Release Development Cycle [Aaron Crickenberger, @spiffxp] (confirmed)
+ * [We are at Week 2 for v1.14](https://github.com/kubernetes/sig-release/tree/master/releases/release-1.14) - [minutes](https://docs.google.com/document/d/1U3jL8Ucruoq9wyzIgxEdyA51MuOIi_gvecVed1kAli0/edit#heading=h.jhszixku4dgy) - [recording](https://www.youtube.com/watch?v=_brMdDFOGeM)
+ * [We cut 1.14.0-alpha.1](https://github.com/kubernetes/sig-release/issues/447) Tuesday Jan 15
+ * problem: no deb/rpm packages because there's only one release channel
+ * WIP: alpha/beta channels
+ * SIG-Release will be adding release-engineering subproject
+ * Upcoming milestones:
+ * [Finalized team by Friday Jan 18](https://github.com/kubernetes/sig-release/issues/372 ) (week 2)
+ * **[Enhancements freeze](https://github.com/kubernetes/sig-release/tree/master/releases/release-1.14#enhancements-freeze) Tuesday Jan 29** (week 4)
+ * Gathering enhancements
+ * [repo: kubernetes/enhancements milestone:v1.14](https://github.com/kubernetes/enhancements/milestone/13)
+ * [https://bit.ly/k8s114-enhancements](https://bit.ly/k8s114-enhancements)
+ * Contact Clair if you need to add/modify stuff
+ * Everything Must Have a KEP
+ * [Updating the template](https://github.com/kubernetes/enhancements/pull/690)
+ * [Discussed with SIG PM](https://docs.google.com/document/d/13uHgcLf-hcR4a5QbV888fhnVsF3djBEpN8HolwS0kWM/edit) ([recording](https://youtu.be/jHXm10TieUI)) re: owning the [implementation](https://github.com/orgs/kubernetes/projects/5)
+ * [Discussing at SIG Arch](https://docs.google.com/document/d/1BlmHq5uPyBUDlppYqAAzslVbAO8hilgjqZUTaNXUhKM/edit) right after this
+ * Talked to SIG-Apps, Phil Witrock had suggestions in the form of at PR
+ * WIP, but moving design proposals to KEPs
+ * Patch Release Updates
+ * [Schedule](https://github.com/kubernetes/sig-release/blob/master/releases/patch-releases.md)
+ * v1.10.13
+ * [there was much discussion of whether to cut this at SIG-Release](https://github.com/kubernetes/kubernetes/pull/72860#issuecomment-454579674)
+ * it's beyond the 3 supported versions, but
+ * we still have the CI set up for 1.10
+ * fixing a regression introduced in 1.10's last patch release
+* [ 0:00 ] **Contributor Tip of the Week**
+ * **Mentoring!!**
+ * Grow your contributors!
+ * [Meet Our Contributors - monthly youtube series](https://www.youtube.com/playlist?list=PL69nYSiGNLP3QpQrhZq_sLYo77BVKv09F)
+ * **New** and **current contributors**
+ * Two sessions for global span 3:30pm and 9pm UTC
+ * To ask a question: #meet-our-contributors in slack or DM paris for anonymity
+ * Current contributor benefits: an entire session with the steering committee to answer questions around: governance, structure of project, how they got involved, current business.
+ * During regular mentor panel session: ask why is your test(s) flaking, how to be a subproject owner, what SIGs are looking for more contributors, etc
+ * [Google Summer of Code!](https://github.com/cncf/soc)
+ * CNCF submitted our application - we are aiming for as many as possible
+ * Have an interesting project and/or can you mentor? Email was sent from Nikhita kubernetes-dev@google.com
+ * New contributor workshop
+ * Every KubeCon - will be listed in the co-located events section, announced via blog, and kubernetes-dev@googlegroups.com
+ * Check out the playlist from the last one in December
+ * Onboarded ~200 new contributors last year
+ * Also a good way for current contributors to meet new ones
+ * The videos are also useful for online new contribs
+ * Release Team!
+ * Get a unique chance to see a lot of the projects parts and how things work
+ * [https://www.surveymonkey.com/r/k8s-114-rt-shadows](https://www.surveymonkey.com/r/k8s-114-rt-shadows)
+ * Future
+ * remote pair programming
+ * other new ideas
+* **[ **0:00** ] SIG Updates**
+ * **CLI **(@seans3): [SIG CLI Update Slides](https://docs.google.com/presentation/d/1_xV403gyzKZt19fXb7u1_UZCyLFSgesxTZEcn5A1IaQ/edit?usp=sharing)
+ * Subprojects now:
+ * missed stuff here (look at slides for more)
+ * Kustomize - filling in gaps
+ * Current work:
+ * extension mechanisms like plugins and dynamic commands
+ * moved kubectl outside of kubernetes/kubernetes
+ * declarative management of apps with kustomize
+ * plus server-side apply, which will support "diff"
+ * merged their charter
+ * More about plugins
+ * now beta!
+ * plugin is binary prefaced by "kubectl-"
+ * new repo is kubernetes/cli-runtime, including plugin stuff
+ * see Seattle SIG-CLI deep dive
+ * working on krew, early stages as plugin manager
+ * dynamic command extensions
+ * want to make "kubectl create <name>" work, which is data-based
+ * just starting work on this now
+ * Moved out of core
+ * kubernetes/kubectl
+ * pkg/kubectl will move to a staging repo
+ * Better declarative workflow
+ * kustomize will merge into kubectl
+ * lets you alter YAML doing kube-aware patching
+ * see KEPs, kubernetes-sigs/kustomize
+ * server-side apply supports intelligent "diffing"
+ * New charter:
+ * extra roles, Emeritus Lead and Test Health Manager
+ * Sending out a survey to kubectl users about features soon
+ *
+ * UP NEXT WEEK: NODE, CLOUD PROVIDER, AND API MACHINERY
+* [ 0:00 ] **?Announcements ?**
+ * [KubeCon Barcelona cfp submissions due JANUARY 18TH!! ](https://linuxfoundation.smapply.io/prog/kccnceu19/)
+ * SIG sessions due Feb 8th
+ * Placeholder for GitHub Management subproject [spiffxp]
+ * [Automating team management via PRs to kubernetes/org](https://github.com/kubernetes/org/issues/336)
+ * [kubernetes-dev@ notification](https://groups.google.com/forum/#!topic/kubernetes-dev/dwHkzW6QyTU)
+ * [TBD: docs](https://github.com/kubernetes/community/issues/3102)
+ * Gets us closer to the possibility of [using teams in OWNERS files](https://github.com/kubernetes/test-infra/issues/10065#issuecomment-455278672)
+ * Aaron thinks we've turned it on and so far everything is working
+ * The idea is to handle team membership via PRs
+ * Also to allow teams to be self-managing
+ * If you're interested in helping, please speak up!
+ * Placeholder for Steering [spiffxp]
+ * (updates summary not formally approved)
+ * New steering committee, first meeting was very productive
+ * [Product Security Team to become a Committee](https://github.com/kubernetes/steering/issues/89)
+ * now has rules on who's on it and how it relates to the project
+ * WG-k8s-infra now exists, for migrating stuff off of Google ownership mainly
+ * very early stages, don't even know how stuff will work yet
+ * need help building systems & rules
+ * Have to review charter for CoC Committee
+ * Also want a concept for a group which is just for focused user discussion
+ * not a WG, or SIG, or subproject
+ * Considering opening up meetings for public participation
+ * No idea how this will work yet, but thinking about it
+ * Maybe every other week
+ * Watch kubernetes-dev
+ * [Meeting notes](http://bit.ly/k8s-steering-wd)
+ * [Contributor Experience charter is merged!!](https://github.com/kubernetes/community/tree/master/sig-contributor-experience)
+ * WE NEED MENTORS!! Meet Our Contributors could be a one time one hour commitment that will help hundreds!! Reach out to Paris or #sig-contribex on slack.
+ * **Shoutouts** ?
+ * Slack! #shoutouts
+ * [justagustus] Shoutout to @jberkus for putting together the draft questions (https://github.com/kubernetes/sig-release/issues/368) for our first ever Release Team shadows questionnaire (https://www.surveymonkey.com/r/k8s-114-rt-shadows)!
+
+ ...and everyone who helped review it! @ihor.dvoretskyi @maria @liggitt @mbohlool @spiffxp @marpaia @bentheelder @tpepper @aleksandram @AishSundar
+
+* [liggitt] All hail @dims for running the 0-length flake to ground
+* [coderanger] Shoutout to the whole ZH docs translation crew, and a special mention for Adam Dang as putting in a ton of work! In total the team has merged 444 PRs over the past two months of Chinese translation!
+* [spiffxp] shoutout to @akutz for stepping to take notes for sig-testing's weekly meetings, we go a mile a minute and it's much appreciated!
+* [spiffxp] shoutout to @nikhita for moving the kubernetes project values to kubernetes/community for more exposure (https://github.com/kubernetes/steering/pull/88) and improving our WG docs generated from sigs.yaml ([https://github.com/kubernetes/community/pull/3069](https://github.com/kubernetes/community/pull/3069))
+* [nikhita] Shoutout to @mspreitz for adding lots of details to the code-generator conversion-gen docs! [https://github.com/kubernetes/kubernetes/pull/71821](https://github.com/kubernetes/kubernetes/pull/71821)
+
+
+## January 10, 2019 - ([recording](https://youtu.be/XXZ0ekSX3cg))
+
+
+
+* **Moderators**: Josh Berkus [SIG-Release]
+* **Note Taker**: Solly Ross [Google]
+* [ 0:00 ]** Demo **-- Krew: kubectl plugin manager [Ahmet Alp Balkan, @ahmetb] (confirmed)
+ * [Link to repository](https://github.com/GoogleContainerTools/krew)
+ * [Link to slides](https://docs.google.com/presentation/d/1TTSdInmHbchyAK6lzkVQCUpQNDJcxe6SZGEB5IfRq10/edit#slide=id.p)
+ * Kubectl plugins are stable as of 1.12 -- can extend kubectl by adding new commands with kubectl-foo binaries
+ * e.g . bespoke commands for workflow or extensions
+ * Krew -- like homebrew (brew) for kubectl
+ * Easy way to discover/install plugins, keep up to date
+ * Is plugin itself (`kubectl krew install/upgrade/remove`)
+ * Can easily package for multiple platforms (windows, linux, osx) -- just write manifest pointing at hosting location and files
+ * Doesn't support:
+ * External dependencies (e.g. python)
+ * Version skew
+ * Security scanning
+ * Plugin index
+ * Centralized in YAML file for the moment
+ * 3rd-party package index support in the works
+* [ 0:12 ]** Release Updates**
+ * Current Release Development Cycle [Aaron Crickenberger, @spiffxp] (confirmed)
+ * We are at Week 1 for v1.14
+ * Upcoming milestones
+ * [Finalized schedule by Friday Jan 11](https://github.com/kubernetes/sig-release/pull/431)
+ * Currently targeting late march for release (see above link)
+ * [Finalized team by Friday Jan 18](https://github.com/kubernetes/sig-release/issues/372 ) (week 2)
+ * **Enhancements freeze Tuesday Jan 29** (week 4)
+ * What will we do differently?
+ * **Everything must have a KEP** ([discussing at sig arch at 11am PT](https://docs.google.com/document/d/1BlmHq5uPyBUDlppYqAAzslVbAO8hilgjqZUTaNXUhKM/edit#))
+ * Even stuff that didn't have a KEP before
+ * Needs acceptance criteria
+ * Test, upgrade plans desired
+ * [No code slush](https://github.com/kubernetes/sig-release/issues/269#issuecomment-452062051)
+ * Memes to be delivered instead to reduce paperwork
+ * Using [repo:kubernetes/sig-release milestone:v1.14](https://github.com/kubernetes/sig-release/milestone/7) for release team work (tracking blocking stuff, etc)
+ * New year, new kubernetes-milestone-maintainers GitHub team: [we're purging and starting over with current SIG Release chairs, Release Team members, and SIG chairs/TLs](https://groups.google.com/d/msg/kubernetes-dev/BveUpMt-qO4/ODeT9lLrDwAJ)
+ * This group lets you use the `/milestone and /status `commands
+ * **If some else manages these commands in your SIG, please let SIG release know**
+ * Patch Release Updates
+ * [Let's try using a schedule](https://github.com/kubernetes/sig-release/blob/master/releases/patch-releases.md)
+ * 1.13.2: Today
+ * 1.12.5: [cut planned Thursday, Jan 17th](https://groups.google.com/forum/#!topic/kubernetes-dev/7hLP6bpvrr8)
+* [ 0:21 ] **Contributor Tip of the Week **[Aaron Crickenberger]
+ * Let's talk about project boards
+ * Creation:
+ * Per repo board: needs repo write access (eg: [kubernetes/kubernetes](https://github.com/kubernetes/kubernetes/projects))
+ * Has issues with scalability for an org of our size
+ * Org-wide board: _Any kubernetes org member _can create a [kubernetes org project board](https://github.com/orgs/kubernetes/projects)
+ * Their [permissions](https://github.com/orgs/kubernetes/projects/1/settings) are very similar to repo permissions
+ * Visibility: public / private
+ * Org members: admin / write / read / none
+ * Teams: admin / write / read
+ * Collaborators: admin / write / read
+ * Higher permissions higher in the list override lower permissions lower in the list
+ * eg: [SIG Contributor Experience](https://github.com/orgs/kubernetes/projects/1)
+ * Recurring standup during their meeting
+ * Permissions are locked to community-admins, community-maintainers
+ * eg: [Deflaking kubernetes e2e tests](https://github.com/orgs/kubernetes/projects/7)
+ * [Umbrella issue](https://github.com/kubernetes/community/issues/3071)
+ * Anyone can add to it, move cards around, etc
+ * Can see activity with activity tab
+ * Columns can have (github-provided) automation presets applied:
+ * To Do
+ * In Progress
+ * Done
+ * Ideas for automation our community is working on
+ * [Add issues via a prow command](https://github.com/kubernetes/test-infra/issues/10514)
+ * [Auto add issues/PRs based on GitHub query](https://github.com/kubernetes/test-infra/issues/9925)
+ * [Brainstorming project management improvements](https://github.com/kubernetes/community/issues/3079)
+ * If you have suggestions, chime in ^
+* [ 0:27 ] **Open KEPs** [Kubernetes Enhancement Proposals]
+ * [Coscheduling](https://github.com/kubernetes/enhancements/blob/master/keps/sig-scheduling/34-20180703-coscheduling.md) [Klaus Ma SIG-Scheduling] (confirmed)
+ * [slides here]
+ * Motivation: Some workloads (e.g. batch data processing) need all pods to start together
+ * If some don't start/get the right resources, everything should fail
+ * May need some minimum (softer requirement than "everything")
+ * Proposal
+ * Introduce "group name" annotation, scheduler considers all pods a group as needing to start together
+ * Can separately specify minimum start number for a group
+ * Can mark group as "restart entire group if one pod fails"
+ * Quota brings some issues (quota could block things from creating/starting)
+ * Can mark group as reserving some total amount of resources for the group
+ * Status
+ * Support in [kube-batch](https://github.com/kubernetes-sigs/kube-batch) 0.2+
+ * Ongoing work: PodGroupController, Quota support, better starvation behavior
+ * Other Kube-batch features: Queues, preemption, and more
+* [ 0:00 ] **SIG Updates**
+ * SIG Leads, check out this set of [recommended topics to cover](https://github.com/kubernetes/community/blob/master/events/community-meeting.md#sig-updates) during your update
+ * [Slide template if you need it](https://docs.google.com/presentation/d/1-nTvKCiqu9UvFYUeM6p6RIqHS5-H-u3_x-V4xj_eIWo/edit#slide=id.g401c104a3c_0_0)
+ * Please also check the [SIG Update Schedule](https://docs.google.com/spreadsheets/d/1adztrJ05mQ_cjatYSnvyiy85KjuI6-GuXsRsP-T2R3k)!
+ * SIG PM [Stephen Augustus] (confirmed)
+ * Slides: [https://docs.google.com/presentation/d/1IcrTbZCGlZGZKnBO6srYqPZiwGrDdUnacm7OlF5GM1o/edit?usp=sharing](https://docs.google.com/presentation/d/1IcrTbZCGlZGZKnBO6srYqPZiwGrDdUnacm7OlF5GM1o/edit?usp=sharing)
+ * Intro and deep dive from kubecon available on youtube
+ * Last cycle
+ * Survey on how people work with/use Kubernetes
+ * Improved KEP process (KEP-1a -- how do you implement usage of KEPS)
+ * Moved some content/repos to unify how we track/manage multi-release work (KEPs)
+ * k/features ? k/enhancements
+ * KEPs ? k/enhancements
+ * Categorizing KEPs
+ * Next cycle
+ * Revamp SIG PM charter (align with standard charter setups)
+ * KEP
+ * Clean up KEP process documentation to be clearer
+ * Designate who owns different parts of KEPs at different points in lifecycle of the KEP
+ * Continue migrations
+ * Design proposals ? k/enhancements (maybe)
+ * Need to start pruning/figuring out what's relevant
+ * Make it easier to work with KEPs:
+ * KEP CLI tool (easily update keps, scaffold new ones, etc)
+ * KEPs on contributor site (for easy browsing, consuming)
+ * KEP GA in 1.15
+ * Burn all the spreadsheets
+ * Make it easier to track projects cross-SIG
+ * SIG Autoscaling [@mwielgus] (confirmed)
+ * Responsible for all the components that adjust cluster objects for cluster needs (VPA, Cluster autoscaler, HPA)
+ * Current features
+ * Faster HPA scaling
+ * Resolving problems with pod priorities in Cluster Autoscaler (a couple remain)
+ * Vertical Pod Autoscaler to beta
+ * Alibaba cloud support in Cluster Autoscaler
+ * Upcoming features
+ * API for scale up/down speed in HPA
+ * Meeting every monday (7:00 AM PST)
+ * [SIG Network [Bowei Du]](https://docs.google.com/presentation/d/13l5gb7MtieQkkMwUGAV5mxip_mGmgvI-_b41WLOhShg/edit#slide=id.g401c104a3c_0_0) (confirmed)
+ * In progress (see slides for more info/links):
+ * IPv6
+ * Custom DNS policy
+ * Pod readiness gates
+ * SCTP support
+ * Node-local DNS caching
+ * Please try stuff out and submit feedback!
+ * Upcoming themes (see slides for links)
+ * Revamping Ingress/L7
+ * Dual stack (IPv4 + IPv6)
+ * Topology-aware services (e.g. node local services)
+ * Revamping services and endpoints
+ * Multicast support
+ * Windows support
+ * Meetings every other Thursday
+ * Looking in to contributor on-ramping guide
+* [ 0:00 ] **?Announcements ?**
+ * New year, new kubernetes-milestone-maintainers GitHub team: [we're purging and starting over with current SIG Release chairs, Release Team members, and SIG chairs/TLs](https://groups.google.com/d/msg/kubernetes-dev/BveUpMt-qO4/ODeT9lLrDwAJ) [Stephen Augustus]
+ * [We're going to enable automated github team management](https://groups.google.com/forum/#!topic/kubernetes-dev/dwHkzW6QyTU) on Friday [Cristoph Blecker]
+ * Kubecon! May 20 ? 23, 2019 | Fira Barcelona, Barcelona, Spain
+ * **CFP Closes on January 18th!**
+ * [https://events.linuxfoundation.org/events/kubecon-cloudnativecon-europe-2019/cfp/](https://events.linuxfoundation.org/events/kubecon-cloudnativecon-europe-2019/cfp/)
+ * Next week SIG updates: CLI and Node!
+ * Also: **we need demos** (see the top of this document for instructions)
+ * Revamping Dev Guide! If you have a suggestion for the persona of upstream developer -> [https://github.com/kubernetes/community/issues/3064](https://github.com/kubernetes/community/issues/3064). Persona #2 - building on top of K8s is the next one up.
+ * **Shoutouts:**
+ * [paris, jberkus] Shoutout to @coderanger for making LWKD happen over the holidays, when I was completely unavailable. @coderanger also has been super supportive in slack fielding contributor questions while folks are out - thank you!
+
+
+## January 3rd, 2019 - ([recording](https://www.youtube.com/watch?v=gBfGqyn06bk))
+
+
+
+* **Moderators**: Jorge Castro [SIG Contributor Experience]
+* Happy New Year!
+* **Note Taker**: Bob Killen [SIG Contributor Experience/University of Michigan]
+* [ 0:00 ]** Demo **-- OpenLab - Melvin Hillsman ([mrhillsman@gmail.com](mailto:mrhillsman@gmail.com)) - OpenLab is curated infrastructure for open source testing [https://openlabtesting.org](https://openlabtesting.org)
+ * [https://docs.google.com/presentation/d/1DDeXWafI2ucRAwKyl9sStjtMb-yz6w-5DFXyOPNs6ks](https://docs.google.com/presentation/d/1DDeXWafI2ucRAwKyl9sStjtMb-yz6w-5DFXyOPNs6ks)
+ * [https://bit.ly/openlabstart](https://bit.ly/openlabstart)
+ * Curated infrastructure for Open Source Testing focusing on 3 things:
+ * Reduce friction of cloud ecosystem tooling integration
+ * Testbed delivery and maintenance efficiency
+ * cross-community collaboration
+ * Built completely on Open Source tooling
+ * Dedicated Resources include:
+ * dedicated physical servers
+ * virtual machines
+ * network devices
+ * IoT, GPUs FPGAs
+ * Containers
+ * Quite a few projects make use of the project already
+ * chat: #askopenlab on freenode for user support
+ * mailing list: openlab.groups.io
+* [ 0:00 ]** Release Updates**
+ * Current Release Development Cycle [Aaron Crickenberger - Release Lead]
+ * We are at Week 0 for v1.14, [release team leads finalized](https://github.com/kubernetes/sig-release/blob/master/releases/release-1.14/release_team.md)
+ * v1.14 schedule draft being reviewed by former release leads, current release lead shadows, sig release chairs
+ * Aiming for kickoff next week, all release team shadows finalized by Friday Jan 11th
+ * Modest proposal: to land in this release, you must have a KEP, even if you didn't before, and that KEP must have a test plan, and an upgrade/downgrade plan
+ * will be discussed at length during next week's sig-arch meeting
+ * Patch Release Updates
+ * discussion ongoing on setting up a schedule for patch releases
+* [ 0:00 ] **SIG Updates**
+ * SIG Leads, check out this set of [recommended topics to cover](https://github.com/kubernetes/community/blob/master/events/community-meeting.md#sig-updates) during your update
+ * [Slide template if you need it](https://docs.google.com/presentation/d/1-nTvKCiqu9UvFYUeM6p6RIqHS5-H-u3_x-V4xj_eIWo/edit#slide=id.g401c104a3c_0_0)
+ * Please also check the [SIG Update Schedule](https://docs.google.com/spreadsheets/d/1adztrJ05mQ_cjatYSnvyiy85KjuI6-GuXsRsP-T2R3k)!
+ * SIG Autoscaling, Networking, and PM due next week!
+ * SIG Apps [Matt Farina] (confirmed)
+ * [Slides](https://docs.google.com/presentation/d/1jbERrg36lsR05xdDmkF42NoWsM7-rMmQD9GzNYdvPXQ/edit?usp=sharing)
+ * Last Cycle
+ * Charter completed and merged
+ * Figured out needs to make CronJobs GA
+ * Started work on Portable Service Definitions
+ * Work on Application Controller
+ * Upcoming Cycle
+ * Looking for lead on CronJob GA
+ * Begin work on Portable Service Definitions
+ * Application Controller Status
+ * Deprecation of Beta APIs
+ * CronJobs to GA
+ * Currently still batch/v1beta1
+ * Has scalability issues
+ * Controller needs to be rewritten
+ * Looking for contributors
+ * Portable Service Definitions
+ * [insert kep link here]
+ * enable an application to be deployed into multiple environments while relying on external services
+ * Will be built on CRDs + controllers
+ * Looking to solve some UX consistency issues
+ * Looking for contributors
+ * Application Controller Status
+ * Bubble up application deployment rollup status
+ * How to get status for multiple components of an application
+ * Deprecation of Beta APIs
+ * Continue to support beta APIs, despite "formal" deprecation some time ago
+ * Turn off in 1.15 with optional flag to re-enable.
+ * How to Contribute
+ * Lots of opportunities with CronJobs etc
+ * SIG UI [Jeffrey Sica] (confirmed)
+ * [Slides](https://docs.google.com/presentation/d/18H51DlgR_WsBhdRcUF1ru0cuDE7i7m1WsPzLrl2cG3M/edit#slide=id.g338ac0a8b6_0_27)
+ * Last Cycle
+ * Finished and merged SIG-UI charter
+ * 2 releases including fix for CVE-2018-18264
+ * Metrics server support
+ * Angular Migration branch merged to master (entire front-end rewrite)
+ * versioning schema will change for future releases
+ * Annual Survey of dashboard users
+ * Upcoming Cycle
+ * Formalize metrics server support
+ * Current solution is stop-gap
+ * Will support prometheus and other sinks in the future
+ * Versions will now be 2.x.x
+ * Better OAuth support
+ * How can you contribute
+ * looking for help with metrics
+ * SIG VMWare [Steve Wong] (confirmed)
+ * [Slides](https://docs.google.com/presentation/d/1eMaclhtHY2llnmLWe6BoJv1xdmXpaMe79xNjH-klOvY/edit?usp=sharing)
+ * Last Cycle
+ * External vSphere Cloud Provider [alpha]
+ * CSI provider for vSphere
+ * Cluster API provider for vSphere
+ * Upcoming Cycle
+ * Bring external vSphere Cloud Provider to stable release status
+ * Bring CSI provider for vSphere to stable release status
+ * Cluster API provider for vSphere
+ * improve e2e tests
+ * Working to provide licenses for Fusion/Workstation to support minikube CI/CD
+ * If there are any licensing issues when working with commercial VMware components, reach out for license and support help
+* [ 0:00 ] **?Announcements ?**
+ * May 20 ? 23, 2019 | Fira Barcelona, Barcelona, Spain
+ * CFP Closes on January 18th!
+ * [https://events.linuxfoundation.org/events/kubecon-cloudnativecon-europe-2019/cfp/](https://events.linuxfoundation.org/events/kubecon-cloudnativecon-europe-2019/cfp/)
+ * If you attended the Contributor Summit, please fill out the survey (in email).
+ * Want to demo during the first 10m of this meeting? Check out the top of this document to sign up!
+ * Slides/Videos of Kubecon Sessions: [https://github.com/cloudyuga/kubecon18-NA](https://github.com/cloudyuga/kubecon18-NA) (Thanks Cloudyuga!)
+
+ **? **Shoutouts this week **?**
+
+
+ See someone doing great work? Let us know in #shoutouts on slack so we can highlight their work!
+
+ * Jeff Grafton: shoutout to @cblecker for breaking out the godep verification checks into their own job, bringing the rest-of-the-verify-checks job down to 41m
+ * Jeff Grafton: shoutout to @fisherxu for finally fixing our generated code to not include the year ([https://github.com/kubernetes/kubernetes/pull/59172](https://github.com/kubernetes/kubernetes/pull/59172)), thus preventing the build from breaking and needing "happy new year!" PRs like [https://github.com/kubernetes/kubernetes/pull/57735](https://github.com/kubernetes/kubernetes/pull/57735), [https://github.com/kubernetes/kubernetes/pull/39342](https://github.com/kubernetes/kubernetes/pull/39342), and [https://github.com/kubernetes/kubernetes/pull/19222](https://github.com/kubernetes/kubernetes/pull/19222)
+ * @idealhack: Shoutout to the Chinese reviewer team of SIG docs (Chen Rui @rui, Adam Dang, Xiaolong He, Peter Zhao @xiangpengzhao), the blog post about our 2nd New Contributor Workshop at KubeCon (https://kubernetes.io/blog/2018/12/05/new-contributor-workshop-shanghai/) is now available in Chinese [https://kubernetes.io/zh/blog/2018/12/05/??????????](https://kubernetes.io/zh/blog/2018/12/05/)/. PR: [https://github.com/kubernetes/website/pull/11896](https://github.com/kubernetes/website/pull/11896)
+
+
+## December 6, 2018 (recording)
+
+
+
+* **Moderators**: Paris Pittman [Google, ContribEx]
+* **Note Taker**: none - retro
+* [ 0:00 ]** Demo **-- NO DEMO - RETRO TIME :partyk8s:
+* [ 0:00 ] **?Announcements ?**
+ * **Contributor Summit is at capacity! See everyone in Seattle!!**
+ * **Shoutouts!**
+ * **#shoutouts in slack!**
+ * Aish: Shoutouts to @neolit123 @dims @liggitt for your last minute heroics in getting all the external dependencies in place for 1.13 release :wave::skin-tone-2:
+ * Liggit: shoutout to @ibuildthecloud for finding and reporting https://github.com/kubernetes/kubernetes/issues/71411 responsibly
+ * Zach C from docs: Shoutouts to @tfogo, @jimangel, and @jrondeau for finding and fixing https://github.com/kubernetes/website/pull/11503, this time for good.
+ * Jrondeau - don't forget @zacharysarah on that one too!
+ * Josh berkus: @msau42 for figuring out a major cause of e2e test flakiness!
+ * Spiffxp: shout outs to @paris for making sure the contributor summit sessions from kubecon will be recorded!!!!
+* [ 0:00 ]** Release Updates**
+ * **Retro 1.13 -> [http://bit.ly/k8s113-retro](http://bit.ly/k8s113-retro) **
+
+
+## November 29, 2018 - ([recording](https://youtu.be/e5oHnmUOz3k))
+
+
+
+* **Moderators**: Josh Berkus [SIG-Release]
+* **Note Taker**: Solly Ross [Google/SIG Autoscaling]
+* [ 0:00 ]** Demo **-- Docs Modeling Working Group Demo [Andrew Chen, @chenopsis, Dominik (dominik.tornow@sap.com)] (confirmed)
+ * Link to [slides](https://docs.google.com/presentation/d/1Ycs1-PcnctWRC9wvSbGkM3IfL2hcguQ42wbWp15DkeY/edit?usp=sharing)
+ * Modelling how we design and look at documentation
+ * Idea:
+ * Ideally, two people who look at the same system develop the same mental model
+ * Looking a documentation, there may be encoding/decoding loss (writing/reading docs), which leads to different mental models
+ * **F**undamental **M**odeling **C**oncepts
+ * Approach to system modeling with formal models of system's structure and behavior
+ * Diagrams and formal models can help show whole-picture view
+ * Show people how things work without needing to point people at actual source code
+ * Issues with existing docs:
+ * docs are task focused (good for on-demand "how do I" type questions), but can't easily develop a coherent general picture
+ * non-obvious behavior doesn't match general mental model, docs should help fix that
+ * Process:
+ * Ongoing: Discuss models (in SIG Docs), Interview engineers, validate models, create source materiel (e.g. Medium posts) and get feedback
+ * Eventually: fold back into to k8s.io (planned for next year)
+* [ 0:13 ]** Release Updates**
+ * Current Release Development Cycle [Aish Sundar - Release Manager]
+ * **Code freeze for 1.13 is now lifted!** Code thaw went into effect 11/28, 8pm PST.
+ * Master is now open for 1.14 development.
+ * _Only the_ _absolute most critically urgent bug fixes_ might be cherry picked back in time for 1.13.0.
+ * 1.13-rc.2 slated to cut tomorrow, 11/30.
+ * The release is on target for** Monday, 12/3/2018**, pending CI signal.
+ * **_If you still have outstanding Docs PR or Release notes, please get -them in ASAP._**
+ * We're targeting our release retrospective for next week's [Community Meeting](https://docs.google.com/document/d/1VQDIAB0OqiSjIHI8AWMvSdceWhnz56jNpZrLs6o7NJY/edit) on 12/6. Please add any comments you'd like included in discussion for things that worked well and things that should change in our [1.13 retrospective document](http://bit.ly/k8s113-retro).
+ * Patch Release Updates
+ * 1.12.3
+ * 1.11.5
+ * 1.10.11
+* [ 0:16 ] **SIG Updates**
+ * Info for SIGs:
+ * SIG Leads, check out this set of [recommended topics to cover](https://github.com/kubernetes/community/blob/master/events/community-meeting.md#sig-updates) during your update
+ * [Slide template if you need it](https://docs.google.com/presentation/d/1-nTvKCiqu9UvFYUeM6p6RIqHS5-H-u3_x-V4xj_eIWo/edit#slide=id.g401c104a3c_0_0)
+ * Please also check the [SIG Update Schedule](https://docs.google.com/spreadsheets/d/1adztrJ05mQ_cjatYSnvyiy85KjuI6-GuXsRsP-T2R3k)!
+ * SIG Architecture [Matt Farina] (confirmed)
+ * Slides: [https://docs.google.com/presentation/d/1jwk23WLDLAs5PcFbTKC-P-Hknemu30IlL0u9iWcwT9M/edit?usp=sharing](https://docs.google.com/presentation/d/1jwk23WLDLAs5PcFbTKC-P-Hknemu30IlL0u9iWcwT9M/edit?usp=sharing)
+ * Updates and ongoing work:
+ * Charter was accepted
+ * KEP process work ongoing
+ * Code processes (e.g. Go modules, how to import k8s.io/kubernetes)
+ * Windows GA plan with SIG Windows, conformance profiles to figure out how to handle conformance for mixed clusters
+ * API Review Process Subprojects
+ * There's a [GitHub board](https://github.com/kubernetes-sigs/architecture-tracking/projects/3) to show backlog, status, etc
+ * KEPs subproject
+ * **KEPs are moving to kubernetes/enhancements, merge before tomorrow unless you want to re-file your PRs**
+ * [Board to track KEP reviews](https://github.com/kubernetes-sigs/architecture-tracking/projects/2)
+ * Each dashboard has KEPs related-to particular SIGs, so you can see what KEPs other SIGs have tagged as related to yours
+ * Conformance Subproject
+ * Board to track issues
+ * Develops conformance testing
+ * SIG Arch meetings are right after the community meetings, come join
+ * SIG Release [Tim Pepper] (confirmed)
+ * SIG Release Update
+ * Slides: [https://docs.google.com/presentation/d/1WtmoYP1Ay9hq2XuPEBQRVorH5pilJ6829qyQD5qWmwY/edit?usp=sharing](https://docs.google.com/presentation/d/1WtmoYP1Ay9hq2XuPEBQRVorH5pilJ6829qyQD5qWmwY/edit?usp=sharing)
+ * Task:
+ * Put out the releases
+ * Mentor release team so that people don't burn out
+ * Work with other SIGs on release tooling and automation (e.g. with SIG Testing)
+ * Help other SIGs to make sure repos can be part of a release process
+ * See the slides for some nice diagrams about process and timelines
+ * Last cycle
+ * Chairs changeup
+ * Features are now called enhancements
+ * 1.12: _First non-Google branch manager, _Move to Tide, Shorter code freeze
+ * Next cycles:
+ * 1.13: **Flaky/unmaintained tests moved to non-blocking, **Moving stable branch management to a team of people instead of an individual
+ * 1.14: better RPMs and Debs, better build tools, continue working on Tide/automation/labels, continue working on code freeze
+ * Subprojects
+ * Working on licensing and compliance
+ * Working on release security processes
+ * WG LTS (see below)
+ * WG LTS - aka investigating ways to improve the Kubernetes support story
+ * PR for wg addition inbound at [https://github.com/kubernetes/community/pull/2911](https://github.com/kubernetes/community/pull/2911)
+ * PR for clarifying what is supported today: [https://github.com/kubernetes/website/pull/11060](https://github.com/kubernetes/website/pull/11060)
+ * Announcing meeting, google group, slack info, links: [https://groups.google.com/d/msg/kubernetes-dev/Fqya3zlt0QQ/K6JapQX3AAAJ](https://groups.google.com/d/msg/kubernetes-dev/Fqya3zlt0QQ/K6JapQX3AAAJ)
+ * Come get involved! Always looking for volunteers
+ * [https://git.k8s.io/community/sig-release/README.md](https://git.k8s.io/community/sig-release/README.md)
+* Please drop a note in the community meetings doc, or reach out if you want to talk about a KEP in the community meetig
+* [ 0:00 ] **?Announcements ?**
+ * Contributor Summit [Paris and Jorge]
+ * **We are sold out/waitlisted - L A S T C A L L if you're a SIG Chair, TL, or subproject owner **
+ * Talks have been added to the community calendar, shortcut: [http://bit.ly/kubernetes-summit](http://bit.ly/kubernetes-summit)
+ * Check out #contributor-summit on slack
+ * [Event information](https://git.k8s.io/community/events/2018/12-contributor-summit)
+ * Community Meeting Schedule - there are no SIG updates for December.
+ * Today is the last "normal" community meeting
+ * 12/6 - Release Retro for 1.13 (tentative!)
+ * 12/13 - **Kubecon, no community meeting**
+ * 12/20 and 12/27 - **No community meetings**
+ * January 1/3 : SIG Apps, SIG UI, SIG VMWare
+ * [Meet Our Contributors](https://github.com/kubernetes/community/blob/master/mentoring/meet-our-contributors.md) will be 5 December.
+ * Steering Committee AMA @ 730a PT / 330pm UTC
+ * Mentor panel @ 1pm PT / 9pm UTC
+ * Be a mentor to hundreds with one hour of your time! Reach out to parispittman@google.com / "paris" on slack to get scheduled.
+ * No k8s office hours this month - thanks to all the volunteers who helped make the program a success this year.
+ * **? **Shoutouts this week **?**
+ * Twitterverse shoutouts for our fearless 1.13 Release Team Lead, @AishSundar: https://twitter.com/stephenaugustus/status/1063610123149545472?s=19
+ * Shoutout to @amerai for adding a search bar to Testgrid so that you don't have to dig to find the right dashboard! https://testgrid.k8s.io/
+ * to @mkimuram & @saad-ali & @msau42 for rapid response to multiple storage test issues with new features.
+ * to @mrhohn for fast & insightful help with sig-network test failures
+ * Huge shoutouts to the entire 1.13 Release leads and shadows for their stellar efforts at every stage throughout the cycle, enabling us to stabilize and hopefully land the release on time - @kacole2 @jberkus @cjwagner @dougm @nikopen @tfogo @marpaia @kbarnard10 @spiffxp @tpepper@aleksandram!
+ * Special shoutout to contributors "technically" not on the release team, but have been instrumental in getting us unblocked at numerous points this release with their reviews, test fixes and test-infra support - @dims @liggitt @justinsb @cblecker @bentheelder @justaugustus (edited)
+ * shoutout to you @AishSundar for keeping us all in line this whole cycle! you've been a totally awesome release lead.
+ * Shoutout to @mrbobbytables for significally reducing my admin overhead for the New Contributor Workshop!
+
+
+## ~~November 22, 2018~~ (_Note - Thanksgiving in US - **cancelled**)_
+
+
+
+* **Moderators**: Ihor Dvoretskyi [SIG PM/CNCF]
+* **Note Taker**: -
+* [ 0:00 ]** Release Updates**
+ * 1.13 is in **Code Freeze - 11/16 to 11/28**
+ * Beta.2 targeted EOD, 11/22
+ * Still targeting 12/3 for release date.
+ * **[Latest CI Signal Report](https://groups.google.com/forum/#!topic/kubernetes-dev/4agE2-5vXQk)**
+ * No unknown blockers at this point
+ * Lots of chronic flaky tests that could impact release if they persist
+ * **Docs - Yellow**
+ * All Docs PR should be in review by now
+ * Final PR merge** deadline is Wednesday, 11/27**
+ * [15 open Docs PR](https://docs.google.com/spreadsheets/d/1umeZ-AHjjD6ntbFv1J2dJOjWd0Ft0WKAV2Wtd8EQ8FM/edit#gid=0)
+ * **Release Notes**
+ * [Release theme and notes ](https://docs.google.com/document/d/1fL_xUwEWbxdRen-2mljio-Yd8Z2fzh2cQjaIOHRSHG0/edit)almost complete
+ * "[Known issue](https://github.com/kubernetes/kubernetes/issues/70955)" Github issue
+ * SIGs please update asap if not done already
+ * **1.13 Retro**
+ * Targeted for 12/6 during Community meeting
+ * [http://bit.ly/k8s113-retro](http://bit.ly/k8s113-retro)
+ * **1.14 Release team **
+ * Leads nominated and chosen in SIG-Release meeting last week
+ * Shadows selection process
+ * Use [GitHub issue](https://github.com/kubernetes/sig-release/issues/372) or [PR](https://github.com/kubernetes/sig-release/pull/377#discussion_r235575768) to express interest
+* [ 0:00 ] **SIG Updates**
+ * **SIG PM - **Stephen Augustus
+* [ 0:00 ] **?Announcements ?**
+ * Contributor Summit @ Kubecon
+ * Shanghai: Great turn out! Lots of great pics on Twitter etc.
+ * Seattle: **Chairs and owners, if you haven't confirmed we're running out of time, please let us know**. You do not need a ticket to kubecon/cnc for this. Email community@kubernetes.io
+ * Kubecon US is SOLD OUT. If you register now you'll be waitlisted
+ * Community Meeting Schedule - there are no SIG updates for December.
+ * 12/6 - Release Retro for 1.13 (tentative!)
+ * 12/13 - **Kubecon, no community meeting**
+ * 12/20 and 12/27 - **No community meetings**
+ * January: SIG Apps, SIG UI, SIG VMWare
+* **? **Shoutouts this week (Check in #shoutouts on slack) **?**
+ * _@justaugustus_
+ * Twitterverse shoutouts for our fearless 1.13 Release Team Lead, @AishSundar: [https://twitter.com/stephenaugustus/status/1063610123149545472](https://twitter.com/stephenaugustus/status/1063610123149545472)
+ * _@cjwagner_
+ * Shoutout to @amerai for adding a search bar to Testgrid so that you don't have to dig to find the right dashboard! [https://testgrid.k8s.io/](https://testgrid.k8s.io/)
+
+
+## November 15, 2018 - ([recording](https://youtu.be/wkMRB1dalpA))
+
+
+
+* **Moderators**: Jorge Castro [SIG Contribex]
+* **Note Taker**: Solly Ross (SIG Autoscaling/Google)
+* [ 0:00 ]** Demo **--Pulumi - an OSS, k8s-native deployment orchestration engine [Alex Clemmer]
+ * Link to slides
+ * Link to repo
+ * Pulumi: open-source tools for managing cloud infrastructure
+ * Declare steady state (like Kubernetes) using programming languages like Python, Javascript, Typescript to manage the cloud repos
+ * Declare desired "outputs" to be saved for easy access (e.g. Service IPs)
+ * Schema is _exactly _kubernetes schema for Kubernetes types, etc (no special other format)
+ * Knows how interact with deployments (has concept of updates, knows that it needs to rollout, wait for rollout to succeed, only delete old objects after)
+ * Workflow for using something like RDS:
+ * Without Pulumi: deploy using one tool (e.g. terraform), then fetch connection string into secret (maybe using something else), then use in kubernetes (e.g. deploy app via Helm)
+ * With Pulumi: Declare steady state in code for everything
+ * Live demo: deploy CosmosDB + Helm chart
+ * Declare CosmosDB, exported connection string
+ * Declare secret (using normal Kubernetes schema) with connection string
+ * Declare Helm chart (deploying Bitnami Node.JS image) using secret to supply external DB
+ * How it works:
+ * Pulumi figures out dependencies automatically to figure out that CosmosDB needs to come before Secret, chart depends on secret
+ * `pulumi up` will show a "plan" of operations + Kubernetes JSON, executes plan on confirmation
+ * Can specify "stack outputs" to save from the objects generated, to fetch programmatically (e.g. IP of serving generated by Helm chart)
+ * Question
+ * How is schema generated, what happens to unknown attrs
+ * Schema is generated via OpenAPI spec based on all available versions
+ *
+* [ 0:00 ]** Release Updates**
+ * Current Release Development Cycle [Aish Sundar - 1.13 Release Team Lead]
+ * **Code Freeze is tomorrow, 11/16 5pm PST**
+ * Only 1.13 critical fixes will be approved to go into master
+ * Master reopen 11/28 5pm PST for 1.14
+ * Next **1.13.0-beta.1** release on Friday, 11/16 5pm PST (after code freeze)
+ * A few at risk items, release team is working to assess
+ * **CI Signal**
+ * [Master-blocking](https://k8s-testgrid.appspot.com/sig-release-master-blocking),[ master-upgrade](https://k8s-testgrid.appspot.com/sig-release-master-upgrade) and[ 1.13-blocking](https://k8s-testgrid.appspot.com/sig-release-1.13-blocking#Summary) are mostly Green, with intermittent flakes which could become blocking if they fail days before release
+ * **Beta.1 Blocking Issues**
+ * [CSI Alpha Test Failures](https://github.com/kubernetes/kubernetes/issues/70760)
+ * [CSI Volumes [Driver: com.google.csi.gcepd] flakes](https://github.com/kubernetes/kubernetes/issues/65246)
+ * [GCE Upgrade jobs Timeout in 1.13 branch](https://github.com/kubernetes/kubernetes/issues/70912)
+ * Consider these to be priority!
+ * **Release Themes** are due by Wednesday 11/21
+ * Preliminary [draft of the Release notes](https://docs.google.com/document/d/1fL_xUwEWbxdRen-2mljio-Yd8Z2fzh2cQjaIOHRSHG0/edit)
+ * Leads to help fill out "Major Themes" section for your SIG
+ * For any "Known issue" please leave a comment of the issue and draft notes in this [GitHub Issue](https://github.com/kubernetes/kubernetes/issues/70955).
+ * **Kubernetes 1.14 Release Team Volunteers** - [https://github.com/kubernetes/sig-release/issues/372](https://github.com/kubernetes/sig-release/issues/372)
+ * Please consider volunteering :-)
+* Patch Release Updates
+ * v1.12.3 cut planned Monday, Nov 26th
+ * V1.10.0 published earlier this week
+* [ 0:00 ] **Contributor Tip of the Week **[Jeffrey Sica]
+ * cs.k8s.io -- Search all repos in seconds
+ * Can _regex_ search across all Kubernetes repos and orgs
+ * Automatically filters out certain types of files, but that can be configured
+ * Check out the [contributor cheatsheet](https://github.com/kubernetes/community/blob/master/contributors/guide/contributor-cheatsheet.md) for other shortcuts (PRs accepted!)
+* [ 0:00 ] **SIG Updates**
+ * SIG Leads, check out this set of [recommended topics to cover](https://github.com/kubernetes/community/blob/master/events/community-meeting.md#sig-updates) during your update
+ * [Slide template if you need it](https://docs.google.com/presentation/d/1-nTvKCiqu9UvFYUeM6p6RIqHS5-H-u3_x-V4xj_eIWo/edit#slide=id.g401c104a3c_0_0)
+ * Please also check the [SIG Update Schedule](https://docs.google.com/spreadsheets/d/1adztrJ05mQ_cjatYSnvyiy85KjuI6-GuXsRsP-T2R3k)!
+ * SIG IBM Cloud [Richard Theis] (sig confirmed)
+ * Slides: [https://docs.google.com/presentation/d/11-CASs9mJl1RDwG9aN0UOYxIawNqIVtsMXXwyXWCS0Y/edit?usp=sharing](https://docs.google.com/presentation/d/11-CASs9mJl1RDwG9aN0UOYxIawNqIVtsMXXwyXWCS0Y/edit?usp=sharing)
+ * Upcoming plans:
+ * Upstream IBM cloud provider repo (currently lives in IBM)
+ * Continue testing, bug fixing, etc
+ * [https://github.com/kubernetes/community/tree/master/sig-ibmcloud](https://github.com/kubernetes/community/tree/master/sig-ibmcloud)
+ * SIG Service Catalog [Carolyn Van Slyck?] (sig confirmed)
+ * Link to slides
+* [ 0:00 ] **?Announcements ?**
+ * Contributor Summit @ Kubecon
+ * Shanghai: Great turn out! Lots of great pics on Twitter etc.
+ * Seattle: **Chairs and owners, if you haven't confirmed we're running out of time, please let us know**. You do not need a ticket to kubecon/cnc for this. Email community@kubernetes.io
+ * Kubecon US is SOLD OUT. If you register now you'll be waitlisted. \
+
+ * Community Meeting Schedule - there are no SIG updates for December.
+ * 11/22 (Thanksgiving in the US) - **Meeting is Still on**, Ihor will be your host!
+ * 12/6 - Release Retro for 1.13 (tentative!)
+ * 12/13 - **Kubecon, no community meeting**
+ * 12/20 and 12/27 - **No community meetings**
+ * January: SIG Apps, SIG UI, SIG VMWare \
+
+ * Steering committee not having meeting in one weeks, will have one just before Kubecon
+ * **SIGs: Please try to have your charters in by KubeCon**
+ * Each SIG has been given a steering committee member to review
+ * reach out to steering committee if you have questions
+ * Office Hours next week on YouTube:
+ * See [this](https://github.com/kubernetes/community/blob/master/events/office-hours.md) for more information
+ * Come answer questions about Kubernetes on a livestream!
+* [ 0:00] **? Shoutouts this week (Check in #shoutouts on slack)** **?**
+ * paris - very big shoutout to @jberkus and the entire kubecon shanghai new contributor workshop team! josh built a team and carried out the event plan for this first time, sold out event in a new market to welcome contributors from this region. the event is in a few hours (from this timestamp) - best of luck and have a great time team!!
+ * jberkus - TY! Let's add all the names: @tpepper @puja @nabrahams @xiangpengzhao @idealhack & Megan Lehn & Jerry Zhang
+ * neolit123 shoutout to @fabrizio.pandini for organizing the transition of phases in kubeadm to GA and also thank you to all the new kubeadm contributors who helped us with this work @yago @yuexiao wang @ereslibre @Rohit
+ * spiffxp Shoutouts to @chenopis @zacharysarah and @bradtopol for organizing and running the docs translation sprint at kubecon Shanghai
+ * Ivan Font @bentheelder and all others who worked on kind: I wanted to give a shout out for the work done to create kind. Nice work! I've experimented to get kind working with multiple clusters so that we can use it to test federation-v2 with multiple clusters for dev and CI and I'm very impressed with it so far! I filed a few issues #110, #111, #112, and #113 that I've stumbled across in the process of doing that, but it is not a reflection of the quality of work that's been done here. Again, thanks for the awesome work! Thanks to @munnerz @neolit123 @Jorgealarcon @Lion-Wei @TaoBeier @amwat
+
+
+## November 8, 2018 - ([recording](https://youtu.be/NNHfryDY6mw))
+
+
+
+* **Moderators**: Jorge Castro [SIG Contributor Experience]
+* **Note Taker**: Solly Ross (Google/SIG AUtoscaling)
+* [ 0:00 ]** Demo **--IngressRoute with Contour - Steve Sloka ([steves@heptio.com](mailto:steves@heptio.com))
+ * Link to slides: [https://docs.google.com/presentation/d/1LAbRU7Fx7fofXolw0GckYw0AckdNk156yUdeBvgndkE/edit?usp=sharing](https://docs.google.com/presentation/d/1LAbRU7Fx7fofXolw0GckYw0AckdNk156yUdeBvgndkE/edit?usp=sharing)
+ * GitHub: [https://j.hept.io/contour](https://j.hept.io/contour)
+* [ 0:00 ]** Release Updates**
+ * Current Release Development Cycle [Aish Sundar - Release Manager]
+ * We cut Beta0 and the [1.13 Release branch](https://testgrid.k8s.io/sig-release-1.13-blocking) yesterday, 11/7 !
+ * Updated to Go 1.11.2 before Beta.
+ * **Code Slush is this Friday (tomorrow), 11/9**
+ * All PRs need /priority, /kind, /sig, /milestone labels to merge post 5pm PST
+ * **Code Freeze is just a week away - 11/16**
+ * Handful of Enhancements are pending only tests and docs
+ * There are a couple of Enhancements at risk and a few that have had no activity in past week or so.
+ * Owners **please update k/enhancement issues with current status**
+ * Please reach out to Release team early on if you think you need to move out your enhancement
+ * **CI Signal**
+ * [Latest CI Signal Report](https://groups.google.com/forum/#!topic/kubernetes-dev/R7Jf96b2L-8)
+ * Status is Yellow
+ * Kudos to Sig **Cluster-Lifecycle** for fixing long stating Upgrade setup issue [#56787](https://github.com/kubernetes/kubernetes/issues/56787), [#70627](https://github.com/kubernetes/kubernetes/issues/70627)
+ * We now have several new ones (in-progress though) that might become** blocking if not addressed soon**
+ * [CSI new Alpha tests failure](https://github.com/kubernetes/kubernetes/issues/70760)
+ * [Mounted Flex Volume expand failure](https://github.com/kubernetes/kubernetes/issues/70774)
+ * [GCE Serial test timeout](https://github.com/kubernetes/kubernetes/issues/70810)
+ * [Increased CPU usage in scale tests due to a Scheduler change ](https://github.com/kubernetes/kubernetes/issues/70708#issuecomment-436761955)
+ * Couple of HPA test fixes awaiting backport to 1.11 and 1.12. ([#70655](https://github.com/kubernetes/kubernetes/issues/70655), [#69444](https://github.com/kubernetes/kubernetes/issues/69444))
+ * **Docs**
+ * Open PRs: 11/22
+ * Completed PRs: 2/22
+ * **We have 7 outstanding PRs**. We will be pinging owners on issues.
+ * **Release Notes**
+ * Sig Leads expect initial draft of the release notes coming your way for review next Monday 11/12
+ * _Please leave early feedback if you can_
+ * Questions:
+ * Where should we send 1.14 volunteers
+ * Look out for issue for more info, will be linked in next week's update
+ * Patch Release Updates
+ * x.x
+ * y.x
+* [ 0:00 ] **Contributor Tip of the Week **[Aaron Crickenberger]
+ * Let's talk about OWNERS, /lgtm and /approve
+ * How do OWNERS files work: [https://go.k8s.io/owners](https://go.k8s.io/owners)
+ * Loosely similar to CODEOWNERS files
+ * Used to both allow and suggest reviewers and approvers (and labels)
+ * Reviewers look for code quality/sane engineering (_/lgtm_)
+ * CANNOT self-LGTM
+ * Approvers look at "does this change make sense", "does it belong here", "does it clash with other functionality" (_/approve_)
+ * CAN self-approve
+ * How to use the commands:
+ * [https://prow.k8s.io/command-help#approve](https://prow.k8s.io/command-help#approve)
+ * [https://prow.k8s.io/command-help#lgtm](https://prow.k8s.io/command-help#lgtm)
+ * Workflow overview in slide form:
+ * [https://schd.ws/hosted_files/kccnceu18/88/kubecon-eu-2018-machines-can-do-the-work.pdf](https://schd.ws/hosted_files/kccnceu18/88/kubecon-eu-2018-machines-can-do-the-work.pdf)
+ * BIKESHED TIME
+ * [https://github.com/kubernetes/test-infra/blob/master/prow/plugins.yaml#L39-L86](https://github.com/kubernetes/test-infra/blob/master/prow/plugins.yaml#L39-L86)
+* [ 0:00 ] **SIG Updates**
+ * SIG Leads, check out this set of [recommended topics to cover](https://github.com/kubernetes/community/blob/master/events/community-meeting.md#sig-updates) during your update
+ * [Slide template if you need it](https://docs.google.com/presentation/d/1-nTvKCiqu9UvFYUeM6p6RIqHS5-H-u3_x-V4xj_eIWo/edit#slide=id.g401c104a3c_0_0)
+ * Please also check the [SIG Update Schedule](https://docs.google.com/spreadsheets/d/1adztrJ05mQ_cjatYSnvyiy85KjuI6-GuXsRsP-T2R3k)!
+ * SIG Cluster Lifecycle [Tim St. Clair] (confirmed)
+ * [Slides](https://docs.google.com/presentation/d/1HB9AmwmWHqAtyFeVlBKOYCrZjBk79W5tLWhZRRL6Amg/edit?usp=sharing)
+ * Homepage: [https://contributor.kubernetes.io/sigs/sig-cluster-lifecycle/](https://contributor.kubernetes.io/sigs/sig-cluster-lifecycle/)
+ * Mission: _simplify creation/upgrade/downgrade/teardown of Kubernetes clusters and their components_
+ * Last cycle
+ * Kubeadm: Config changes, improved CRI, HA, cert management, air-gapped support
+ * ClusterAPI: Provider-specific repos, many providers
+ * Upcoming plans
+ * Better meeting times and subproject coordination
+ * Kubeadm to GA (beta config, command line options fully supported)
+ * Cluster API integrating cluster API into kops
+ * Kubespray defaults to kubeadm
+ * ComponentConfig for structured configuration of other Kubernetes components
+ * **Deprecate**: kube-up, kubernetes-anywhere
+ * Reminder: for upgrade testing: _SIG cluster lifecycle owns the framework, others own the actual tests_
+ * Events: Upcoming kubecon talk on the future of addons
+ * New etcd management proposal/tooling (proposal just approved)
+ * Questions:
+ * If kube-up and kubernetes-anywhere are deprecated, what's the standard deployer (what's the kubeadm version of `curl | bash` to install)?
+ * documented well on the kubeadm section of the docs
+ * kubernetes-anywhere was just used for e2e tests
+ * other tooling (e.g. kubespray) builds on top of/orchestrates kubeadm, kubeadm only sees local machine
+ * Cluster API provides the same view of different backends, kubeadm is the base layer, providers in the middle
+ * Why use CRDs instead of aggregated APIs?
+ * maturity, easy of use, portability
+ * SIG OpenStack [Chris Hoge] (confirmed)
+ * [Slides](https://docs.google.com/presentation/d/1wJMj3MAfv2HGBH5xiB5uhZoTTCNjsEpcQPRslb4gpw4/edit?usp=sharing)
+ * Previous work
+ * In-tree driver is **deprecated** and will go away soon
+ * Manilla provision
+ * CSI support for Manilla and Cinder
+ * Magnum is now Kubernetes Certified Installer
+ * Driver for Cluster API in the works
+ * Future Work
+ * Heat & Senlin autoscaling drivers
+ * Storage driver consolidation
+ * Barbican driver for key management
+ * Finish in-tree code removal
+ * Transitioning into a WG under SIG Cloud Provider
+ * Events:
+ * OpenStack Summit, Berlin (Nov 13-15)
+ * Sessions at KubeCon Seattle
+ * SIG Auth [Mo Khan ] (confirmed)
+ * [Slides](https://docs.google.com/presentation/d/14lhNK-h4W8W65jRtQtRKztnMygy7Qhk7NNm3CbyFmFM)
+ * Homepage: [https://contributor.kubernetes.io/sigs/sig-cluster-auth/](https://contributor.kubernetes.io/sigs/sig-auth/)
+ * Features
+ * Per-pod ephemeral service account tokens (projected volumes instead of secrets)
+ * **If NOT using client-go today**, need to keep reading token off disk
+ * Restricting Kubelet self-applied labels (via an admission plugin)
+ * Dynamic audit configuration (add/remove audit sinks without restart of API server)
+ * Container Identity WG winding down
+* [ 0:00 ] **?Announcements ?**
+ * Contributor Summit @ Kubecon
+ * Shanghai: Josh is getting on a plane, see you all there!
+ * Seattle: Chairs and owners, if you haven't confirmed we're running out of time, please let us know.
+ * Community Meeting Schedule
+ * 11/22 (Thanksgiving in the US) - Meeting is Still on, Ihor will be your host!
+ * 12/6 - Release Retro for 1.13 (tentative!)
+ * 12/13 - **Kubecon, no community meeting**
+ * 12/20 and 12/27 - **No community meetings**
+ * January, SIG Apps, SIG UI, SIG VMWare
+ * Steering committee not having meeting in two weeks, will have one just before Kubecon
+ * SIGs: Please try to have your charters in by KubeCon
+
+ **? **Shoutouts this week (Check in #shoutouts on slack) **?**
+
+ * paris and jdumars: big thanks to @mattfarina who just spent an hour helping organize our project boards
+ * Jberkus: Shanghai Shoutouts for next week: Megan Lehn for doing all the logistics and legwork from thousands of km away, @puja @xiangpengzhao and @idealhack for translating all the New Contributor Summit materials and many other things besides! Also, to @mrbobbytables and our localization volunteers for getting the international forums at dicuss.kubernetes.io launched!
+ * AishSundar: Shoutout to @jberkus and his team of CI Signal shadows @maria and @mortent for staying on top of CI signal failures and flakes every day, opening and following up on test issues and fixes and help maintain stable test health for 1.13 release !
+ * jdumars - Big thanks to @spiffxp @dims and @mattfarina ? all of whom have stepped up and helped with the work in SIG Architecture!
+ * mauilion - shoutout to @jdetiber for always finding time to help dig into the cluster-api stuffs.
+ * AishSundar - shoutout to @justinsb, yet again, for extremely quick turnaround on a long standing Upgrade testing issue (#56787). This helped us get clean e2e CI coverage one of the 1.13 Beta Feature "Taint Based Evcitions"
+
+
+## November 1 , 2018 - (recording)
+
+
+
+* **Moderators**: Tim Pepper [SIG Release / Contrib Ex]
+* **Note Taker**: Solly Ross
+* [ 0:00 ]** Demo **-- Automation Broker - Michael Hrivnak ([mhrivnak@redhat.com](mailto:mhrivnak@redhat.com)) (confirmed)
+ * [Website](http://automationbroker.io/)
+ * Service Bundle: container image/pod that runs to completion to install a service on the cluster
+ * Hooks into service catalog via _automation broker_
+ * **A**nsible **P**laybook **B**undle
+ * Easy way to make a service bundle
+ * Each service catalog action maps to an Ansible playbook in the bundle
+ * Can run other things besides ansible in service bundles (demo on youtube running Helm)
+ * Service catalog UI support
+ * Partial support in Kubeapps
+ * Support in OpenShift
+ * Ansible Operator
+ * Runs ansible roles/playbooks as an operator
+ * Ansible roles exist for manipulating kubernetes objects
+* [ 0:12 ]** Release Updates**
+ * Current Release Development Cycle [Aish Sundar - Release Manager]
+ * [v1.13-alpha3](https://github.com/kubernetes/kubernetes/releases/tag/v1.13.0-alpha.3) was cut yesterday, 10/31
+ * **v1.13-beta0 and Release branch creation scheduled for Tuesday, 11/6**
+ * Highly dependant on clean CI Signal
+ * Branch fast forwards will happen everyday thereafter
+ * **Code slush is coming up Friday, 11/9**
+ * Enhancement owners evaluate enhancement readiness based on pending work (code, test and docs)
+ * **Code Freeze** is just 2 weeks away !
+ * If you need to enhancement adjusted, please work with the Release team
+ * Ensure 1.13 PRs are uptodate on labels (sig, kind, priority, milestone)
+ * **_Tide will start enforcing [Code slush merge label requirements](https://github.com/kubernetes/community/blob/master/contributors/devel/release.md#tldr) _**
+ * **CI Signal**
+ * [This week report](https://groups.google.com/forum/#!topic/kubernetes-dev/_7aSN1agv_4)
+ * Kudos to SIG** Autoscaling** and** Cluster-Lifecycle **for closing out some long standing failing tests ([69444](https://github.com/kubernetes/kubernetes/issues/69444), [70058](https://github.com/kubernetes/kubernetes/issues/70058)) !
+ * **<span style="text-decoration:underline;">Beta Blocking tests</span>**
+ * [[sig-scheduling] Scheduler priorities](https://github.com/kubernetes/kubernetes/issues/69989)
+ * [GKE Upgrade Fail](https://github.com/kubernetes/kubernetes/issues/70445). Identified as GKE specific issue, Fix expected to rollout to OSS today (Not a blocker !)
+ * **Shuffling jobs in release blocking dashboards**
+ * We have finalized the[ criteria for Blocking Tests](https://github.com/kubernetes/sig-release/pull/346)
+ * As first step we are moving GKE upgrade tests from [sig-release-master-upgrade](https://k8s-testgrid.appspot.com/sig-release-master-upgrade#Summary&show-stale-tests=) to [sig-release-master-upgrade-optional](https://k8s-testgrid.appspot.com/sig-release-master-upgrade-optional#Summary&show-stale-tests=) dashboard - [PR#9959](https://github.com/kubernetes/test-infra/pull/9959)
+ * Expect to see more jobs moved out of "release-blocking" to "release-informing" dashboard
+ * Patch Release Updates
+ * 1.11.4 went out last week
+ * 1.12.2 went out last week
+ * Questions
+ * Are GKE tests considered blockers?
+ * _Correction from CI Signal: they are right now, but expect a proposal to remove the GKE Upgrade tests from blocking before beta, since those tests have been chronically flaky. Expect a PR to comment on soon._
+ * _https://groups.google.com/forum/#!topic/kubernetes-dev/8Po230FeEIs_
+* [ 0:00 ] **Open KEPs** - [link](https://groups.google.com/d/topic/kubernetes-dev/LIkZoIqCT20/discussion) to Caleb's announcement..repository is moving location
+ * SIG Architecture is working to improve KEP process for community
+ * Extracting KEPs from community repo (see link to the [discussion on kubernetes-dev](https://groups.google.com/d/topic/kubernetes-dev/LIkZoIqCT20/discussion))
+ * Try to have small merges that document consensus rather than waiting for full approval/finalization to merge
+ * Moving towards eventually making KEPs the main way to propose features (as opposed to being optional)
+* [ 0:00 ] **SIG Updates**
+ * SIG Leads, check out this set of [recommended topics to cover](https://github.com/kubernetes/community/blob/master/events/community-meeting.md#sig-updates) during your update
+ * [Slide template if you need it](https://docs.google.com/presentation/d/1-nTvKCiqu9UvFYUeM6p6RIqHS5-H-u3_x-V4xj_eIWo/edit#slide=id.g401c104a3c_0_0)
+ * Please also check the [SIG Update Schedule](https://docs.google.com/spreadsheets/d/1adztrJ05mQ_cjatYSnvyiy85KjuI6-GuXsRsP-T2R3k)!
+ * SIG AWS [Nishi Davidson] (confirmed)
+ * [https://drive.google.com/file/d/1jDR1Esdu2ApnuLrzsGxn7iv1cU3sWc7R/view](https://drive.google.com/file/d/1jDR1Esdu2ApnuLrzsGxn7iv1cU3sWc7R/view)
+ * We currently host 5 subprojects in SIG-AWS
+ * Subprojects aws-alb-ingress-controller, aws-ebs-csi-driver and out-of-tree ccm will be alpha in k8s v1.13
+ * Cloud Provider status
+ * In-tree
+ * Adding e2e tests
+ * Will be maintained until out-of-tree is GA, 2 release deprecation
+ * Out-of-tree
+ * GA Q3 2019
+ * CI Signal
+ * Added aws-tester plugin
+ * Creates ephemeral EKS cluster to run Kubernetes e2e tests as periodic jobs (not blocking)
+ * Hoping to integrate etcd conformance tests, cluster API tests as well
+ * [SIG Scheduling [Bobby Salamat] (confirmed)](https://docs.google.com/document/d/1Ztwf24XXR6S13pFBth_W86pNWk20b5Kv7mkcFAZCgJI/edit?usp=sharing)
+ * 1.12
+ * Scheduler perf improvements
+ * Only score percentage (50%, but configurable) of feasible nodes per pod, properly considered across failure domains
+ * Improved affinity/anti-affinity performance
+ * Graduated TainNodesByCondiion to beta, which creates taints for node conditions automatically
+ * Enable ImageLocalityFunction by default, which prefer nodes which already have the images for a pod, weight set to avoid putting all pods from an RS on the same node
+ * Scheduling framework design finalized (move scheduler features towards plugins, both in-process and out-of-process)
+ * 1.13
+ * Finalize design of gang/co-scheduling (more efficient batch job scheduling, e.g. for ML workloads)
+ * Finalize pod scheduling policies (allowing admins to control how pods get scheduled -- e.g. preventing setting tolerations, preventing certain namespaces from getting placed on certain nodes)
+ * **Deprecating the "critical pod" annotation**, in favor of pod priority and preemption
+ * Enable pod resource limit function (prefer nodes that can fit both a pod's request _and_ limit)
+ * Implement extension points for scheduling framework (see above)
+ * Improve equivalence cache (new design to address existing shortcomings)
+ * SIG Contributor Experience [Paris Pittman] (confirmed)
+ * [Update Deck](https://docs.google.com/presentation/d/1jLL5_nEKAHuhcqNOUgXhNJlgNK45gxklAROGzD8Dg8s/edit?usp=sharing)
+ * What was done last cycle
+ * Theme: making your life easier (automation, documentation, mentoring, events, etc)
+ * Performed the contributor survey (graphs on the way!)
+ * Common comments
+ * Meetups are out of scope, but will pass information on to CNCF
+ * You can apply "good first issue" labels even if you didn't file the issue
+ * People liked slack, release team notes in community meetings
+ * Scrubbed data is in the link, take a look
+ * Misc
+ * Communication moderation changes (stay public while dealing with bad actors) -- **SIG chairs should learn how to follow these processes**
+ * Calendar is private ATM because of bad actors
+ * Zoom links aren't publicly posted for similar reasons (_please don't tweet them_), but work is being done to solve this with Zoom
+ * Launched discuss.k8s.io as a community forum, please post/take a look!
+ * Upcoming
+ * Revamp developer guide
+ * Move KEPs out kubernetes/kubernetes
+ * Build a contributor site
+ * Upgraded communications guide
+ * Improve SIG Chair processes (e.g. Zoom-to-Youtube automation process) -- **please reach out if you have opinions**
+ * Seattle Contributor Workshop
+ * Waitlisted (**if you're a chair, TL, or subproject owner who hasn't signed up, please reach out!**)
+ * lots of good content planned
+ * Night-before event to hang out and talk
+ * **Consider mentoring, even if it's just 1 hour per quarter**
+ * Only need one merged PR to be a mentor
+ * See slides for a _whole lot _more work, information, links, and sigup information
+* [ 0:00 ] **?Announcements ?**
+ * [KEPs are moving out of k/community](https://groups.google.com/forum/#!topic/kubernetes-dev/LIkZoIqCT20)** **(calebamiles)
+* Shoutouts
+ * Nikhita: shoutout to @dims for being Asia/EU friendly while deciding the meeting time for #k8s-infra-team
+ * Mzee1000: Shout-out to @mrbobbytables for his help with Kubernetes 101 in Bangalore
+ * Jberkus: to: @justinsb for continuing to be the "difficult test fail" resolver.
+ * Jberkus: to @neolit123 for fast turnaround on kubeadm test fails
+ * Fejta: shoutout to @bentheelder for finally creating a @thockin emoji :thockin:
+ * @liz to: @bentheelder for going above and beyond to help me get my KIND tests working!
+ * @paris thanks to @nikhita @roycaihw @brendanburns @dims and many others for answering questions from first time contributors in the outreachy process slack channel #outreachy-apps
+ * @spiffxp thanks to @audreylim for tackling e2e test error messages as her first kubernetes pull-request (https://github.com/kubernetes/kubernetes/pull/69583)
+ * To Solly Ross for taking notes today
+
+
+## October 25, 2018 - ([recording](https://www.youtube.com/watch?v=RGT5V9kC4y4))
+
+
+
+* **?Moderator**: Jorge Castro [SIG Contributor Experience]
+* **?Note Taker**: Josh Berkus [Red Hat/SIG Contributor Experience/Release]
+* [ 0:00 ]** Release Updates**
+ * Current Release Development Cycle [1.13]
+ * [v1.13-alpha2](https://github.com/kubernetes/kubernetes/releases/tag/v1.13.0-alpha.2) was cut yesterday, 10/24
+ * We are currently in Enhancement freeze with [34 tracked enhancements](https://github.com/kubernetes/enhancements/issues?page=1&q=is%3Aissue+is%3Aopen+milestone%3Av1.13+label%3Atracked%2Fyes&utf8=%E2%9C%93)
+ * Any further additions need to go through a formal [exception process](https://github.com/kubernetes/enhancements/blob/master/EXCEPTIONS.md)
+ * **3 weeks** to Code Freeze (11/16)
+ * Please open **test, docs PRs** and also add about **release notes** to PRs when applicable
+ * **CI Signal **
+ * **[Test Failure Report for 10/23](https://groups.google.com/forum/#!topic/kubernetes-dev/_jILqo17Suw)**
+ * Kudos to SIG** Cluster-Lifecycle** and** Apps **for closing out some long standing failing tests ([69475](https://github.com/kubernetes/kubernetes/issues/69475), [69356](https://github.com/kubernetes/kubernetes/issues/69356)) !!
+ * New [Active Spreadsheet](https://docs.google.com/spreadsheets/d/1TfECf8uSVnHaaCn8KTWK-sMdG3PV7jtW7FggHIUpeUU/edit#gid=781125942) for tracking test failures. Still in development, but will be more up-to-date than the CI reports.
+ * **<span style="text-decoration:underline;">Beta blocking test failures (11/6)</span>**
+ * **Master-blocking **
+ * [Issue #69444](https://github.com/kubernetes/kubernetes/issues/69444) - [Horizontal Pod Autoscaling failures](https://k8s-testgrid.appspot.com/sig-release-master-blocking#gce-cos-master-serial). It is now critical-urgent.
+ * [Issue #70058](https://github.com/kubernetes/kubernetes/issues/70058) - Kubeadm failures
+ * [Issue #69989](https://github.com/kubernetes/kubernetes/issues/69989) - Pod SchedulerPriorities
+ * **Upgrade Test Board **
+ * Same issues tracked in Master blocking
+ * Tests are [generally flaky](https://github.com/kubernetes/kubernetes/issues/70151). We continue monitor for legit failure signal, alongside deflaking attempts.
+ * Patch Release Updates
+ * [1.12.2 planned for today, 10/25](https://groups.google.com/forum/#!topic/kubernetes-dev/br_xm72nSvo/discussion)
+ * Y.x
+* [ 0:00 ]** Demo **-- Cluster API AWS Provider ([chuck@heptio.com](mailto:chuck@heptio.com))
+ * [Link to repo](https://github.com/kubernetes-sigs/cluster-api-provider-aws)
+ * Link to slides or docs or whatever goes here.
+ * Demo of using the Cluster API to provision AWS.
+ * CLI tool: clusterawsadm
+ * Creates IAM rules, etc.
+ * Must already have SSH key pair (does not create)
+ * Starts with an existing Kubernetes cluster to create more clusters; you have to create a 1.11 or later cluster on your own (could be minikube)
+ * Create manifests for the CRDs, using "makemanifest"
+ * Clusterctl crd then controls the cluster.
+ * Pass many parameters by switch
+ * Once the new cluster is created, moves the ClusterAPI to that cluster.
+ * Secrets? In the CRD defintions.
+ * Config file for ClusterCTL? Not sure.
+* [ 0:10 ] ?**Contributor Tip of the Week** [Aaron Crickenberger] ?
+ * [HODL](https://i.ytimg.com/vi/c56jGlymb0E/maxresdefault.jpg)
+ * [https://prow.k8s.io/command-help#hold](https://prow.k8s.io/command-help#hold)
+ * Prevents merging
+ * [http://go.k8s.io/github-labels#do-not-merge/hold](http://go.k8s.io/github-labels#do-not-merge/hold)
+ * /hold to add, /hold cancel to remove
+ * [Good idea / Bad idea](https://cdn-images-1.medium.com/max/814/1*VM4QgVeRrlBxGyvk4F1snw.png)
+ * Good idea: explaining why you're putting on the hold
+ * Bad idea: removing a hold in a PR you're not involved in
+ * Reasons to hold
+ * Hang on, I the reviewer, think this needs more discussion
+ * I, the author, am holding this and will remove it when I've heard from the people I want
+ * I think the author should have final say on when this PR merges
+ * Notes:
+ * Anybody can add or remove a hold (don't even need to be an org member)
+ * Can we blacklist? We can, from the org
+ * We'd have to restrict hold to org members if it was a problem
+* [ 0:20 ] ?**SIG Updates**?
+ * SIG Leads, check out this set of [recommended topics to cover](https://github.com/kubernetes/community/blob/master/events/community-meeting.md#sig-updates) during your update
+ * [Slide template if you need it](https://docs.google.com/presentation/d/1-nTvKCiqu9UvFYUeM6p6RIqHS5-H-u3_x-V4xj_eIWo/edit#slide=id.g401c104a3c_0_0)
+ * Please also check the [SIG Update Schedule](https://docs.google.com/spreadsheets/d/1adztrJ05mQ_cjatYSnvyiy85KjuI6-GuXsRsP-T2R3k)!
+ * SIG Docs [Jennifer Rondeau, Zach Corleissen] (confirmed)
+ * [Slides](https://docs.google.com/presentation/d/1YNnITGt9-1A-_uFCjXWhAqqEYi-8HM7pFFnG8yEYG5g/edit?usp=sharing)
+ * Thanks to zparnold for adding automation foo tracking doc submistions in the Github API
+ * Reorganized localization, now under a consolidated repo
+ * Everything in kubenetes.io
+ * Thanks to Korean translators for making this happen
+ * Also updated guidelines
+ * Better automation for API reference docs (thanks Chi Ming Tang(sp?))
+ * Jennifer Rondeau is new SIG-Docs co-chair
+ *
+ * Upcoming Work:
+ * Renewing our focus on content and quality
+ * Focusing especially on onboarding
+ * Assessing how to remove user journeys and remodel the onboarding experience
+ * Better onboarding docs through graphical models
+ * Dedicated resource from Dominic Tornow (SAP) to generate models
+ * [https://medium.com/@dominik.tornow/kubernetes-high-availability-d2c9cbbdd864](https://medium.com/@dominik.tornow/kubernetes-high-availability-d2c9cbbdd864)
+ * Tim Fogarty (@tfogo) is docs meister for 1.13
+
+ Upcoming doc sprints:
+
+ * Shanghai (localization workflows)
+ * Seattle (TBD)
+* Next: how do we ensure that content remains fresh?
+* Localization subprojects have been consolidated into k/website
+* Now have a WG for SIG-Docs tooling, led by Luc Perkins(sp?)
+* Want to contribute? We *always* need technical reviewers!
+ * Or just pick an open issue
+ * PRs get more attention than issues, so if you find something wrong, PR a correction.
+* Chairs: Andrew Chen, Zach Corliessen, Jennifer Rondeau
+* SIG Storage [Saad Ali] (confirmed) ?
+* [Slides](https://docs.google.com/presentation/d/11nTnl549maTV-XUBQ_66_t17Nnal56NiTeo6SAIl810/edit?usp=sharing)
+* Last Quarter:
+ * Topology Aware Volume Scheduling
+ * Make scheduler smarter about where storage is
+ * Used to be a per-storage hack, now an expressible constraint for the scheduler
+ * Started in 1.10, added CSI support in 1.12, beta soon
+ * Snapshot & Restore
+ * Started a year ago. Was a question whether it should be part of the API at all. But many DB admins would like it.
+ * Mapping declarative to imperative was hard.
+ * CSI to GA this quarter
+ * PV support is primary
+ * Also want to support ephemeral volumes, and block volumes
+ * Now, we need to migrate the in-tree storage to CSI plugins. This is a blocker for Cloud Provider migration.
+ * Challenge: end-users need to have a smooth transition
+ * Working on reusable libraries for common storage (iSCSI etc.) that can be used as templates
+ * Adding conformance testing for CSI
+ * GA depends on completing Kubelet registration mechanism
+ * We're extrating the mount library in k/k to a separate repo so that CSI driver authors can use it.
+ * To beta this quarter:
+ * Ephemeral volumes
+ * CSI Topology
+ * CRD automated installation
+ * In-tree Block Volume support
+* Catch up with SIG-Storage at their biweekly meeting, or at Kubecon
+ * Sessions in Seattle, also a "Cloud-native Storage Day"
+* As part of moving to GA, they need a more robust mechanism than user-modifiable CRDs. THis includes addressing the downgrade problem.
+* [ 0:00 ] **?Announcements ?**
+ * Meet Our Contributors - Nov 7th at 230p and 8p UTC
+ * 230pm UTC - 5 Steering Committee Members AMA
+ * 8pm UTC - contributor mentors AMA
+ * #meet-our-contributors on slack
+ * [YouTube Playlist](https://www.youtube.com/playlist?list=PL69nYSiGNLP3QpQrhZq_sLYo77BVKv09F)
+ * The final call! CNCF awards nominations are open, details [here](https://www.cncf.io/blog/2018/10/08/annual-cncf-community-awards-nominations-kick-off-winners-to-be-recognized-at-kubecon-cloudnativecon-seattle/)!
+ * Kubernetes Contributor Summit Details
+ * The **Contributor Social for Kubecon Shanghai** has been scheduled. It will be from 5pm to 7pm, November 13, at the convention center. The event will feature a panel of Chinese contributors to Kubernetes, discussing obstacles and opportunities.
+ * Seattle - Registration is closed, waitlist is in effect, if you cannot attend please let #contributor-summit (Paris/Jorge/Bob) know so we can free up your slot!
+
+ **? **Shoutouts this week (Check in #shoutouts on slack) **?**
+
+ * pwittrock - Shoutout to @alexismp @jeefy and @mrbobbytables for helping me with my All Things Open Kubebuilder workshop. Thank you so much!
+ * AishSundar - shoutout to @nikopen for automating the Issues and PR spreadsheet for Bug Triage and CI Signal for 1.13 ! Thanks for staying on top of this and accommodating the feature requests
+ * jberkus - to @justinsb for splitting out our long-running upgrade tests so that they actually complete
+ * spiffxp - Congrats to @bentheelder for creating a PR that deletes over 3 million lines of code [https://github.com/kubernetes-sigs/kustomize/pull/503](https://github.com/kubernetes-sigs/kustomize/pull/503)
+ * Shoutouts to @ixdy for setting things up so we can use shorter URL's https://testgrid.k8s.io and [https://gubernator.k8s.io](https://gubernator.k8s.io)
+ * nabrahams - Shoutout to @idealhack for translating a huge pile of slides in preparation for the New Contributor Workshop in Shanghai.
+ * kacole2 - Shoutout to @AishSundar @spiffxp @claurence @gsaenger and @ameukam for their help on getting all the k/features (enhancements) issues in a great spot where everything is now being tracked to a PR in k/k and getting the freeze over the finish line.
+ * AishSundar - @kacole2 right back at you ! Awesome job on doing all the heavy lifting yourself. Staying on top of ~50 incoming enhancements, following up to prune the list and mentoring the shadows at the same time is no easy feat :slightly_smiling_face:
+ * nikhita - Shoutout to @lukaszgryglicki for being extremely responsive to feature requests for DevStats and implementing them and fixing bugs reallyyyyyyy fast!! :tada:
+ * [Stackoverflow Top Users](https://stackoverflow.com/tags/kubernetes/topusers) (Once a month at the end of the month)
+ * [Rico, Praveen Sripati, ](https://stackoverflow.com/users/2989261/rico)Ij[az Khan, Ryan Dawson, samhain1138, VonC, Michael Hausenblas, David Maze, Ignacio Mill?n, Konstantin Vustin](https://stackoverflow.com/users/4550110/ijaz-khan)
+ * Community meeting Nov 22
+ * We traditionally cancel this meeting due to US Holiday (Thanksgiving)
+ * Let's try to be more global, see #sig-contribex if you want to help drive this meeting this week while the US is out.
+
+
+## October 18, 2018 - ([recording](https://youtu.be/_oOX6OuPZaM))
+
+
+
+* **Moderators**: Aaron Crickenberger [SIG ~~Beard~~ Testing]
+* **Note Taker**: First Last [Company/SIG]
+* [ 0:00 ]** Demo **-- Kubetest [Marco Ceppi, marco@ceppi.net] (confirmed)
+ * [Link to slides](https://docs.google.com/presentation/d/1MjUPBihKHhpAFskOcpwafTWehTrGrSxCNtIBPfFcDC0/edit#slide=id.p)
+ * [Link to repositories](https://github.com/vapor-ware/kubetest)
+* [ 0:00 ]** Release Updates**
+ * Current Release Development Cycle [Aish Sundar ~ Release 1.13 Lead]
+ * **[v1.13-alpha.1](https://github.com/kubernetes/kubernetes/releases/tag/v1.13.0-alpha.1) **was cut on Monday 10/15
+ * alpha.2 slated for Tuesday 10/23
+ * **Enhancement Freeze is next Tuesday - 10/23**.
+ * [37 enhancements](https://github.com/kubernetes/features/issues?page=1&q=is%3Aissue+is%3Aopen+milestone%3Av1.13+label%3Atracked%2Fyes&utf8=%E2%9C%93) currently tracked for 1.13
+ * Owners please update your issues in k/features repo to indicate confidence level of the committed work
+ * Provide a list of pending PRs and issues for each enhancement to lohelp us track better
+ * SIG Arch will be reviewing the list of planned enhancements in 1.13
+ * **CI Signal **
+ * **[Test Failure Report for 10/16](https://groups.google.com/forum/#!topic/kubernetes-dev/MXzAw_GH30Q)** - Net open issues remain constant
+ * Kudos to SIG **Scalability, Scheduling, Node, API-Machinery **for fixing failing tests ([69473](https://github.com/kubernetes/kubernetes/issues/69473), [69597](https://github.com/kubernetes/kubernetes/issues/69597), [69786](https://github.com/kubernetes/kubernetes/issues/69786), [69815](https://github.com/kubernetes/kubernetes/issues/69815))
+ * **<span style="text-decoration:underline;">Beta blocking test failures (11/6)</span>**
+ * **Upgrade Test Board is Red**
+ 1. [Issue #69475](https://github.com/kubernetes/kubernetes/issues/69475) - [gce-new-master-upgrade-cluster-new](https://k8s-testgrid.appspot.com/sig-release-master-upgrade#gce-new-master-upgrade-cluster-new) and [gke-gci-new-gci-master-upgrade-cluster-new](https://k8s-testgrid.appspot.com/sig-release-master-upgrade#gke-gci-new-gci-master-upgrade-cluster-new) were failing for weeks earlier. Splitting Jobs has given us new signal !
+ 2. [Issue #69356](https://github.com/kubernetes/kubernetes/issues/69356) - **Daemonset** failure is pending resolution
+ * **Master-blocking **
+ 3. [Issue #69891](https://github.com/kubernetes/kubernetes/issues/69891) - Primarily [GKE tests timing out](https://github.com/kubernetes/kubernetes/issues/69891)
+ * Patch Release Updates
+ * 1.12.x
+ * 1.11.x - @foxish planning for next week sometime.
+ * 1.10.x
+* [ 0:00 ] **Graph o' the Week **[Aaron Crickenberger]
+ * Hi I'd like to propose we retire this slot [https://github.com/kubernetes/community/issues/2818](https://github.com/kubernetes/community/issues/2818)
+ * But one last thing before we do? <seinfeld>What's the deal with repository groups?</seinfeld>
+ * [https://github.com/cncf/devstats/pull/145](https://github.com/cncf/devstats/pull/145) - let's use sigs.yaml instead
+ * Compare and contrast for yourselves
+ * [The prod server has the old repository groups](https://k8s.devstats.cncf.io/d/12/dashboards?refresh=15m&orgId=1)
+ * [The test server has the new repository groups by sig](https://k8s.teststats.cncf.io/d/12/dashboards?refresh=15m&orgId=1)
+* [ 0:00 ] **Contributor Tips** [Aaron Crickenberger]
+ * Hi welcome to what I propose we replace Graph/KEP o' the Week with [https://github.com/kubernetes/community/issues/2818](https://github.com/kubernetes/community/issues/2818)
+ * Let's talk about /help and /good-first-issue
+ * https://prow.k8s.io/command-help#help
+* [ 0:00 ] **SIG Updates**
+ * SIG Leads, check out this set of [recommended topics to cover](https://github.com/kubernetes/community/blob/master/events/community-meeting.md#sig-updates) during your update
+ * [Slide template if you need it](https://docs.google.com/presentation/d/1-nTvKCiqu9UvFYUeM6p6RIqHS5-H-u3_x-V4xj_eIWo/edit#slide=id.g401c104a3c_0_0)
+ * Please also check the [SIG Update Schedule](https://docs.google.com/spreadsheets/d/1adztrJ05mQ_cjatYSnvyiy85KjuI6-GuXsRsP-T2R3k)!
+ * ~~SIG PM [Stephen Augustus] (confirmed)~~
+ * ~~No show this week~~
+ * SIG Testing [Aaron Crickenberger] (confirmed)
+ * [https://docs.google.com/presentation/d/1TD7Z07LlJDprD7m5K4bv_PpYZ-rLNOptmoU3Pab-gY8/edit#slide=id.g439b3a360b_0_25](https://docs.google.com/presentation/d/1TD7Z07LlJDprD7m5K4bv_PpYZ-rLNOptmoU3Pab-gY8/edit#slide=id.g439b3a360b_0_25)
+ * SIG Instrumentation [Frederic Branczyk] (confirmed)
+* [ 0:00 ] **Announcements**
+ * Want to host the community meeting? Come talk to us on #sig-contribex on slack!
+ * Tickets are really running low on the [Contributor Summit registration for Kubecon](https://github.com/kubernetes/community/tree/master/events/2018/12-contributor-summit). aka last call!
+ * [Kubernetes Outreachy Internships are live. ](https://www.outreachy.org/communities/cfp/kubernetes/)
+ * There are three: two with client libraries and one for a revamp dev guide. Brendan Burns, Nikhita Raghunath, and Paris Pittman are mentors and program owners. Reach out with questions. #outreachy-apps is now open for all Outreachy questions.
+ * Interested applicants need to go through the [Outreachy](https://www.outreachy.org/) application process FIRST and then they will be engaged in the rest of the process.
+ * They will be required to make a first time contribution as part of the application process. Please try to use the good-first-issue where possible or you will see an increase in spelling error PRs.
+ * ?NCF Awards Nominations are open! Please nominate folks - [https://www.cncf.io/blog/2018/10/08/annual-cncf-community-awards-nominations-kick-off-winners-to-be-recognized-at-kubecon-cloudnativecon-seattle/](https://www.cncf.io/blog/2018/10/08/annual-cncf-community-awards-nominations-kick-off-winners-to-be-recognized-at-kubecon-cloudnativecon-seattle/)
+ * Shoutouts this week (Check in #shoutouts on slack) (or we'll do it live!)
+ * Shoutouts from @jdumars to #sig-testing for all the work they do
+ * Shouts from @guineversaenger to @cjwagner and @fejta for being helpful and responsive to all questions testing related
+ * Shoutouts to @pohly and @matthyx from @spiffxp for all of the great work they've been contributing to #sig-testing lately
+
+
+## October 11, 2018 - ([recording](https://youtu.be/MBDOLG5OTpQ))
+
+
+
+* **Moderators**: Paris Pittman [SIG-ContribEx]
+* **Note Taker**: ???
+* [ 0:00 ] **Demo: **Encrypted Container Images for k8s
+ * Brandon from IBM to upload slides, URLs, materials, etc.
+ * Presentation: [https://ibm.box.com/s/ctzxk6iu25ras975zwu2h4eijqk9ljmh](https://ibm.box.com/s/ctzxk6iu25ras975zwu2h4eijqk9ljmh)
+ * Design Doc: [https://docs.google.com/document/d/146Eaj7_r1B0Q_2KylVHbXhxcuogsnlSbqjwGTORB8iw/edit](https://docs.google.com/document/d/146Eaj7_r1B0Q_2KylVHbXhxcuogsnlSbqjwGTORB8iw/edit)
+ * Discussion Issue: [https://github.com/opencontainers/image-spec/issues/747](https://github.com/opencontainers/image-spec/issues/747)
+ * Dev Branch: [https://github.com/stefanberger/containerd/tree/image-encryption.v3](https://github.com/stefanberger/containerd/tree/image-encryption.v3)
+* [ 0:00 ]** Release Updates**
+ * 1.13 release
+ * **Enhancement **collection underway since Oct 8th
+ * Currently [37 issues](https://github.com/kubernetes/features/issues?utf8=?&q=is%3Aissue+is%3Aopen+milestone%3Av1.13+label%3Atracked%2Fyes+) under k/features repo. Please keep the labels (kind, priority, sig) up-to-todate on the issues. Please also indicate level of confidence and what's pending in terms of code, test and docs.
+ * Enhancement Freeze - 10/23
+ * For large / risky enhancements, please try to land by early November so we can assess stability from CI signal and get any bug fixes in by Code freeze (Nov 15th)
+ * **CI Signal - Test failures**
+ * **Except weekly CI Signal report to k-devs@**
+ * [First CI Signal Report](https://groups.google.com/forum/#!topic/kubernetes-dev/yc3OUIA3ybk) went out yesterday.
+ * If there are failing-test issues assigned to your SIG please treat it as priority !
+ * 1.13 schedule adjusted to accommodate 2 Alphas (10/15 and 10/23) and 2 RC builds (11/27 and 11/30)
+ * This should help us test out the build and release tools and flows roughly once in 2 weeks during the release
+ * Patch Update:
+ * planning 1.10.9 next tuesday (16th)
+* [ 0:00 ] **Graph of the Week** [Josh Berkus]
+ * [Countries stats](https://k8s.devstats.cncf.io/d/50/countries-stats?orgId=1)
+ * [Contributors from China, Korea, and Japan](https://k8s.devstats.cncf.io/d/50/countries-stats?orgId=1&var-period_name=Quarter&var-countries=%22China%22&var-countries=%22Japan%22&var-countries=%22Korea,%20Republic%20of%22&var-repogroup_name=All&var-metric=contributors&var-cum=countries)
+ * [Timezone Stats](https://k8s.devstats.cncf.io/d/51/timezones-stats?orgId=1)
+ * [Timezones for PR Authors to Networking](https://k8s.devstats.cncf.io/d/51/timezones-stats?orgId=1&from=now-90d&to=now&var-period=w&var-tzs=All&var-repogroup_name=Networking&var-metric=prcreators)
+* [ 0:00 ] **SIG Updates**
+ * Network [casey confirmed]
+ * [https://docs.google.com/presentation/d/1AkTp3m6LC8B7UqKPT3mWIyo5DMu6gdLvexFB7WIVCPI/edit?usp=sharing](https://docs.google.com/presentation/d/1AkTp3m6LC8B7UqKPT3mWIyo5DMu6gdLvexFB7WIVCPI/edit?usp=sharing)
+* [ 0:00 ] **?Announcements ?**
+ * KubeCon/CloudNativeCon Shanghai New Contributor Workshop is sold out!** ** ?
+ * We will have a waiting list up soon
+ * Related to this: we have #cn-dev on Slack and will have a Chinese section of discuss.kubernetes.io soon.
+ * Seattle Contributor Summit [Jorge] - this is your low ticket warning. RSVP to a track and watch as [we build out the schedule](https://github.com/kubernetes/community/tree/master/events/2018/12-contributor-summit).
+ * CNCF Awards - nominations are open! Please, check out the blog post (announcement) for details - [https://www.cncf.io/blog/2018/10/08/annual-cncf-community-awards-nominations-kick-off-winners-to-be-recognized-at-kubecon-cloudnativecon-seattle/](https://www.cncf.io/blog/2018/10/08/annual-cncf-community-awards-nominations-kick-off-winners-to-be-recognized-at-kubecon-cloudnativecon-seattle/)
+ * [Kubernetes Office Hours](https://github.com/kubernetes/community/blob/master/events/office-hours.md) [Jorge] is next week.
+ * We're short two folks forth both the European and Western editions again this week. If you can help ping @jorge on slack.
+ * Meet Our Contributors is also looking for more mentors to sit in on a one hour monthly Q&A session. [Watch @sttts do a super quick code base tour.](https://youtu.be/yqB_le-N6EE)(clip of the show) [paris]
+ * 230p and 8p UTC; first Weds of the month
+ * **?Shoutouts this week (Check in #shoutouts on slack) ?**
+ * M1kola: Shoutout to @soltysh for re-organising kubectl codebase in [https://github.com/kubernetes/kubernetes/pull/6946](https://github.com/kubernetes/kubernetes/pull/6946). I think, this change improves contributor's experience. Now I spend less time waiting for tests & coverage report when I want to check only specific kubectl command. Significant productivity boost for me and hopefully for other people too.
+ * Leigh: **big** ups to @neolit123 for putting in so much hard work to keep the flurry of sig-cluster-lifecycle work organized -- thank you, Lubomir!
+
+
+## October 4, 2018 - ([recording](https://www.youtube.com/watch?v=QyFEPSJEO48))
+
+
+
+* **Moderators**: Jeffrey Sica [SIG-UI]
+* **Note Taker**: ???
+* [ 0:00 ] **?Announcements ?**
+ * [ 0:00 ]** Release Updates**
+ * 1.13 release cycle started this Monday, 10/1: see [https://github.com/kubernetes/sig-release/tree/master/releases/release-1.13](https://github.com/kubernetes/sig-release/tree/master/releases/release-1.13) for detail schedule
+ * Short release (10 weeks)
+ * Code freeze on Nov 15th
+ * Anticipated release on 12/3
+ * SIGs and leads, please plan 1.13 enhancements load accordingly for example prioritizing stability and bug fixing ahead of features.
+ * Two key items known currently:
+ * removal of etcd2
+ * Move to go 1.11.1
+ * [1.12.1 planned for tomorrow October 5, 2018](https://groups.google.com/d/topic/kubernetes-dev/h_SoRAyzmDg/discussion)
+ * ?Steering Committee Election Announcement [Brendan Burns] ?
+ * Aaron @spiffxp
+ * Tim St Clair @timothysc
+ * Davanum Srinivas @dims
+ * Contributor Summit Seattle - You don't need to sign up for KubeCon first. This will sell out in the next few weeks. Please RSVP now. [https://git.k8s.io/community/events/2018/12-contributor-summit](https://git.k8s.io/community/events/2018/12-contributor-summit)
+ * ?Shoutouts this week (Check in #shoutouts on slack) ?
+ * bentheelder - Shoutout to @mrhohn @neolit123 @justinsb and @liggitt for each helping me in turn to track down https://github.com/kubernetes/kubernetes/issues/69195 This one was tricky to pin down! :sweat_smile:
+ * paris - shouts to @justaugustus @krzyzacy @mrbobbytables and @jeefy (filing in for @jorge) for being mentors in our first episode of our October #meet-our-contributors :k8s: :heart_eyes_k8s:
+ * paris - shouts to @brendanburns @timothysc and @spiffxp for spending time with us answering questions on #meet-our-contributors this week :k8s: :heart_eyes_k8s:
+* [ 0:00 ] **Release v1.12 Retrospective:** link [http://bit.ly/k8s112-retro](http://bit.ly/k8s112-retro)
+
+
+## September 27, 2018 - recording
+
+
+
+* **Moderators**: Josh Berkus [SIG-Release]
+* **Note Taker**: Tim Pepper [VMware/SIG-Release]
+* [ 0:00 ]** Release Updates**
+ * Current Release Development Cycle [Tim Pepper ~ Release Lead]
+ * Release today! ...expect published artifacts by ~5pm Pacific
+ * Pengfei Ni / @feisky (slack) / [@feisker](https://github.com/feiskyer) (github) is 1.12.y patch manager.
+ * Any issues need targeted for cherry pick to 1.12.1 asap.
+ * Retro next week. Enter any notes or thoughts or desires relative to release process in the [1.12 retro doc](https://docs.google.com/document/d/1OgylAYqU0YoJz-PTd8uzyHtMcxYSewSq06AGeh1F-A8/edit#heading=h.tw06ll716grh).
+ * Patch Release Updates
+ * No 1.10, 1.11 updates
+ * 1.9.11 Mehdy Bohlool
+ * released today, <span style="text-decoration:underline;">final update</span> to 1.9.
+ * "Finish Him!"
+ * Time to upgrade if you haven't...1.10, 1.11, 1.12 will now be our active releases.
+* [ 0:00 ] **Graph o' the Week **[Aaron Crickenberger] How to analyze your test failures...
+ * Triage dashboard: [https://go.k8s.io/triage](https://go.k8s.io/triage) clusters for analysis the past week's worth of failures.
+ * A bunch of BigQuery data is created from GCS buckets. (This is a publicly accessible BigQuery data set, custom analysis charges your personal Google project.)
+ * Various interactive UI elements allow tunneling into more details. Can search GitHub for already existing issue(s) referencing an issue you're looking at. Clicking on a failed test takes you to gubernator logs, which include at the top a command to reproduce the specific test job.
+ * In the past automation tried to open issues, in hopes that they would get fixed, but that hasn't worked well...needs human interaction and inspection. Toggles allow looking at CI, PR, or both.
+ * See video for live examples of how/where to click on things in the UI for chasing details of a specific failure.
+ * Triage update job: [https://k8s-testgrid.appspot.com/sig-testing-misc#triage](https://k8s-testgrid.appspot.com/sig-testing-misc#triage)
+ * Configurable notifications via email if more than N failures happen
+ * Triage codebase: [https://github.com/kubernetes/test-infra/tree/master/triage](https://github.com/kubernetes/test-infra/tree/master/triage)
+ * Troubleshooting issue: [https://github.com/kubernetes/test-infra/issues/9271](https://github.com/kubernetes/test-infra/issues/9271)
+ * BigQuery Ingress rate: [http://velodrome.k8s.io/dashboard/db/bigquery-metrics?panelId=12&fullscreen&orgId=1](http://velodrome.k8s.io/dashboard/db/bigquery-metrics?panelId=12&fullscreen&orgId=1)
+ * BigQuery freshness: [https://k8s-testgrid.appspot.com/sig-testing-misc#metrics-kettle](https://k8s-testgrid.appspot.com/sig-testing-misc#metrics-kettle)
+* [ 0:00 ] **SIG Updates**
+ * SIG Leads, check out this set of [recommended topics to cover](https://github.com/kubernetes/community/blob/master/events/community-meeting.md#sig-updates) during your update
+ * Please also check the [SIG Update Schedule](https://docs.google.com/spreadsheets/d/1adztrJ05mQ_cjatYSnvyiy85KjuI6-GuXsRsP-T2R3k)!
+ * SIG leadership should prepare ahead of time
+ * Give notice to the meeting moderator if your SIG will be unavailable
+ * ~~SIG Azure [Stephen Augustus] (confirmed)~~ - Sorry peeps, last minute conflict today that I can't shuffle
+ * SIG Big Data [Yinan Li] (confirmed)
+ * [Slides](https://docs.google.com/presentation/d/1GO8T23fx8NnXW-8QqzvYwXJFfOB5hNuq_hE4dUd84dw)
+ * Apache Spark 2.4 Release coming mid to late October with Kubernetes functionality:
+ * python and R language support
+ * Client mode for spark-shell and notebooks
+ * Mounting volumes, emptyDri, hostPath, PVC
+ * Executor memory request control improvements (fractional values, milli-CPUs)
+ * Scheduler backend robustness improvements
+ * Future work:
+ * Pod templates for driver and executor pod customizations. There are so many options configurable...explosion. Rather than adding more, they're adding template support to make usage easier.
+ * Service shuffling
+ * Kerberos authentication
+ * Improving support for local application dependencies on the client machines doing submissions
+ * Driver resilience, checkpoint/restart for streaming applications.
+ * Non-Spark, other projects:
+ * Airflow 1.10: new operator and executor for arbitrary pods to run tasks. Operator for life cycle management (newly open sourced)
+ * Spark Operator: exporting jvm/driver/executor metrics to Prometheus
+ * SIG Scalability [Shyam Jeedigunta] (tentative)
+ * Governance: charter is in place, giving official guidance on what the SIG can and can't do (eg: in the past there's been a lot of question around what is and is not release blocking)
+ * Test resources: github issue (link?) exists to track work items ahead of shifting underlying test resources to CNCF
+ * SLOs: API call latency and pod startup latency have been the only two for quite some time. Looking to add multiple new ones for networking.
+ * Cluster loader ([link](https://github.com/kubernetes/perf-tests/blob/master/clusterloader/docs/design.md)): have achieved minimal viable product (MVP) level of readiness. This should enable other teams to easily run scale tests themselves.
+ * CI health / tests: Working to speed up pre-submits' running time, as these have historically been the slowest and are a merge bottleneck (eg: kubemark 500 is waay faster). Investing in de-flaking scale jobs like the 5000 node test, which recently had 8 green runs in a row (a record?).
+ * 1.12 release: as typical, close to the end of the release some scalability issues came up, this time in:
+ * taint node by condition feature which lead to notably slower start up.
+ * CoreDNS regression was masked by other regressions until very late in the release cycle, leaving insufficient time to debug safely and feature dropped (CoreDNS is not the default on GCE yet..1.13?)
+* [ 0:32 ] **?Announcements ?**
+ * ?Steering Committee Election Announcement ?
+ * less than one week to vote! Election closes October 3rd @ 6pm PT.
+ * Check email for CIVS ballot email titled: "Poll: Kubernetes Steering Committee Election for 2018".
+ * Voters Guide [https://git.k8s.io/community/events/elections/2018 ](https://git.k8s.io/community/events/elections/2018)
+ * 229 of 681 people have voted! We had 309 votes last year.
+ * Mail [community@kubernetes.io](mailto:community@kubernetes.io) if you have any issues/concerns.
+ * [https://www.surveymonkey.com/r/k8s-contributor-2018](https://www.surveymonkey.com/r/k8s-contributor-2018) -> Contributor Experience survey that will shape our direction and close feedback loops. K8s water bottle for your time today!
+ * SIG Chairs/Leads/TLs/Keepers of Zoom and YouTube - check your email for issues relating to those two services. Approx. 40% of our community are not using the correct zoom license. Many, many meetings missing from YouTube channel, which is a negative on transparency.
+ * Contributor Summit (Kubecon / CloudNativeCon Seattle) - registration will say waitlist, but: **We are not sold out, yet. Please sign up anyway**. We are working through a registration issue. There is a possibility we will pull registration from the KubeCon site into a separate registration process. If you have signed up already, you will not need to sign up again. If you are waitlisted, you will be contacted to sort out this issue. Join #contributor-summit on slack for real time info and [GH LINK](https://github.com/kubernetes/community/tree/master/events/2018/12-contributor-summit) for published information. Initial content will be listed next week.
+ * [Draft Agenda for Content](https://docs.google.com/document/d/17StTsUSCh1XxPjF-TpCnhXvZalHs7lwhSrVIgNpFwLU/edit) - still looking for feedback on the sessions/content you'd like to see.
+ * ?Shoutouts this week (Check in #shoutouts on slack) ?
+ * @dims: Big shoutout to @jonasrosland to getting the CNCF meetup off the ground in boston and @abe for his talk on The Kubernetes Release Cycle ( https://www.meetup.com/Cloud-Native-Computing-Boston/ )
+ * @timothysc: Huge shoutout to the whole release team and everyone else whose put in crazy effort to make RC2!
+ * @aish: HUGE shoutout to @justaugustus for helping us fill the [release 1.13] roster out !
+ * @justaugustus Shoutout to everyone who volunteered for the 1.13 Release Team! We staffed a _FULL_ roster of leads and shadows in 16 days and they'll be in super capable hands with @AishSundar and @spiffxp at the helm!
+ * @spiffxp: shoutout to @cjwagner (Cole Wagner) for all of the work he's done over the past year to remove mungegithub from the project and bring tide to kubernetes/kubernetes
+
+
+## Sep 20, 2018 - ([recording](https://youtu.be/HqePVxsMPDw))
+
+
+
+* **Moderators**: Jonas Rosland [SIG-ContribEx]
+* **Note Taker**: Josh Berkus, Jaice Singer DuMars and Jorge Castro [SIG-ContribEx]
+* [ 0:01 ]** Release Updates**
+ * Current Release Development Cycle [Tim Pepper ~ 1.12 Release lead]
+ * We're down to _probably_ 1 issue pending fix and test soak
+ * Key upcoming events barring any new test issues:
+ * Friday Sept 21 "cherry-pick deadline" (non-event given master hasn't yet thawed)
+ * Friday Sept 21 cut RC2 and built rpms/debs
+ * Monday Sept 24 last release-1.12 branch fast-forward from master branch
+ * Monday Sept 24 thaw master branch
+ * ...final soak: cherry picks only for absolutely critical show stopper bugs?
+ * **Thursday Sept 27 release**
+ * Patch Release Updates
+ * 1.9.10 released Aug 3
+ * 1.10.8 released Sept 15
+ * 1.11.3 released Sept 11
+* [ 0:03 ] **SIG Updates**
+ * SIG Cloud Provider [Chris Hoge] (confirmed)
+ * [https://docs.google.com/presentation/d/186rAa3cNCBOA2GBmFdNvBI_Ko4inaQYHEX2CFA4TSqs/edit#slide=id.p](https://docs.google.com/presentation/d/186rAa3cNCBOA2GBmFdNvBI_Ko4inaQYHEX2CFA4TSqs/edit#slide=id.p)
+ * Looking at cloud providers in core code, like Google, AWS, etc.
+ * Don't want more in the upstream code
+ * Want level playing field
+ * In the process of moving providers to plugins
+ * Minimum requirements to add a provider, is it documented? Do they post results to testgrid? So that users have some assurance that they'll have a positive experience.
+ * In 1.12:
+ * Added new providers to SIG-CP: Alibaba. DigitalOcean and Baidu in progress.
+ * Started work on removing the in-tree providers
+ * [https://zoom.us/j/9941605205](https://zoom.us/j/9941605205)
+ * [https://docs.google.com/document/d/1nBwl3BmF4IOZwxakJyePJA9b-Gme7al2RyXWy4JNCMc/edit?usp=sharing](https://docs.google.com/document/d/1nBwl3BmF4IOZwxakJyePJA9b-Gme7al2RyXWy4JNCMc/edit?usp=sharing)
+ * Created CP Extraction Working Group, [meetings 11am](https://zoom.us/j/9941605205 ) Pacific Thursdays.
+ * Many in-tree providers use internal APIs, so code needs to be refactored.
+ * Some APIs need to be moved to staging
+ * In 1.13:
+ * Continue work to move in-tree providers
+ * Document external provider usage, need to make sure all requirements etc. are documented. Installation process is more complicated, for example.
+ * Maybe moving provider SIGs into SIG-CP, likely to take longer.
+ * Make sure all providers have conformance test results
+ * Collaboration
+ * SIG-Docs doesn't want to be in charge of provider docs, that should be up to SIG-CP
+ * Working with Cluster Lifecycle on install/upgrade
+ * Q: should provider repos be in the Kubernetes org?
+ * A: the decision on whether providers should be part of the kubernetes org is an Arch decision, it's a question of what you think Kubernetes is. We're trying to provide a level playing field. Right now, they are part of the org.
+ * SIG Architecture [Jaice Singer DuMars] (confirmed)
+ * What we do
+ * Manage and maintain architectural consistency over time
+ * Manage subprojects:
+ * [API review process](https://github.com/kubernetes/community/blob/master/sig-architecture/api-review-process.md)
+ * [KEP reviews](https://github.com/kubernetes-sigs/architecture-tracking/projects/2) (architectural lens)
+ * [Conformance test](https://github.com/kubernetes-sigs/architecture-tracking/projects/1) definition and implementation
+ * Charter in progress due to complex processes we manage, so there are not many defined subprojects yet.
+ * Manage policy and governance
+ * API governance (guidance docs and the review process)
+ * Deprecation policy
+ * Code organization
+ * KEP process
+ * General issues around Kubernetes scope
+ * What are we working on right now?
+ * Take a look at our [meeting notes](https://docs.google.com/document/d/1BlmHq5uPyBUDlppYqAAzslVbAO8hilgjqZUTaNXUhKM/edit)
+ * Our [YouTube Channel](https://www.youtube.com/playlist?list=PL69nYSiGNLP2m6198LaLN6YahX7EEac5g)
+ * SIG API Machinery [Daniel Smith] (confirmed)
+ * Dry run in alpha to see what the predicted outcomes of an action will be
+ * You can test API to see what it looks like when it runs through the webhooks
+ * CRD versioning change
+ * No schema change allowed
+ * Register a webhook to do a schema change
+ * All the various API definitions should have the same feature set
+ * SSH tunnels are going away - this has been deprecated for a year
+ * Re: server side apply
+ * In a feature branch
+ * Allows writing code during freeze
+ * More complete designs on the way
+ * "We don't own your API" - we're not the API reviewers
+ * We do own _some APIs_ like metadata format, CRD API, webhook interface APIs, comms between aggregator & APIs, controllers, RBAC API, controller shell (informer, reflector, shared informers, etc.), controller manager binary
+ * Upcoming:
+ * rate limits, flow control - prevent API quota over-consumption ~ de facto prioritization of API requests
+ * Internal API Server coordination - e.g. how do you know when every API is serving the same version of a CRD
+ * SIG meeting & agenda ~ if it's empty the day before, the meeting will be cancelled (there's an "agenda closed" meeting event)
+* [ 0:00 ] **Announcements**
+ * Calendar information - subscribe, don't copy! [Jonas]
+ * [Instructions here](https://github.com/kubernetes/community/blob/master/events/community-meeting.md)
+ * Mac Calendar:
+
+<p id="gdcalert1" ><span style="color: red; font-weight: bold">>>>>> gd2md-html alert: inline image link here (to images/Kubernetes-Community0.png). Store image on your image server and adjust path/filename if necessary. </span><br>(<a href="#">Back to top</a>)(<a href="#gdcalert2">Next alert</a>)<br><span style="color: red; font-weight: bold">>>>>> </span></p>
+
+
+![alt_text](images/Kubernetes-Community0.png "image_tooltip")
+
+ * Google Calendar:
+
+<p id="gdcalert2" ><span style="color: red; font-weight: bold">>>>>> gd2md-html alert: inline image link here (to images/Kubernetes-Community1.png). Store image on your image server and adjust path/filename if necessary. </span><br>(<a href="#">Back to top</a>)(<a href="#gdcalert3">Next alert</a>)<br><span style="color: red; font-weight: bold">>>>>> </span></p>
+
+
+![alt_text](images/Kubernetes-Community1.png "image_tooltip")
+
+ * Election Update [Jorge]
+ * [All the info you need](https://groups.google.com/forum/#!topic/kubernetes-dev/0gEdp_xdzEI)
+ * Total voters: 677
+ * Actual votes cast thus far: 144
+ * If you are in [voters.md](https://github.com/kubernetes/community/blob/master/events/elections/2018/voters.md) but have not received a ballot please mail [community@kubernetes.io](mailto:community@kubernetes.io)
+ * Election ends on October 3.
+* Kubernetes Contributor Summit is happening [Jorge]
+ * [Information](https://github.com/kubernetes/community/tree/master/events/2018/12-contributor-summit)
+ * [Content is in draft](https://docs.google.com/document/d/17StTsUSCh1XxPjF-TpCnhXvZalHs7lwhSrVIgNpFwLU/edit), SIG leads and TLs, please review and comment
+ * Register as part of your Kubecon registration (check the box for collocated events); you will get a follow up email about RSVPing for tracks and
+
+ Sunday dinner and fun @ garage in Seattle
+
+ * Contributor Social Shanghai: 11/13, 6pm, at the convention center
+ * Will have panel on contributing from China
+* Contributor Survey [Jorge]
+ * [https://www.surveymonkey.com/r/k8s-contributor-2018](https://www.surveymonkey.com/r/k8s-contributor-2018)
+* [Jorge] October 1st marks the start of Hacktoberfest, a month-long celebration of open source software. This is an opportunity to welcome new Kubernetes contributors to the community. Please help by making an extra effort this month to add more issues with the good-first-issue label. If you have any large tasks that could use help from a lot of contributors, now would be the perfect time to create an issue for it. You can learn more about Hacktoberfest here: [https://hacktoberfest.digitalocean.com/](https://hacktoberfest.digitalocean.com/)
+ * ContribEx will be generating a 404 report for new users so they will have a place to go.
+ * SIGs, consider updating your good-first-issue labels.
+ * SIG Leads, we've put together some recommendations for how to give an [update for this meeting](https://github.com/kubernetes/community/blob/master/events/community-meeting.md#sig-updates), the host will be reminding you from now on before your update.
+ * Last call for Outreachy intern requests!
+* #Shoutouts!_ (want to say thanks? Use the #shoutouts channel in slack)_
+ * @vlad Shlosberg: Huge shoutout to @jorge, @mrbobbytables, @paris, @hubt and a bunch of other for helping make @Foqal a success. Working with me on feedback, helping promote the project, submitting helpful answers, and everything else you guys have done!
+ * @bentheelder: Shoutout to @mrhohn for being eternally responsive to networking issues on everything from PR reviews to sig-network test configs, dns images, the network e2es, and answering questions related to network issues in the infra and helping debug! Thanks for helping get the kube-dns manifest images out the door for 1.12! Zihong is always fixing things for us over in #sig-testing :slightly_smiling_face: and now over in #sig-release
+ * @nikhita: shout out to @carolynvs for creating lots of help-wanted issues on service catalog ([https://github.com/kubernetes-incubator/service-catalog/issues?q=is%3Aissue+is%3Aopen+label%3A%22help+wanted%22](https://github.com/kubernetes-incubator/service-catalog/issues?q=is%3Aissue+is%3Aopen+label%3A%22help+wanted%22))....and having an excellent strategy of doing that! - [https://twitter.com/carolynvs/status/1042061098101485580](https://twitter.com/carolynvs/status/1042061098101485580)
+ * @dims: big shoutout to @fabrizio.pandini for testing all the things! (v1.12 RC1 kubeadm under various scenarios)
+
+
+## Sep 13, 2018 - ([recording](https://youtu.be/FYJsqqCWRs4))
+
+
+
+* **Moderators**: Arun Gupta [SIG AWS/Amazon]
+* **Note Taker**: Solly Ross [SIG Autoscaling]
+* [ 0:00 ]** Demo **-- Answering questions on k8s Slack w/ Foqal [Vlad Shlosberg, [vlad@foqal.io](mailto:vlad@foqal.io)] (confirmed)
+ * [https://docs.google.com/presentation/d/19RNjayF59WanE8Q9ug4sftFXniGQP4PRRXsRC4X7dd4](https://docs.google.com/presentation/d/19RNjayF59WanE8Q9ug4sftFXniGQP4PRRXsRC4X7dd4)
+ * [https://foqal.io/oss](https://foqal.io/oss)
+ * Goals
+ * Improve UX
+ * Focus Contributor Times
+ * Core Idea
+ * Automatically respond to common questions without any special interaction
+ * Functionality
+ * Upon asking a question (without special syntax), Foqal sends answer, marked as just to you
+ * Can rate question, if marked as helpful, the answer is sent to entire channel
+ * Sources
+ * StackOverflow
+ * Docs (divided into small sections)
+ * Slack conversations
+ * Upon detecting question, looks for answers sent afterwards
+ * Sends message to answerer, asking if it's appropriate to store
+ * Can edit answers before storing them
+ * Results
+ * 3 months, 2 active channels, 37 helpful autoresponses in past 2 weeks
+ * Slack conversations and Kubernetes docs provide most useful answers
+ * Currently talking to docs folks to use Foqal responses to improve docs content, searchability, and examples
+ * **Invite Foqal bot to your channel in Kube slack**
+ * `/invite @Foqal`
+ * Both SIG channels and more user-facing channels
+ * Add context before storing
+ * Can manually add to Foqal using the elipsis meu on any slack message
+ * Talk to Foqal about...
+ * importing other docs sources
+ * Partitioning (SIG meeting times might not be useful to kubernetes user channels)
+ * Ask Vlad if you have questions
+ * Can also run on private Slack instances
+* [ 0:00 ]** Release Updates**
+ * Current Release Development Cycle [Tim Pepper ~ 1.12 Release lead]
+ * Still in Code Freeze. See [here](https://github.com/kubernetes/community/blob/master/contributors/devel/release.md#tldr) for TLDR what do I do to get a merge.
+ * Beta 2 - Sept. 11
+ * RC - Sept. 18
+ * Release target - ** Sept. 25: AT RISK**
+ * We are making progress on CI Signal, but slowly.
+ * Depending on today/tomorrow improvements merging and test results showing up by Monday Sept. 17
+ * ...**potential to delay release toward Sept. 27**
+ * Tide: we moved k/k to it on Monday. Worked through a few minor issues. Seems to be working reasonably now.
+* [ 0:00 ] **SIG Updates**
+ * SIG Windows [Michael Michael] (confirmed)
+ * Finished a bunch of functionality required for moving to stable
+ * Not moving to stable until 1.13, due to conformance, perf, stability hiccups
+ * Want to finalize docs, how-to guides, etc for GA
+ * Stopping feature development to focus on stabilization
+ * SIG Node [Dawn Chen] (confirmed)
+ * Slide: [https://docs.google.com/presentation/d/1G034FTqXeXO5Gf1H-ufTkAMgJKOcx6HCIzB6krkO6zY/edit?usp=sharing](https://docs.google.com/presentation/d/1G034FTqXeXO5Gf1H-ufTkAMgJKOcx6HCIzB6krkO6zY/edit?usp=sharing)
+ * Finished charter
+ * Meetings weekly Tuesday at 10AM PT, Resource Management WG Wednesday 11AM PT, on-demand meetings for Asia times
+ * Revised/categorized SIG scope (see slide 3, large list)
+ * Recent work
+ * Sandbox Pods
+ * RuntimeClass proposal, alpha feature, CRD
+ * Working to integrate with Kata and other sandbox solutions, containerd shim
+ * Windows Container Support (with SIG Windows)
+ * GA in 1.13
+ * Kubelet stats for Windows system containers
+ * Fixes for network, eviction manager bugs
+ * In-review PRs for
+ * DNS capabilities for Windows CNI (with sig-network)
+ * Windows CNI support (with sig-network)
+ * Testing frameworks (with sig-testing)
+ * Testing
+ * Changes in Node E2E (see slide 6 for link)
+ * Reorganized tests to more easily track results
+ * New tests need to be tagged to run in normal test suites
+ * CRI Testing dashboard (see slide 6 for link)
+ * One place to view node conformance test results and features for CRI implementations
+ * Misc
+ * User NS support in progress
+ * ResourceClass API under discussion (beyond just GPU support)
+ * Efficient heartbeat for scalability in progress
+ * PID NS sharing in beta
+ * Updated debug container API, accepted proposal, implementation in progress
+* [ 0:00 ] **Announcements**
+ * Steering Committee Election update: [paris/ihor/jorge]
+ * **Tomorrow! Is the deadline for all nominations** (entire process including bios uploaded) and [voter eligibility forms](https://www.surveymonkey.com/r/k8s-sc-election-2018) (if you are not on [voters.md](https://github.com/kubernetes/community/blob/master/events/elections/2018/voters.md) and want to vote).
+ * Voter eligibility is normally based on contributions in the past 12 months, but you can make a request to be added if you've made non-GitHub contributions and you think you should be eligible
+ * Next? **CIVS polling ballots go out on Wednesday, September 19th** to emails we have on file. If you do not receive an email by Thursday (please check spam/bulk), contact community@kubernetes.io. We will remind everyone on this call next week as well as our regular channels (k-dev ML, discuss.k8s.io, slack, etc.)
+ * #Shoutouts!_ (want to say thanks? Use the #shoutouts channel in slack)_
+ * @Mzee1000: Shout-out to @AishSundar and @gsaenger for incredible help with CI signal
+ * @AishSundar: Huge shoutout to @gsaenger for lighting up the right fires when and where needed for 1.12 !! Way to go
+ * @Justaugustus: Shoutout to @dougm, @dims, @bentheelder, @sttts, and anyone I might've missed for working the weekend to test our Release Engineering tooling ahead of the next beta cut!
+ * @misty: @lucperkins for adding per-heading anchor links to the docs so people can share an in-page section at any level, without having to go back to the TOC to find the link!
+ * @neolit123: thanks to @timothysc and @fabrizio.pandini who helper with debugging a release blocking e2e test for sig-cluster-lifecycle!
+ * @mkumatag: Now we have `v1.12.0-beta.2` release images are all fat manifest.. This made all other architectures first class citizens.. Thanks @dims @dougm @ixdy @luxas @calebamiles @tpepper @bentheelder
+ * @paris: shout to @ameukam for helping contribex with our communication platform discovery and doing the hard work. perfect example of chopping wood and carrying water.
+ * @tpepper: huge shout out to @bentheelder for working late late last night and right back to it this morning on diagnosing/resolving build pipeline issues in support of 1.12 release
+
+
+## September 6, 2018 - ([recording](https://youtu.be/xTEBQjnKLi4))
+
+
+
+* **Moderators**: Jorge Castro [SIG-Contribex / Heptio]
+* **Note Taker**: First Last [Company/SIG]
+* [ 0:00 ]** Demo **-- [Kubernetes GSoC 2018 project demo - etcdproxy-controller](https://github.com/xmudrii/etcdproxy-controller) - [marko@loodse.com](mailto:marko@loodse.com)
+ * Project URL: [https://github.com/xmudrii/etcdproxy-controller](https://github.com/xmudrii/etcdproxy-controller)
+ * [Google Slides](https://docs.google.com/presentation/d/1KSqGj3AwpFDKdRLk678zSXkdTvmjzut6scZhSwLr0gw/edit?usp=sharing)
+* [ 0:00 ]** Release Updates**
+ * Current Release Development Cycle [Tim Pepper ~ 1.12 Release lead]
+ * Code Freeze arrived this week. See [here](https://github.com/kubernetes/community/blob/master/contributors/devel/release.md#tldr) for TLDR what do I do to get a merge
+ * Release target Sept. 25
+ * Release at risk currently due to poor CI Signal ([sig-release-1.12-all](https://k8s-testgrid.appspot.com/sig-release-1.12-all) & [sig-release-1.12-blocking](https://k8s-testgrid.appspot.com/sig-release-1.12-blocking) & [sig-release-master-blocking](https://k8s-testgrid.appspot.com/sig-release-master-blocking) & [sig-release-master-upgrade](https://k8s-testgrid.appspot.com/sig-release-master-upgrade)). Considering kicking out all GKE blocking tests. Also significant GCE issues. Blurs the signal when the hosting is unstable.
+ * Tide...looking to move to it on Monday.
+ * Patch Release Updates
+ * X.x
+ * Y.x
+* **Moving from Submit Queue to Tide** [spiffxp]
+ * Tide is used on the [majority of our repos](https://github.com/kubernetes/test-infra/issues/6227) now, kubernetes/kubernetes is the only repo using submit-queue. We plan on changing that next week.
+ * Stop talking SIG Beard, just show me the docs because...
+ * [I just want my PR to merge](https://github.com/kubernetes/test-infra/blob/master/prow/cmd/tide/pr-authors.md) ([using whatever labels the release team tells me to](https://github.com/kubernetes/community/blob/master/contributors/devel/release.md#tldr))
+ * [I just want my repo added to tide](https://github.com/kubernetes/test-infra/blob/master/prow/cmd/tide/config.md)
+ * Ways that tide differs from the submit queue
+ * Tide uses GitHub queries to select PR's into "tide pools", runs as many in a batch as it can ("tide comes in"), and merges them ("tide goes out")
+ * Since there is no queue, there is no [ordering determined by one of 8 different things](https://submit-queue.k8s.io/#/info), ie: applying queue/fix has no effect
+ * Tide will always rerun tests prior to merge, we have an [open issue around ways to support merging without tests](https://github.com/kubernetes/test-infra/issues/5334), ie: applying retest-not-required has no effect
+ * If you used the submit queue UI
+ * [https://submit-queue.k8s.io/#/prs](https://submit-queue.k8s.io/#/prs) -> [https://prow.k8s.io/pr](https://prow.k8s.io/pr)
+ * [https://submit-queue.k8s.io/#/queue](https://submit-queue.k8s.io/#/queue) -> [https://prow.k8s.io/tide.html](https://prow.k8s.io/tide.html)
+ * [https://submit-queue.k8s.io/#/history](https://submit-queue.k8s.io/#/history) -> n/a
+ * [https://submit-queue.k8s.io/#/ci](https://submit-queue.k8s.io/#/ci) -> [http://velodrome.k8s.io/dashboard/db/monitoring?orgId=1](http://velodrome.k8s.io/dashboard/db/monitoring?orgId=1)
+ * Rollout plan
+ * [Move all munger functionality out of mungegithub](https://github.com/kubernetes/test-infra/issues/3331)
+ * [Create tracking issue](https://github.com/kubernetes/test-infra/issues/3866)
+ * Propose to release team
+ * Propose to contribex
+ * Propose to community ? we are here
+ * Send something like this out to kubernetes-dev
+ * Put together a PR with queries for k/k master and release branches
+ * Turn down misc-munger and submit-queue instances Monday, remove cherrypick-queue munger from cherrypick instance, check in with release team during daily burndown meetings
+ * If we need to rollback, we will revert any PR's that errantly merged, and turn up the misc-munger and submit-queue instances again
+* **Graph o' the Week **[jberkus]
+ * Re-organized Devstats
+ * Fewer charts, [main dashboard](https://k8s.devstats.cncf.io/d/12/dashboards?refresh=15m&orgId=1) organized into groups
+ * [Consolidated Github stats](https://k8s.devstats.cncf.io/d/49/github-stats-by-repository?orgId=1) for Repos and Repo Groups
+ * [PRs Merged in Dashboard](https://k8s.devstats.cncf.io/d/49/github-stats-by-repository?orgId=1&from=now-2y&to=now&var-period=w&var-repos=%22kubernetes%2Fdashboard%22&var-stat=prmerged), shows dropoff in developmentanyway,
+ * [Issues Opened in Storage](https://k8s.devstats.cncf.io/d/48/github-stats-by-repository-group?orgId=1&from=now-1y&to=now&var-period=w&var-repogroups=%22CSI%22&var-repogroups=%22Storage%22&var-stat=iopened), shows how increasingly issues are CSI-related
+* [ 0:00 ] **SIG Updates** (estimate ~ 7 minutes)
+ * SIG VMware [ Steve Wong confirmed, Loc Nguyen will co-present ]
+ * Deck [link](https://docs.google.com/presentation/d/13Zn2nvd2nyQ2WG3xETxw4V0wHsvPyIPfC8WSaEIBFQU/edit#slide=id.p)
+* [ 0:00 ] **Announcements**
+ * Bug Bounty Program [Jess]
+ * [https://github.com/kubernetes/community/pull/2620](https://github.com/kubernetes/community/pull/2620)
+ * Election Update [Paris/Jorge/Ihor]
+ * 8 days until next important deadline - Sept 14th (attn nominations and eligible voting forms)
+ * [If you are not on this list](https://github.com/kubernetes/community/blob/master/events/elections/2018/voters.md), you are not eligible to vote. Eligible voters are those with 50+ contributions to the project in the last year. If you feel like you have done other ways to contribute upstream in the last year that is outside of GitHub events, [please fill out this form](https://www.surveymonkey.com/r/k8s-sc-election-2018).
+ * Resources:[1] [Steering Committee](https://github.com/kubernetes/steering) - who sits on the committee and terms, their projects and meetings info
+ * [2] [Steering Committee Charter](https://git.k8s.io/steering/charter.md) - this is a great read if you're interested in running (or assessing for the best candidates!)
+ * [3] [Election Process](https://git.k8s.io/steering/elections.md)
+ * [4] **[Voters Guide!](https://git.k8s.io/community/events/elections/2018)** - Updated on a rolling basis. This guide will always have the latest information throughout the election cycle. The complete schedule of events and candidate bios will be housed here.
+ * [etcd minimum versions updated](https://discuss.kubernetes.io/t/etcd-minimum-versions-3-1-11-3-2-10-3-3-0/2637) - please read if you're running etcd in production, this one's important!
+ * [Contributor Role Board](https://discuss.kubernetes.io/c/contributors/role-board) [Jorge]
+ * A place for SIGs and volunteers to link up.
+ * [Example role posting](https://discuss.kubernetes.io/t/kubernetes-needs-a-stack-overflow-shepharding-team/2558)
+ * [Example volunteer posting](https://discuss.kubernetes.io/t/experienced-front-end-developer-looking-for-front-end-work/1417)
+ * SIGs, please start posting available roles, especially shadow roles, we've sketched out [some guidelines here](https://discuss.kubernetes.io/t/about-the-contributor-role-board/1336) and the board has a template, all feedback welcome.
+ * Try to think of meaty roles, easy light roles are welcome, but it would be a shame if it was only just "notetakers".
+ * Kubernetes 1.13 Release Team is forming! Contact @AishSundar or @tpepper if you want to know more. Watch this GitHub issue for updates: [https://github.com/kubernetes/sig-release/issues/280](https://github.com/kubernetes/sig-release/issues/280)
+ * Outreachy call for mentors and projects. [Check k-dev@ for complete info](https://groups.google.com/d/msgid/kubernetes-dev/CAJRwiqR6Oz6L_jAUh-AMq7syvbb4Q3oitpAqUoq70koAZPBhNQ%40mail.gmail.com.).
+ * Shoutouts this week (Check in #shoutouts on slack)
+ * chrishein - Big shoutout to @liggitt @sttts @directxman12 for helping to get support for HPA and the metrics-server in EKS
+ * zparnold - Shout out to @june.yi @claudiajkang for taking me in like family on a long layover in Seoul. Your amazing Korean translations (also shoutoutable) are only matched by your generous hospitality. I love this Kubermunity even more! (edited)
+ * jdumars - Big shout out to @paris and the Meet our Contributors AUA/Group mentoring!! Yet another way Kubernetes is setting the standard of excellence in open source communities!
+ * bentheelder - @paris! Meet our Contributors is awesome \
+Also @jorge for all the live stream work! You two rock
+ * jimangel - Shout out to @justaugustus for helping us out with wrangling docs for 1.12 before the freeze - very awesome work!
+ * Jeefy - Shout out to @jorge for taking over hosting duties with three minutes to spare as I was thwarted by contractors :)
+ * AishSundar- Huge shoutout to @tpepper for being an incredible and patient Release lead, striving non-stop to herd multiple issues, pilot and generate new branch manager playbook and keeping all documentation updated as much as possible.
+ * Call for Demos for this call, see the top of this document!
+
+
+## August 30, 2018 - ([recording](https://youtu.be/i-18dbVB-ao))
+
+
+
+* **Moderators**: Jorge Castro [SIG Contributor Experience]
+* **Note Taker**: First Last [Company/SIG]
+* [ 0:00 ]** Demo **-- [Monitoring Kubernetes with Elasticsearch autodiscover](https://github.com/DanRoscigno/katacoda-scenarios/tree/master/hints-based-discovery) - [dan.roscigno@elastic.co](mailto:dan.roscigno@elastic.co)
+* GitHub form the demo: [https://github.com/DanRoscigno/katacoda-scenarios/tree/master/hints-based-discovery](https://github.com/DanRoscigno/katacoda-scenarios/tree/master/hints-based-discovery)
+* Katacoda:[ https://katacoda.com/dan_roscigno_dev/scenarios/hints-based-discovery](https://katacoda.com/dan_roscigno_dev/scenarios/hints-based-discovery)
+* [ 0:00 ]** Release Updates**
+ * Current Release Development Cycle [Tim Pepper ~ 1.12 Release lead]
+ * Code slush arrived this week
+ * Code freeze begins next week, Tuesday Sept. 4
+ * Extremely important over next weeks for all SIGs leadership and all code committers to monitor [sig-release-1.12-all](https://k8s-testgrid.appspot.com/sig-release-1.12-all) & [sig-release-1.12-blocking](https://k8s-testgrid.appspot.com/sig-release-1.12-blocking) & [sig-release-master-blocking](https://k8s-testgrid.appspot.com/sig-release-master-blocking) & [sig-release-master-upgrade](https://k8s-testgrid.appspot.com/sig-release-master-upgrade) for de-stablization
+ * Release target Sept. 25
+ * Patch Release Updates
+ * x.x
+ * y.x
+* [ 0:00 ] **KEP o' the Week [Juan Vallejo and Maciej Szulik]**
+ * Weekly update on data from devstats or KEP
+ * [https://github.com/kubernetes/community/blob/master/keps/sig-cli/0024-kubectl-plugins.md](https://github.com/kubernetes/community/blob/master/keps/sig-cli/0024-kubectl-plugins.md)
+ * Demo: Sample CLI Plugin [https://github.com/kubernetes/kubernetes/tree/master/staging/src/k8s.io/sample-cli-plugin](https://github.com/kubernetes/kubernetes/tree/master/staging/src/k8s.io/sample-cli-plugin)
+* [ 0:00 ] **SIG Updates**
+ * SIG Cluster Lifecycle [Tim St. Clair] (confirmed)
+ * A number of new sub-projets have been brought into the fold
+* Kubeadm-dind-cluster
+* [Cluster-api ](https://github.com/kubernetes-sigs/cluster-api-provider-aws)
+ * The Cluster API is a programming framework to rally different providers around a core set of primitives and concepts for declaratively managing api-driven cluster deployments.
+ * Planning for alpha release ~1.12, and is decoupled.
+ * Switching from aggregation api to CRDs
+* Shared Ownership of cluster api implementations for multiple providers (and SIGs)
+ * aws, gcp, openstack and vmware
+ * Kubeadm
+ * Bug fixes, 1.11 was a big shift
+ * Kubelet config
+ * Kubeadm v1alpha2 config changes
+ * HA instructions
+ * HA configurations are being updated control-plane join
+ * Certs cleanup & renewal
+ * Config changes for v1alpha3 goal is to hit beta in 1.13
+ * Our charter has been reviewed and LGTM'd by a number of parties we're only waiting on final approval from bgrant
+ * For folks wanting to know more we recommend looking at
+ * [https://github.com/kubernetes/community/tree/master/sig-cluster-lifecycle](https://github.com/kubernetes/community/tree/master/sig-cluster-lifecycle)
+* [ 0:00 ] **Announcements**
+ * Shoutouts this week (Check in #shoutouts on slack)
+ * neolit123 - big shoutout to @bentheelder for helping newcomers to understand how the Kubernetes test infrastructure works.
+ * bentheelder - shoutout to @neolit123 for keeping after fixes for kubeadm e2e testing, Lubomir's work should help stabilize this a bit :tada:
+ * nikhita: shoutout to @cblecker for EVERYTHING that he does for the community and especially for keeping the project sane with :bash_fire:
+ * paris and cblecker: shouts to @dims, @neolit123 and @nikhita for [adding labels to OWNERS files](https://github.com/kubernetes/kubernetes/pull/67672)
+ * Jorge: Thanks to everyone involved in our infrastructure teams transitioning CI/CD over to the CNCF.
+ * Election Update [Paris/Jorge/Ihor]
+ * 15 days until next important deadline - Sept 14th (attn nominations and eligible voting forms)
+ * 6 people are officially nominated, have accepted, and need to have bios checked in to the voters guide by the above deadline.
+ * [If you are not on this list](https://github.com/kubernetes/community/blob/master/events/elections/2018/voters.md), you are not eligible to vote. Eligible voters are those with 50+ contributions to the project in the last year. If you feel like you have done other ways to contribute upstream in the last year that is outside of GitHub events, [please fill out this form](https://www.surveymonkey.com/r/k8s-sc-election-2018).
+ * Resources:
+ * [1] [Steering Committee](https://github.com/kubernetes/steering) - who sits on the committee and terms, their projects and meetings info
+ * [2] [Steering Committee Charter](https://git.k8s.io/steering/charter.md) - this is a great read if you're interested in running (or assessing for the best candidates!)
+ * [3] [Election Process](https://git.k8s.io/steering/elections.md)
+ * [4] **[Voters Guide!](https://git.k8s.io/community/events/elections/2018)** - Updated on a rolling basis. This guide will always have the latest information throughout the election cycle. The complete schedule of events and candidate bios will be housed here.
+ * [Contributor Role Board](https://discuss.kubernetes.io/c/contributors/role-board) [Jorge]
+ * A place for SIGs and volunteers to link up.
+ * [Example role posting](https://discuss.kubernetes.io/t/kubernetes-needs-a-stack-overflow-shepharding-team/2558)
+ * [Example volunteer posting](https://discuss.kubernetes.io/t/experienced-front-end-developer-looking-for-front-end-work/1417)
+ * SIGs, please start posting available roles, especially shadow roles, we've sketched out [some guidelines here](https://discuss.kubernetes.io/t/about-the-contributor-role-board/1336) and the board has a template, all feedback welcome.
+ * Try to think of meaty roles, easy light roles are welcome, but it would be a shame if it was only just "notetakers".
+ * [Stackoverflow Top Users](https://stackoverflow.com/tags/kubernetes/topusers) for August
+ * [Matthew L Daniel, Ryan Dawson, Marcin Romaszewicz, Radek 'Goblin' Pieczonka, Kun Li, Nicola Ben, jaxxstorm, VAS, Harshal Shah](https://stackoverflow.com/users/225016/matthew-l-daniel), and [mikejoh](https://stackoverflow.com/users/1547081/mikejoh)
+ * Kubernetes Slide Deck Template [Ihor]
+ * The Kubernetes-branded Slide Deck Template revealed and available to everyone at http://bit.ly/k8s-slide-template.
+ * Details: [https://groups.google.com/forum/#!topic/kubernetes-dev/CzpfB9QK- 7g](https://groups.google.com/forum/#!topic/kubernetes-dev/CzpfB9QK-7g)
+
+
+## Aug 23, 2018 - (recording)
+
+
+
+* **Moderators**: Paris Pittman (SIG Contributor Experience)
+* **Note Taker**: Josh Berkus and Danny Rosen
+* [ 0:00 ]** Demo **-- [KeyCloak](https://www.keycloak.org/) - [bdawidow@redhat.com](mailto:bdawidow@redhat.com), [stian@redhat.com](mailto:stian@redhat.com) (confirmed)
+ * Keycloak is an open source IAM (Identity Access Management) solution
+ * Demo involving Ingress
+ * Set up "realm" for credentials
+ * Then set up security for Ingress endpoints
+ * Supports bearer tokens
+ * Only keycloak sees the credentials, applications only know what's authenticated by access token
+ * Handles managing multiple roles per user, with different levels of permissions by role
+ * Support for multiple identity providers (Github example)
+ * Libraries for auth for javascript, Java. Supports general SAML libraries for other languages, also working on a goal-based proxy provider.
+ * Support for external user stores (LDAP, Kerberos, Custom)
+ * Multiple identity providers per Realm, can also have database-backed identity database locally.
+ * Keycloak can be used for authentication for Kubernetes itself
+ * Used at U Michigan
+ * Similar to OpenAM but has more features
+* [ 0:11 ]** Release Updates - **
+ * Current Release Development Cycle [Tim Pepper ~ 1.12 Release lead]
+ * Proposal [in flight](https://groups.google.com/d/topic/kubernetes-dev/MjyJzhBEgkM/discussion) to drop "status/approved-for-milestone" from list of merge required labels during code freeze, with lazy consensus target Aug 27
+ * Code Slush: Aug. 28
+ * Code Freeze: Sept. 4
+ * Release Target: Sept.25
+ * ...one month to go. Your feature work should be wrapping up ahead of code freeze. Docs PR's are due. Test cases should be in place.
+ * Continuous Integration:
+ * active on 1.12 branch: [sig-release-1.12-all](https://k8s-testgrid.appspot.com/sig-release-1.12-all) & [sig-release-1.12-blocking](https://k8s-testgrid.appspot.com/sig-release-1.12-blocking)
+ * Also master branch: [sig-release-master-blocking](https://k8s-testgrid.appspot.com/sig-release-master-blocking) & [sig-release-master-upgrade](https://k8s-testgrid.appspot.com/sig-release-master-upgrade)
+ * Signal: overall health is worrying need attention from SIG-GCP (GKE?), SIG-Auth, SIG-Auth, SIG-Apps, SIG-Storage, SIG-Scalability, SIG-Cluster-Lifecycle
+ * Patch Release Updates
+ * 1.9.10 (20 days ago) - Mehdy Bohlool (@mbohlool)
+ * 1.10.7 (3 days ago) - Maciek Pytel (@MaciekPytel)
+ * 1.11.2 (15 days ago) - Anirudh Ramanathan (@foxish)
+* [ 0:15 ] **Graph o' the Week **[spiffxp]
+ * Let's talk about our automation's GitHub API Token usage
+ * We get: 5,000 requests per hour
+ * We used to work around this in mungegithub by:
+ * keeping an in-memory cache
+ * tuning munger polling frequency
+ * separating into SQ/misc-mungers instances
+ * Switching to prow to do things on demand vs. a polling loop helped, for a bit
+ * Now, we're using [ghproxy](https://github.com/kubernetes/test-infra/tree/master/ghproxy) (thanks @cjwagner!)
+ * Implemented by our own Cole Wagner
+ * Hero charts: last 6 months of [cache](http://velodrome.k8s.io/dashboard/db/github-cache?refresh=1m&orgId=1&from=now-6M&to=now) and [github token usage](http://velodrome.k8s.io/dashboard/db/monitoring?orgId=1&from=now-6M&to=now)
+ * See population of the cache, how many api tokens we didn't have to use over time
+ * Turned in on mid-May
+ * Prior to turning the cache on, we often hit max tokens, esp. At the end of code freeze
+ * Now usage is much more stable/lower, can go through the backlog faster
+ * We're moving away from mungegithub so you won't see this much more, [moving to Tide for merging](https://github.com/kubernetes/test-infra/issues/3866).
+* [ 0:22 ] **KEP o' the Week powered by SIG PM<sup>?</sup>**
+ * tallclair@ - [KEP](https://github.com/kubernetes/community/blob/master/keps/sig-node/0014-runtime-class.md) 0014-runtime-class
+ * RuntimeClass - Define a generic way for a runtime to be defined, where in the past it was opaque to the control plane beyond kubelet
+ * Motivation is to support new runtimes, like katacontainers, GVisor and maybe future stuff like serverless runtimes or GPUs
+ * There's a podspec for the RunTimeClass, to decouple the configuration and node-level implementation from the name users need to use
+ * We could end up with more than one class spec for the same runtime
+ * See list of Non-Goals, we're trying to keep the mechanism simple. They do have a list of future extenions, though, such as:
+ * PodOverhead, so that you can account for resources outside those used for the container, like for Kata.
+ * Policies for abstract runtimeclasses in podspec, such as a requirement for a "sandbox" runtime or "unix" (pod doesn't care which specifically they get)
+ * Want to make it consistent to express supported/unsupported features (including mutually exclusive ones on a node like SELInux vs. Apparmor).
+ * Leave Comments:
+ * [https://github.com/kubernetes/community/pull/2489](https://github.com/kubernetes/community/pull/2489)
+ * [SIG-Node](https://github.com/kubernetes/community/tree/master/sig-node)
+* [ 0:00 ] **SIG Updates**
+ * **OpenStack** (Chris Hoge, confirmed)
+ * [https://docs.google.com/presentation/d/1fdq0X-UPN-8xc_3bpvvrwIic_UGTTDyKRt-Cjtgp9io/edit?usp=sharing](https://docs.google.com/presentation/d/1fdq0X-UPN-8xc_3bpvvrwIic_UGTTDyKRt-Cjtgp9io/edit?usp=sharing)
+ * Completed in the last cycle:
+ * CloudProvider Openstack, added conformance testing, lots of bug fixes, sync'd with in-tree provider
+ * Planned to remove the in-tree provider in 1.12, but has been delayed to 1.13 to give users time to move to external provider.
+ * Added Manilla Storage Provisioner for shared storage (NFS)
+ * Added keystone authenticator for mapping multiple projects to accounts
+ * Added extensive documentation, including general docs for Cloud Providers
+ * Began work for transitioning to WG Openstack of SIG Cloud Provider
+ * Upcoming Work
+ * [Magnum](https://wiki.openstack.org/wiki/Magnum) (OpenStack's service for container orchestrators) conformance & cert testing toward getting it certified as a k8s installer
+ * Driver work: autoscaling drivers, [barbican](https://wiki.openstack.org/wiki/Barbican) driver for key management
+ * **Storage **(Saad Ali, confirmed)
+ * [https://docs.google.com/presentation/d/1TFX6BDCod6E0PJRusQ1zntOX36kDyuO5iycpSfH8pL4/edit?usp=sharing](https://docs.google.com/presentation/d/1TFX6BDCod6E0PJRusQ1zntOX36kDyuO5iycpSfH8pL4/edit?usp=sharing)
+ * For 1.12:
+ * Topology-aware volume scheduling, since not all volumes work on all nodes, old version was based only on cloud providers. Moved it to a generic interface both in Kubernetes and in CSI.
+ * This quarter moving in-tree storage to topology, and for all CSI plugins.
+ * We can have volumes provisioned in a smarter way.
+ * First Kubernetes storage features that could not be part of core.
+ * Snapshots / restore functionality (CSI, Kubernetes internal & external)
+ * Drive CSI to GA/Stable
+ * Preparing for CSI (Out of tree volume extension mechanism) for GA / Stable Q4
+ * This Quarter: Support of ephemeral volumes (eg: secret volume, configmap volume).
+ * Moving Kubelet Device Registration to beta
+ * Adding conformance testing for storage to kubernetes storage suite
+ * Block volume support moving to Beta
+ * **Apps (**Matt Farina, confirmed**)**
+ * [https://docs.google.com/presentation/d/1jbEDX4GDeCssT4D42Q1iajDSLU3sz_RQgPwDCkR2J1c/edit?usp=sharing](https://docs.google.com/presentation/d/1jbEDX4GDeCssT4D42Q1iajDSLU3sz_RQgPwDCkR2J1c/edit?usp=sharing)** **
+ * Active projects:
+ * Application CRD & Controller
+ * Workload API
+ * Kompose
+ * Examples
+ * SIG Apps Charter: WIP, should be ready for review soon
+ * Recently merged: [Recommended labels](https://kubernetes.io/docs/concepts/overview/working-with-objects/common-labels/) merged into Helm documentation as well.
+ * [Application CRD & Controller](https://github.com/kubernetes-sigs/application): Cross tool way to describe an application.
+ * Workloads API: Looking at Lifecycle Hooks, Pod disruption budget & Deployments, Jobs with deterministic pod names.
+ * Time split between Workloads API & Developer tooling week by week.
+ * Kompose: Converts Docker Compose to Kubernetes objects, actively being worked on
+ * Helm moved to CNCF - Everything from kubernetes-helm has moved to the Helm org. Charts is still using prow/tide automation
+ *
+* [ 0:00 ] **Announcements**
+ * Shoutouts this week (pulled from #shoutouts in slack weekly)
+ * Nikhita: shoutout to @jorge for his video on how to use discuss.kubernetes.io: https://www.youtube.com/watch?v=7wTLgeM25Pk. It's incredibly detailed and helpful in gaining a quick understanding on how to use the website! :raised_hands:
+ * Paris: shouts to @dims for improving the contributor experience. Script dims created will reduce some of the manual assignment of sigs to pr(s) - [https://github.com/kubernetes/kubernetes/pull/67672](https://github.com/kubernetes/kubernetes/pull/67672)
+ * Cblecker: also to @neolit123 and @nikhita who have been doing the same ^^
+ * Nikhita: shoutout to @cblecker for EVERYTHING that he does for the community and especially for keeping the project sane with fires
+ * [kubernetes-client/typescript has been moved to kubernetes-retired](https://groups.google.com/forum/#!topic/kubernetes-dev/nlc7SKJc9Bg) [spiffxp]
+ * Automating all the things update [spiffxp]
+ * ~~[All repos in orgs we manage should be in sigs.yaml](https://github.com/kubernetes/community/issues/2464)~~ DONE
+ * [All repos in orgs we manage should have OWNERS](https://github.com/kubernetes/community/issues/1721) one last repo
+ * ~~[All repos in orgs we manage should have at least these labels](https://github.com/kubernetes/test-infra/pull/9054)~~ DONE
+ * [All repos in orgs we manage should use the same merge automation](https://github.com/kubernetes/test-infra/issues/6227) kubernetes/* and kubernetes-incubator/* repos remain
+ * [Moving kubernetes/kubernetes to tide](https://github.com/kubernetes/test-infra/issues/3866) (we are close but changing so close to code slush / code freeze is probably unwise)
+ * Should all repos have the /retest commenter enabled?
+ * Should all repos have the /lifecycle stale|rotten|/close commenter enabled?
+ * Seattle Contributor Summit is now a part of the KubeCon registration process. Add as a co-located event. Dec 9th and 10th.
+ * Steering Committee Election Announcement went out to k-dev on Aug 21 (or 22nd depending on where you are in the world!)
+ * Next deadline: Nominations and exception eligible voter forms due on Sept 14th
+ * [Contributor Role Board](https://discuss.kubernetes.io/c/contributors/role-board) [castrojo] (will show you next time due to time constraints, in the mean time check it out!)
+ * A place for volunteers to declare interest
+ * A place for SIGs/WGs/others to post roles for volunteers.
+ * Pairs volunteers with mentors.
+ * SIGs, we'd love to get some postings from you!
+ * We will have a Contributor Discussion Social at Kubecon Shanghai, on the evening of November 13th. This will include drinks, snacks, and a panel Q&A on contributing to Kubernetes from China /Asia. Anyone who contributes to Kubernetes and is at Kubecon Shanghai is invited. Venue/schedule details TBA.
+ * If you are a Chinese contributor to Kubernetes, we are still looking for panelists.
+ * This is in addition to the New Contributor Workshop and the Doc Sprints during the day, which you can register for with your Shanghai registration.
+
+
+## Aug 16, 2018 - ([recording](https://youtu.be/PpeGxZRDbII))
+
+
+
+* **Moderators**: Aaron Crickenberger (@spiffxp, Google, SIG Beard)
+* **Note Taker**: Solly Ross (@directxman12, Red Hat, SIG Autoscaling)
+* [ 0:00 ]** Demo **-- Kubernetes Ingress Controller for Kong [Harry Bagdi, harry@konghq.com] (confirmed)
+ * Links/contact
+ * [Blog](https://konghq.com/blog/kubernetes-ingress-controller-for-kong/)
+ * [https://docs.google.com/presentation/d/1U4DpjQON33UukAx7Ws5__nOhEO8TWK0EKEse2Fn7CLA/edit?usp=sharing](https://docs.google.com/presentation/d/1U4DpjQON33UukAx7Ws5__nOhEO8TWK0EKEse2Fn7CLA/edit?usp=sharing)
+ * [http://github.com/kong/kubernetes-ingress-controller](http://github.com/kong/kubernetes-ingress-controller)
+ * Email (harry@konghq.com) or use Kubernetes slack(hbagdi) to contact
+ * Kong is an open source API gateway built on nginx
+ * Performance and features from nginx
+ * flexible routing
+ * Hash-based
+ * Cookie-based
+ * client-based
+ * dynamic configuration
+ * plugins for custom logic common to your microservices
+ * Ingress Deployment
+ * Dataplane mode does the proxying, pulling config from the database
+ * Controlplane mode configures things, writing them to a database
+ * Runs in a single namespace, but serves ingresses for all namespaces
+ * Data is proxied directly to pods, skipping kube-proxy
+ * Enables things like sticky sessions in Kong
+ * Custom resource for extending normal Ingress with additional Kong functionality (KongIngress)
+ * Proxy configuration
+ * Routing methods, regex priority, etc
+ * Active and passive health checks
+ * Plugins for custom logic
+ * Use CRDs set up different plugin configurations
+ * For example, rate-limitting
+ * Apply configured plugins to ingresses with annotations specifying the name of an instance of the custom resource
+ * Have many plugins, all opensource
+ * Supports multiple services
+ * Supports TLS upstream and termination
+ * Inspection
+ * Can inject headers for info
+ * Via
+ * Latency
+ * Rate-limitting information
+ * can also be inspected using an HTTP API to check underlying Kong configuration
+ * Questions
+ * Q: How are websockets handled?
+ * Kong can forward websocket traffic directly (you can upgrade connections to websockets as normal)
+ * Can't actively manipulate traffic on websockets
+* [ 0:00 ]** Release Updates**
+ * Current Release Development Cycle [Tim Pepper ~ 1.12 Release lead]
+ * ~2.5 weeks to code freeze!!! Yes already!!
+ * 40 days to release
+ * release-1.12 branch created Tuesday; fast forwarding daily to master
+ * Fast-forward for next couple of weeks
+ * Branch CI on track to arrive this week
+ * CI signal mostly OK for [release master blocking](https://k8s-testgrid.appspot.com/sig-release-master-blocking) and [release master upgrade](https://k8s-testgrid.appspot.com/sig-release-master-upgrade), but a number of issues being worked
+ * Patch Release Updates
+ * 1.9.10 (14 days ago) - Mehdy Bohlool (@mbohlool)
+ * 1.10.6 (21 days ago) - Maciek Pytel (@MaciekPytel)
+ * 1.11.2 (9 days ago) - Anirudh Ramanathan (@foxish)
+* [ 0:00 ] **Graph o' the Week **[spiffxp]
+ * Let's talk about flaky and failing tests
+ * Testgrid - [presubmits-kubernetes-blocking#Summary](https://k8s-testgrid.appspot.com/presubmits-kubernetes-blocking#Summary)
+ * Show's blocking tests
+ * Also a dashboard for non-blocking tests
+ * Can click to see history of job runs in a grid, where they succeeded and failed
+ * Tests are considered failing until it sees a pass in some particular window
+ * Velodrome - [BigQuery Metrics](http://velodrome.k8s.io/dashboard/db/bigquery-metrics?orgId=1) - [Presubmit Failure Rate](http://velodrome.k8s.io/dashboard/db/bigquery-metrics?panelId=11&fullscreen&orgId=1)
+ * Grafana instance looking at test failures
+ * Can see which suites are failing over time
+ * E.g. kops spiked, integration built over time, but has been fixed (thanks @janetkuo!)
+ * GitHub Query -[ is:open label:kind/flake org:kubernetes](https://github.com/issues?q=is%3Aopen+label%3Akind%2Fflake+org%3Akubernetes+archived%3Afalse+sort%3Aupdated-desc)
+ * Can use this query to find flaky tests (intermittently failing and succeeded)
+ * GitHub Query - [is:open label:kind/failing-test org:kubernetes](https://github.com/issues?utf8=%E2%9C%93&q=is%3Aopen+label%3Akind%2Ffailing-test+org%3Akubernetes+archived%3Afalse+sort%3Aupdated-desc+)
+ * Can use this query to find tests that are failing all the time (as opposed to "just" being flaky)
+ * Who should be helping fix these?
+ * 1. Who owns the test?
+ * <code>[<strong>sig-foo</strong>] thing should not explode</code>
+ * 2. Who owns the job?
+ * <code>test-infra/config/jobs/kubernetes/<strong>sig-foo</strong>/OWNERS</code>
+ * 3. Who owns the infra?
+ * <code>#test-infra</code>
+ * <strong>If you skip steps 1 & 2 and go directly to 3, you will be sent to the back of the line</strong>
+* [ 0:00 ] <strong>KEP o' the Week </strong>[Chris Hoge, @hogepodge, on behalf of Nishi Davidson, @d-nishi]
+ * Part of SIG Cloud Provider
+ * Coordinates stuff among all cloud providers
+ * [https://github.com/kubernetes/community/blob/master/keps/sig-cloud-provider/0019-cloud-provider-documentation.md](https://github.com/kubernetes/community/blob/master/keps/sig-cloud-provider/0019-cloud-provider-documentation.md) - Accepted
+ * Transfer responsibility of maintaining docs to cloud providers
+ * Provide documentation on how to activate any out-of-tree cloud provider
+ * Set minimum standards for cloud provider documentation
+ * Maintain docs for how to write a new out-of-tree cloud provider
+ * Follow up discussion in SIG-Cloud-Provider and SIG-AWS
+ * QuestionsC
+ * Q: Working with Cluster Lifecycle to improve workflow in kubeadm?
+ * Yes, working on docs to start out with
+* [ 0:00 ] <strong>SIG Updates</strong>
+ * SIG Docs [Andrew Chen]
+ * [[slide link](https://docs.google.com/presentation/d/1d2DPGphVERniJBT011ZLDwc7nttUv7sqVukw362ozY4/edit?usp=sharing)]
+ * Ongoing/upcoming work
+ * 1.12 is under (@zparnold is docs lead)
+ * [Docs contributor guide](https://kubernetes.io/docs/contribute/) has been refactored (@mistyhacks)
+ * Considering alternative search engines for China [PR#9845](https://github.com/kubernetes/website/pull/9845)
+ * Figuring out generated docs (working group) -- e.g. for kubelet [PR#66034](https://github.com/kubernetes/kubernetes/pull/66034)
+ * Proposal for fundamental concepts of Kubernetes (modeling, architecture) [[slides](https://docs.google.com/presentation/d/1vUAkRP-MjNqusqDHBptycdSbC_HSTBKyEHAFZ5OdbQA/edit?usp=sharing)]
+ * Need more/helpful diagrams
+ * PR bash and docs sprint at Write the Docs in Cincinnati
+ * Search outage postmortem [[doc](https://docs.google.com/document/d/1WxrincD0K_IW6VazR4YhMFAC4OKAEdsIJ5L4QXHsJdQ/edit?usp=sharing)]
+ * Kubernetes.io dropping off of search results
+ * Version docs aren't indexed (via X-Robots-Tag: noindex)
+ * Noindex header got added to main site as well by accident, causing no search engine results
+ * What to do going forward
+ * Hand off infra to CNCF, document mechanisms and processes
+ * Adding testing and monitoring, notify on abnormalities
+ * Have better failsafe default state
+ * master was the exception before, default state was "nothing gets indexed"
+ * default state should have been "everything got indexed"
+ * SIG IBMCloud [Sahdev Zala]
+ * [Slide deck](https://docs.google.com/presentation/d/1B1UDsHKnFDa3WvOdEOQADrhs18yOxkQkVbGuT4H8NeQ/edit?usp=sharing)
+ * Relatively new SIG for building/maintaining/using Kubernetes with IBM public and private clouds
+ * Meets every other week (Wednesdays at 14:00 EST)
+ * Start with presentations about IBM Cloud Kubernetes Service, IBM Cloud Private (recorded)
+ * IKS supports 3 concurrent releases, multi-az clusters
+ * IBM Cloud Private 2.1.0.3 releaed in May, certified for up to 1000 nodes, scalability work ongoing
+ * Ongoing discussions/work
+ * SIG cloud provider integration
+ * Public repo for IBM cloud provider code
+ * SIG Charter
+ * Future discussions (see SIG agenda)
+ * Hybrid clouds (IKS <-> ICP)
+ * Performance
+ * Community Collaboration
+ * Networking
+ * Working with Red Hat & Tigera
+ * Move Egres/IPBlock network policy to GA in 1.12
+ * Scalability
+ * Etcd changes to improve cluster creation, improve monitoring overhead
+ * Storage
+ * Flex volume resize and metrics
+ * IBM Cloud object store plugins
+ * SIG Autoscaling [Solly Ross]
+ * SIG is in charge of anything related to automatic scaling both of pods, cluster components themselves, and the cluster (VMs) itself
+ * Horizontal Pod Autoscaler
+ * Removing scale limits in favor of more sophisticated behavior (looking at metric data point timestamps and pod launch timestamps)
+ * Brainstorming further algorithmic improvements (looking at more than one data point, etc) for flexibility around additional use cases and custom metrics
+ * HPA v2beta2 landing in 1.12 release
+ * Specify labels to further scope metrics
+ * Target average values on object metrics (divide value by number of pods)
+ * API consistency improvements
+ * Cluster Autoscaler
+ * Focusing on some large known issues (scaling around GPUs, local persistent volume scaling)
+ * Investigating steps to integrate cluster autoscaler with cluster API (may require some changes to the cluster API instead of custom logic in the autoscaler)
+* [ 0:00 ] <strong>Announcements</strong>
+ * Shoutouts this week
+ * shoutout to Di Xu (@dixudx) for being such an active reviewer and reviewing LOTS of incoming PRs so quickly!!!
+ * shoutout to Arnaud Meukam (@ameukam) and Jeremy Rickard (@jerickar) for being awesome bug triage shadows and handling the job wonderfully while I was out last week!
+ * Mistyhacks: Shoutout to @ianychoi, who has just become a k8s org member in order to work on Korean localization, and is already providing great feedback, as evidenced in this PR: [https://github.com/kubernetes/website/pull/9643/comment#issuecomment-411886340](https://github.com/kubernetes/website/pull/9643/comment#issuecomment-411886340)
+ * @jdumars for creating :testgrid: (Slack emoji)
+ * Steering Committee Elections are coming! Announcements will go out next week on multiple platforms but k-dev@ will be the main communication channel.
+ * [Elections](https://github.com/kubernetes/community/tree/master/events/elections) are coming!
+ * Next week, email will go out with eligibility, etc information on kubernetes-dev ML
+ * There will be a voters guide checked into GitHub as a single source of truth
+ * Changing how we do GitHub membership - file an issue instead of send an e-mail [spiffxp]
+ * [https://github.com/kubernetes/community/pull/2521](https://github.com/kubernetes/community/pull/2521)
+ * Path to Kubernetes membership used to involve sending an email
+ * Now moving to issue-based system (file issue from template to [kubernetes/org](https://github.com/kubernetes/org) repo) : [Membership issue template](https://github.com/kubernetes/org/blob/master/.github/ISSUE_TEMPLATE/membership.md)
+ * Currently manual, may be automated in the future with filing a PR
+ * Brace yourselves, automation is coming [spiffxp]
+ * I am pushing an agenda as follows, and want help figuring what is common and appreciated, vs. what should be configurable and opt-in
+ * Want to have some common processes across org
+ * Everything uses tide except for k/k, looking to move k/k to tide as well
+ * Common label colors to easily recognize things
+ * [All repos in orgs we manage should be in sigs.yaml](https://github.com/kubernetes/community/issues/2464)
+ * [All repos in orgs we manage should have OWNERS](https://github.com/kubernetes/community/issues/1721) (what are OWNERS and how do we use them? [https://go.k8s.io/owners](https://go.k8s.io/owners) )
+ * [All repos in orgs we manage should have at least these labels](https://github.com/kubernetes/test-infra/pull/9054) (what labels? [https://go.k8s.io/github-labels](https://go.k8s.io/github-labels)
+ * [All repos in orgs we manage should use the same merge automation](https://github.com/kubernetes/test-infra/issues/6227) (with some configurable settings)
+ * Should all repos have the /retest commenter enabled?
+ * Should all repos have the /lifecycle stale|rotten|/close commenter enabled?
+ * Heapster deprecation reminder [directxman12]
+ * Bug-fix only mode on 1.12, completely deprecated & retired in 1.13
+ * Please start the process of migrating away from Heapster if you haven't already (look at [metrics-server](https://github.com/kubernetes-incubator/metrics-server) and/or third-party monitoring solutions, such as Prometheus)
+ *
+
+
+## Aug 9, 2018 - recording
+
+
+
+* **Moderators**: Arun Gupta [Amazon]
+* **Note Taker**: Tim Pepper [VMWare/SIG Release and Jorge Castro [Heptio/SIG Contribex] and Josh Berkus [Red Hat/SIG Release etc.]
+* [ 0:00 ]** Demo **-- No demo this week
+* [ 0:00 ]** Release Updates**
+ * Current Release Development Cycle [Tim Pepper ~ 1.12 Release lead]
+ * We are roughly halfway through the ~12-13 week release cycle for 1.12, but almost ? of the way through our open development phase:
+ * It's been ~50 days since master branch reopened from 1.11's freeze
+ * It is only 26 days to 1.12's code freeze!
+ * 1.12.0-beta0 is Aug. 14: We are validating a new build/publish mechanism and its documentation. Beta should be cut from a newly created 1.12 release branch next week, CI will be enabled on the branch, and the branch will fast-forward regularly pulling master branch's content for the next weeks.
+ * Looking for high SIG attention toward keeping CI signal green for [release master blocking](https://k8s-testgrid.appspot.com/sig-release-master-blocking) and [release master upgrade](https://k8s-testgrid.appspot.com/sig-release-master-upgrade)
+ * **Code Freeze: September 4** (26 days from today)
+ * **Release Target: September 25** (47 days from today)
+ * Patch Release Updates
+ * 1.9.10 (5 days ago)
+ * 1.10.6 (12 days ago)
+ * 1.11.2 (1 day ago)
+* [ 0:00 ] **SIG Updates**
+ * SIG Scalability [Shyam Jeedigunta] (confirmed)
+ * Recent work toward improving tools for scale testing:
+ * "Clusterloader" rewrite (in [perf-tests](https://github.com/kubernetes/perf-tests) repo) for declarative cluster setup and measurements. [[Discussion](https://groups.google.com/forum/#!topic/kubernetes-sig-scale/2G6lNidNuaU)] Thanks @sejug for the awesome initial version of the tool.
+ * "perfdash" (code also in [perf-tests](https://github.com/kubernetes/perf-tests) repo) dashboard output to [http://perf-dash.k8s.io/](http://perf-dash.k8s.io/)
+ * For 1.12 kubelet watches for secrets instead of polling, making a big perf win, can scale to a 100k namespaces currently.
+ * Kubelet heartbeat changes to reduce etcd interactions (see [KEP 0009 node heartbeat](https://github.com/kubernetes/community/blob/master/keps/sig-node/0009-node-heartbeat.md))
+ * Moving node heartbeat to another API
+ * Current node heartbeat produces a LOT of etcd version history, bloating the etcd database
+ * CI Testing
+ * Deflaking our jobs
+ * Solving 1.12 regression
+ * SIG Architecture [Brian Grant] (confirmed)
+ * Meeting time has move to 11am Pacific, immediately following this community meeting
+ * Work tracking methods are changing:
+ * [API Reviews](https://github.com/kubernetes-sigs/architecture-tracking/projects/3)
+ * [KEP Tracking](https://github.com/kubernetes-sigs/architecture-tracking/projects/2)
+ * [ tracking boards](https://github.com/kubernetes-sigs/architecture-tracking/projects)
+
+ GitHub notifications don't work for most and slack also is lossy. Use mailing list.
+
+ * [Tracking boards ](https://github.com/kubernetes-sigs/architecture-tracking/projects)- if you want to get on the SIG Arch radar, please get onto the project board so you can get on the agenda. Feel free to use the sig-architecture mailing list to reach out to us. (Slack is too ephemeral, please use the list as the primary point of contact.)
+ * Pushing back on newly compiled-in APIs, reviewing those more closely.
+ * Will post to k-dev on the engagement model for interacting with API changes ? **important**
+ * SIG CLI [Sean Sullivan] (confirmed)
+ * [Slide Deck](https://docs.google.com/presentation/d/1k-dqABfPPVUtppGOIMi0PWSWPwUDbri0pWVu7D5MoFA/edit?usp=sharing)
+ * kubectl update: ongoing work to simplify client and move more into the api server,, improving extensibility with plugins ([KEP PR link](https://github.com/kubernetes/community/pull/2437)), "KREW" plugin management (link?)
+ * [kustomize](https://github.com/kubernetes-sigs/kustomize) update: patch based customization (instead of Helm style templates/yaml)
+ * Charter draft [out for feedback](https://github.com/kubernetes/community/pull/2453)
+ * [SIG-CLI](https://github.com/kubernetes/community/pull/2453) Links:
+ * [Agenda Notes](https://docs.google.com/document/d/1r0YElcXt6G5mOWxwZiXgGu_X6he3F--wKwg-9UBc29I/edit?usp=sharing)
+ * Slack Channel [#sig-cli](https://kubernetes.slack.com/messages/sig-cli)
+ * [Google Group](https://groups.google.com/forum/#!forum/kubernetes-sig-cli)
+ * [Testing Playbook](https://docs.google.com/document/d/1Z3teqtOLvjAtE-eo0G9tjyZbgNc6bMhYGZmOx76v6oM/edit#)
+ * [Test Grid](https://k8s-testgrid.appspot.com/sig-cli-master)
+ * kustomize repo is under [kubernetes-sigs](https://github.com/kubernetes/community/blob/master/github-management/kubernetes-repositories.md)
+ * Project-wide tip, kubernetes-sigs is the repo that holds things for SIGs that shouldn't be in core but need to be managed by SIGs. It's the evolution of the old kubernetes incubator module.
+ * SIG AWS [Nishi Davidson] (confirmed)
+ * Slides link
+ * Looking to upstream more, especially documentation and testing
+ * Repos now in kubernetes-sigs namespace
+ * Giving an overview of subprojects:
+ * [Aws-iam-authenticator](https://github.com/kubernetes-sigs/aws-iam-authenticator), allows authentication against IAM credentials for kubernetes running on AWS. Renamed from heptio-authenticator.
+ * [Aws-alb-ingress-controller](https://github.com/kubernetes-sigs/aws-alb-ingress-controller), created by CoreOS and Ticketmaster & donated, watches for ingress events on kubernetes and creates AWS ALBs. It's in production at Ticketmaster (also used by Bluejeans & Freshworks). At some point will be added to Amazon EKS.
+ * [Aws-encryption-provider](https://github.com/kubernetes-sigs/aws-encryption-provider) provides envelope encryption for Etcd, still an alpha project where they are debating design elements.
+ * [Aws-csi-driver-ebs](https://github.com/bertinatto/ebs-csi-driver/) allows the CSI driver to work with EBS for PVs. Collab with Red Hat. Hope to make stable in 1.13/1.14 and replace the current EBS driver.
+ * Pod-identity-access: just a proposal right now. Would like to have identity injection inside the pod for IAM credentials. Target for 1.13/1.14 work.
+ * Cloud-provider-aws: project to move AWS cloud provider to the cloud provider API (as per [KEP 0019](https://github.com/kubernetes/community/blob/master/keps/sig-cloud-provider/0019-cloud-provider-documentation.md)). Added a documentation KEP for it.
+ * Cluster API [Kris Nova]
+ * Repository: [https://github.com/kubernetes-sigs/cluster-api-provider-aws](https://github.com/kubernetes-sigs/cluster-api-provider-aws)
+ * Doodles and Docs email: [https://groups.google.com/forum/#!topic/kubernetes-sig-cluster-lifecycle/__XIKigkxkA](https://groups.google.com/forum/#!topic/kubernetes-sig-cluster-lifecycle/__XIKigkxkA)
+* [ 0:00 ] **Steering Committee Updates **[Aaron @spiffxp]
+ * [Steering Committee Elections 2018](https://github.com/kubernetes/steering/issues/63)
+ * Walked through how a meeting works:
+ * [kubernetes/steering project board](https://github.com/kubernetes/steering/projects/1)
+ * They start with a kanban board and look at all of the things they were supposed to have done
+ * Right now they're supposed to be having elections, but there are pending tasks that weren't done a year ago, like deciding who is a "member of standing".
+ * Went over criteria for member of standing. Right now they're planning to use Devstats criteria for contributions by contributor ([rolling window 1year](https://k8s.devstats.cncf.io/d/13/developer-activity-counts-by-repository-group?orgId=1&var-period_name=Last%20year&var-metric=contributions&var-repogroup_name=All)), requiring 60 contributions.
+ * Need to [codify SIG liaisons](https://github.com/kubernetes/steering/issues/64) from SC. This is partly for the charter process. Have at least 2 people assigned to each SIG.
+ * Code of Conduct Committee (CoCC): open candidates, closed voting -> [set of members added in community repo](https://github.com/kubernetes/community/pull/2498). See [committee readme](https://github.com/kubernetes/community/tree/master/committee-code-of-conduct) for more info.
+ * Charters: lots of activity but also slow progress. WIP, lots to do, tracked in [meta issue](https://github.com/kubernetes/steering/issues/31).
+ * Meet Our Contributors - Steering Committee edition
+ * Sep 5th at 1pm PST -> sarahnovotny, bgrant, quinton-hoole, spiffxp, jbeda, michelleN, derekwaynecarr
+ * Join #meet-our-contributors on kubernetes.slack.com for more info
+ * [Last edition with bdburns, pwittroc, and philips](https://youtu.be/BuJhzJriaNY)
+ * [Meet Our Contributors ](https://github.com/kubernetes/community/blob/master/mentoring/meet-our-contributors.md)info
+ * Non SC participation: Would like to allow non-SC members to join the meetings by invitation (meetings are recorded though and posted to the youtube channel for community review), such as Jaice who has been auditing the meetings and asking questions. Another example is cblecker querying the SC about GH permissions management, and made a proposal for it. Not suggesting making the meetings open, joining would be by invitation, usually based on a proposal to the SC.
+* [ 0:00 ] **Announcements**
+ * [Kubernetes Office Hours](https://github.com/kubernetes/community/blob/master/events/office-hours.md) is next week! [Jorge]
+ * SIG Update Schedule for this meeting [is updated](https://docs.google.com/spreadsheets/d/1adztrJ05mQ_cjatYSnvyiy85KjuI6-GuXsRsP-T2R3k/edit#gid=1543199895) through October [Jorge]
+ * It is always linked to from the top of this document
+ * SIGs, it is your responsibility to ensure that you can make this update, if not, let someone in SIG Contrib-Ex know so we can schedule you.
+ * Demo section is finally caught up! If you want to demo something during this meeting see the top of this document. [Jorge]
+ * If you've demo'ed over a year ago consider submitting again so we can check out your progress!
+ * GitHub Management subproject [Aaron @spiffxp]
+ * [The responsibilities](https://github.com/kubernetes/community/blob/master/github-management/subproject-responsibilites.md)
+ * [The team](https://github.com/kubernetes/community/tree/master/github-management#github-administration-team)
+ * [The GitHub orgs we manage](https://github.com/kubernetes/community/tree/master/github-management#actively-used-github-organizations)
+ * [We have removed GitHub Owner privileges from most people who had it](https://github.com/kubernetes/community/issues/2465)
+ * If you need things done that require Owner privileges, [please file an issue on kubernetes/org](https://github.com/kubernetes/org/issues/new/choose)
+ * If this broke your workflow, [please file an issue on kubernetes/org](https://github.com/kubernetes/org/issues/new/choose)
+ * [We setup domain verification for the kubernetes GitHub org](https://github.com/kubernetes/org/issues/4)
+ * If you need something done by GH admins, then you file an issue on the kubernetes/org GH repo. There's an SLO for responses.
+ * Subprojects [Aaron @spiffxp]
+ * A subproject is 1 or N repos or packages
+ * [All repos must have OWNERS](https://github.com/kubernetes/community/issues/1721)
+ * [All repos must be called out in sigs.yaml](https://github.com/kubernetes/community/issues/2464)
+ * I will eventually be asking why repos in kubernetes-incubator can't instead live in kubernetes-sigs
+ * Sunsetting Kubernetes SIG service accounts [Ihor]
+ * We are not enforcing SIG's to create&use the service accounts anymore, and sunsetting the existing procedure;
+ * If you are an owner of the credentials for `k8s-mirror-foo-*` GitHub users and/or `kubernetes-sig-foo-*` mailing lists, please, work on deleting them
+ * Details - [https://groups.google.com/d/msg/kubernetes-dev/Fg_dWVV0eIQ/bvv64v46CwAJ](https://groups.google.com/d/msg/kubernetes-dev/Fg_dWVV0eIQ/bvv64v46CwAJ)
+ * Shoutouts this week (Check in #shoutouts on slack)
+ * paris: thanks to @tpepper (Tim Pepper) @jeefy (Jeffrey Sica) @bentheelder (Benjamin Elder) @rdodev (Ruben Orduz) for great responses and their time on #meet-our-contributors yesterday! :tada: solid examples of good mentors
+ * spiffxp: thanks to @mhb (Morgan Bauer) for his efforts in working with #sig-testing to get service-catalog all hooked up to prow :prow: and tide
+ * Jerickar (Jeremy Rickard): what @spiffxp said! tide and prow are dope and we love using the now
+ * tpepper: shoutout to @jorge , @paris , zoom, and any others who've been working for _months_ to improve our meeting moderation abilities and best practices to better insure our collaborations are constructive and resilient in the face of potential abuse
+ * spiffxp: shoutout to @matthyx (Matthias Bertschy) for adding per-repo label support to our `label_sync` bot, so you can add labels to your repo by PR'ing a file instead of making the change manually with admin access
+ * jorge: shoutout to @chenopis (Andrew Chen) for sorting out netlify for the contributor site!
+ * spiffxp: shoutout to @mkumatag (Manjunath Kumatagi) and @dims (Davanum Srinivas) for their push on multi-arch e2e test images, ppc64le is now passing node conformance (https://k8s-testgrid.appspot.com/sig-node-ppc64le#conformance)
+ *
+
+
+## August 2, 2018 - recording
+
+
+
+* **Moderators**: Solly Ross
+* **Note Taker**: Bob Killen [Company/SIG]
+* [ 0:00 ]** Demo **-- Kritis Overview [[aprindle@google.com](mailto:aprindle@google.com)]
+ * [Slides](https://docs.google.com/presentation/d/14CaYbhH_mhrhLg2ULm4fXMfwWOYS_A_EjZwl6olUKWc/edit?usp=sharing )
+ * Build off of grafeas
+ * Test assertions before deploying containers
+ * Can validate / do vulnerability scanning
+ * Cron schedule that is constantly monitoring to ensure images are never fall out of sync
+ * CRD based configuration
+ * Supports whitelisting images
+ * Can define things such as maximum CVE severity
+ * Can deny images that are usings tags such as 'latest'
+ * Helm Chart available for deployment
+ * When attempting to deploy an image with a vulnerability, user will be given a denied error
+ * Blog post incoming on August 13th
+ * Initial v0.1.0 release coming soon
+ * Custom attestation policies in the future
+ * Questions:
+ * Is like [Portieris](https://github.com/IBM/portieris)? Unknown, will look / follow up
+ * Does it support [Notary](https://github.com/theupdateframework/notary)? Auth piece has similar goal
+ * Notary support should be possible, both designed for build provenance
+ * [[slides](https://docs.google.com/presentation/d/14CaYbhH_mhrhLg2ULm4fXMfwWOYS_A_EjZwl6olUKWc/edit#slide=id.p)]
+ * [https://github.com/grafeas/kritis](https://github.com/grafeas/kritis)
+* [ 0:00 ]** Release Updates**
+ * Current Release Development Cycle [Tim Pepper ~ 1.12 Release lead]
+ * v1.12 Feature Freeze: was Tuesday July 31
+ * This was feature definition (not implementation) deadline.
+ * ~50 features captured
+ * Implementation (code, test cases, docs drafts)deadline is "Code Freeze" on Sept. 4
+ * v1.12.0-alpha.1 release cut yesterday Aug. 1. Is a major milestone in that along with 1.11.1 we are transitioning from Google employees running the build/release mechanism to community members. The transition has had a few issues, but is rapidly improving. Expecting first beta to be smooth.
+ * More details and links at [http://bit.ly/k8s112-release-info](http://bit.ly/k8s112-release-info)
+ * Patch Release Updates
+ * 1.11.2 Scheduled for the Aug 11th (cherry picks should be up by Friday, August 3rd)
+* [ 0:00 ] **Open KEPs**
+ * Dynamic Audit Configuration [https://github.com/kubernetes/community/blob/master/keps/sig-auth/0014-dynamic-audit-configuration.md](https://github.com/kubernetes/community/blob/master/keps/sig-auth/0014-dynamic-audit-configuration.md)
+ * Advanced auditing is still difficult to configure
+ * Working on making it similar to dynamic admission control
+ * Support both static runtime configuration via flag and new dynamic method
+ * Moving into alpha in 1.12, beta in 1.13
+ * Will be Feature Gated
+ * Can be used to compute API coverage on a running cluster. Previously it was not possible to alter the audit config of a running cluster. Dynamic audit config allows you to turn on API coverage calculator and compute the API usage for a period of time.
+* [ 0:00 ] **SIG Updates**
+ * SIG UI [Jeffrey Sica] (confirmed) \
+[https://docs.google.com/presentation/d/1f6dI2mP_5SZeuJd9i3e6y6jx44i6ouFZGvFAfYT1BsA/edit?usp=sharing](https://docs.google.com/presentation/d/1f6dI2mP_5SZeuJd9i3e6y6jx44i6ouFZGvFAfYT1BsA/edit?usp=sharing)
+ * New release coming soon (2-3 weeks)
+ * Many bug fixes
+ * Will use 1.8.10 client-go
+ * Angular Migration in progress
+ * Migrating from version 1 to version 6
+ * Requires a complete rewrite
+ * Upcoming features
+ * oauth2 integration
+ * multi-arch manifests
+ * security enhancements
+ * inform users when running as admin or with other insecure configuration
+ * Will support multiple themes
+ * Customized CSS (branding etc)
+ * Looking for more contributors
+ * angular js migration
+ * bug triage
+ * feature discovery
+ * ~~SIG AWS [Nishi Davidson] (confirmed)~~ (had to move to later week)
+ * SIG Service Catalog [Jeremy Rickard] (confirmed)
+ * SIG Charter recently approved
+ * SIG Chairs have changed recently (insert names later)
+ * Working actively on improving contributor experience
+ * active in labeling issues
+ * improving contributor guide
+ * Moving to prow
+ * Service Catalog now supports namespace
+ * Catalog restrictions on a per namespace basis
+ * Working towards providing default types for services
+* [ 0:00 ] **Announcements**
+ * [Kubecon CFP deadline](https://events.linuxfoundation.org/events/kubecon-cloudnativecon-north-america-2018/program/call-for-proposals-cfp/)
+ * Save the Date: Kubernetes Contributor Summit, 10 December, right before Kubecon.
+ * Sunday, 9 December will likely
+ * Shoutouts this week (Check in #shoutouts on slack)
+ * thanks to @mhb for his efforts in working with #sig-testing to get service-catalog all hooked up to prow :prow: and tide
+ * thanks to @tpepper @jeefy @bentheelder @rdodev for great responses and their time on #meet-our-contributors yesterday! :tada: solid examples of good mentors
+ * Shout out to @neolit123 for quick responses and status updates to failing ci tests in cluster lifecycle
+ * Many thanks to @ahmet for quick reviews of changes to kubernetes/examples repo!
+ * [Stackoverflow Top Users](https://stackoverflow.com/tags/kubernetes/topusers) (Once a month at the end of the month)
+ * [Jaxxstorm](https://stackoverflow.com/users/645002/jaxxstorm), [Matthew L Daniel, Nicola Ben, David Maze, Konstantin Vustin,](https://stackoverflow.com/users/225016/matthew-l-daniel) [VAS, VonC, Michael Hausenblas, Const, Marcin Romaszewicz](https://stackoverflow.com/users/9521610/vas)
+ * Turning off bot for 1.12 release, last artifact of munge github (missed 1st part of this)
+ * Contributor Experience is looking for new contributors
+ * SIG leads have an email regarding zoom
+
diff --git a/communication/moderation.md b/communication/moderation.md
index 428fbc84..440d94cd 100644
--- a/communication/moderation.md
+++ b/communication/moderation.md
@@ -1,31 +1,124 @@
# Moderation on Kubernetes Communications Channels
-This page describes the rules and best practices for people chosen to moderate
-Kubernetes communications channels. This includes: Slack, the mailing lists
-and _any communication tool_ used in an official manner by the project.
-- Check the [centralized list of administrators] for contact information.
+This page describes the rules and best practices for people chosen to moderate
+Kubernetes communications channels. This includes Github, Slack, forums, mailing
+lists, YouTube, Zoom, and any property listed in the SIG Contributor Experience
+[charter].
+
+- Check the [centralized list of administrators][moderators] for contact
+ information.
+- Some Kubernetes properties, like the Twitter account, are managed by the CNCF.
+
+---
+
+- [Moderation on Kubernetes Communications Channels](#moderation-on-kubernetes-communications-channels)
+ - [Selection of Moderators](#selection-of-moderators)
+ - [Moderators Pro Tempore](#moderators-pro-tempore)
+ - [Rotation of Moderators](#rotation-of-moderators)
+ - [Roles and Responsibilities](#roles-and-responsibilities)
+ - [Violations](#violations)
+ - [Escalation Procedures](#escalation-procedures)
+ - [Platform Specific Guidelines](#platform-specific-guidelines)
+ - [Discuss](#discuss)
+ - [Mailing List](#mailing-list)
+ - [Slack](#slack)
+ - [YouTube](#youtube)
+ - [Zoom](#zoom)
+ - [References and Resources](#references-and-resources)
+
+---
+
+## Selection of Moderators
+
+Each Kubernetes property has a certain set of [moderators] who
+are responsible for keeping it safe and a fun place to participate.
+
+Moderators are selected by following the criteria:
+
+Moderators _MUST_:
+
+- Be a [member of the Kubernetes Organization](/community-membership.md).
+- Have experience moderating something or some equivalent level of community
+ management.
+- Make themselves available during their primary working hours for their given
+ timezone.
+- Communicate their availability to their peer moderators when appropriate, such
+ as when travelling or becoming unavailable for an extended period of time.
+- Understand that volunteering for this role might mean an occasional personal
+ time commitment or off-hour duty.
+
+The process for applying for moderatorship is as follows:
+
+- Sponsored by 2 existing moderators **Note the following requirements for
+ sponsors**:
+ - Sponsors MUST have close interactions with the prospective member -
+ example: participating in the appropriate property, coordinating on
+ issues, etc.
+ - Sponsors MUST be from multiple member companies to demonstrate integration
+ across community.
+ - Sponsors MUST take time zone coverage into account, each property should
+ have global coverage. Ideally no more than two(2) moderators are needed in
+ a given time zone.
+ - Sponsors MUST ensure that nominees are familiar with the software they are
+ using to moderate.
+- **[Open an issue][moderator request] against the kubernetes/community repo**
+ - Ensure your sponsors are @mentioned on the issue.
+ - Complete every item on the checklist ([preview the current version of the
+ template][moderator template])
+ - Make sure that the list of contributions included is representative of your
+ work on the project.
+- Have your sponsoring reviewers reply confirmation of sponsorship: `+1` or
+ similar approval.
+
+### Moderators Pro Tempore
+
+Each property will have a list of moderators who cannot commit to full time
+moderatorship, but are available during special events or circumstances that
+might call for additional ad-hoc duties.
+
+For example if all moderators are attending a conference, pro tempore moderators
+may be assigned to monitor a property.
+
+
+## Rotation of Moderators
+
+Content moderation can be personally tiring, so primary Moderators _SHOULD_
+rotate on a regular basis.
+
+- Primary moderators should evaluate their position(s) as a team _yearly_.
+ - Determine whether the moderation situation on the property is working.
+ - Rotate teams accordingly.
+ - Consider rotating in less experienced person to give them an opportunity to
+ participate.
+ - Take into account time zone considerations.
+- Due to less workload Moderators Pro Tempore should be a lightweight role
+ - Primary moderators should consider switching to this role for a given amount
+ of time to allow for a healthy rotation.
## Roles and Responsibilities
-As part of volunteering to become a moderator you are now representative of the
-Kubernetes community and it is your responsibility to remain aware of your
+As part of volunteering to become a moderator you are now a representative of
+the Kubernetes community, and it is your responsibility to remain aware of your
contributions in this space. These responsibilities apply to all Kubernetes
official channels.
-Moderators _MUST_:
+Moderators _MUST_:
- Take action as specified by these Kubernetes Moderator Guidelines.
- You are empowered to take _immediate action_ when there is a violation. You
do not need to wait for review or approval if an egregious violation has
- occurred. Make a judgement call based on our Code of Conduct and Values
+ occurred. Make a judgement call based on our [Code of Conduct] and Values
(see below).
- - Removing a bad actor or content from the medium is preferable to letting it
+ - Removing a bad actor or content from the medium is required, do NOT let it
sit there.
- Abide by the documented tasks and actions required of moderators.
- Ensure that the Kubernetes [Code of Conduct] is in effect on all official
Kubernetes communication channels.
+- Make yourself generally available during working hours in your time zone for moderation.
+ - This can be handled as a group so that there is enough coverage of people to allow for absences/travel.
+ - Ensure you are on #slack-admins during work hours and notifications are set appropriately.
- Become familiar with the [Kubernetes Community Values].
- Take care of spam as soon as possible, which may mean taking action by
removing a member from that resource.
@@ -33,15 +126,20 @@ Moderators _MUST_:
cultural differences between Kubernetes community members.
- Understand that you might be contacted by moderators, community managers, and
other users via private email or a direct message.
+- Keep up with software/platform changes on the property they are responsible
+ for. This might include new UI changes, new features, or other software
+ changes. Moderators are encouraged to meet regularly to train themselves how
+ to be proficient with the platform.
- Report violations of the Code of Conduct to <conduct@kubernetes.io>.
-Moderators _SHOULD_:
+Moderators _SHOULD_:
- Exercise compassion and empathy when communicating and collaborating with
other community members.
- Understand the difference between a user abusing the resource or just having
difficulty expressing comments and questions in English.
-- Be an example and role model to others in the community.
+- Be an example and role model to others in the community. In many cases,
+ moderators are some of the first people new contributors will interact with.
- Remember to check and recognize if you need take a break when you become
frustrated or find yourself in a heated debate.
- Help your colleagues if you recognize them in one of the [stages of burnout].
@@ -52,34 +150,78 @@ Moderators _SHOULD_:
The Kubernetes [Code of Conduct Committee] will have the final authority
regarding escalated moderation matters. Violations of the Code of Conduct will
-be handled on a case by case basis. Depending on severity this can range up to
-and including removal of the person from the community, though this is
-extremely rare.
-
-
-## Specific Guidelines
+be handled on a case by case basis. Depending on severity, this can range up to
+and including removal of the person from the community, though this is extremely
+rare. This decision comes from the Code of Conduct committee, not the moderators.
+
+
+## Escalation Procedures
+
+In the event of large attacks the moderator team must enact the following
+procedures:
+
+- The person on call should immediately concentrate on removing the offending
+ content and asking for other on call moderators for help. That is their sole
+ responsibility.
+- The secondary person on call should immediately begin to take notes to
+ document the incident, this will form the basis of a post-mortem. The 2nd
+ person on site is responsible for finding help, and documenting the incident.
+- The secondary person on call will escalate if necessary. If it's a one off
+ incident and the content is removed, then the collective moderators can work on
+ a post-mortem and report the incident to primary moderators within 24 hours.
+ - If it's a sustained incident that needs more help, the secondary will contact
+ other primary moderators as soon as possible.
+ - If appropriate, the next level of people to contact are the OWNERS of the
+ subproject.
+ - If appropriate, the next level of people to contact is the [Code of Conduct
+ Committee].
+ - If appropriate, the next level of people to contact is the [Steering
+ Committee].
+- Moderators will have access to a private document with contact information of
+ the appropriate people.
+- Primary moderators will then execute an audit of the affected property:
+ - Slack: emoji audit
+ - (More per-property steps to be added as we learn them)
+
+
+## Platform Specific Guidelines
These guidelines are for tool-specific policies that don't fit under a general
umbrella.
-### Discuss guidelines
+### Discuss
-- [Discuss guidelines](./discuss-guidelines.md)
+- [Discuss Guidelines](./discuss-guidelines.md)
+- [Moderators](./moderators.md#discuss.kubernetes.io)
+- [Regional Moderators](./moderators.md#regional-category-moderators)
-### Mailing list guidelines
+### Mailing List
-- [Mailing List guidelines](./mailing-list-guidelines.md)
+- [Mailing List Guidelines](./mailing-list-guidelines.md)
+- [Moderators](./moderators.md#mailing-list)
### Slack
-- [Slack guidelines](./slack-guidelines.md)
+- [Slack Guidelines](./slack-guidelines.md)
+- [Moderators](./moderators.md#slack)
+
+### YouTube
+
+- Moderators should check the Comments section in the community tab regularly
+ for published comments and the "hold for review" sections to see if comments
+ are being flagged by the system.
+- We do NOT use YouTube comments during our live streams, these are checked as
+ OFF in the settings.
+- [Youtube Guidelines](./youtube-guidelines.md)
+- [Moderators](./moderators.md#youtube-channel)
-### Zoom
+### Zoom
-- [Zoom guidelines](./zoom-guidelines.md)
+- [Zoom Guidelines](./zoom-guidelines.md)
+- [Moderators](./moderators.md#zoom)
-### References and Resources
+## References and Resources
Thanks to the following projects for making their moderation guidelines public,
allowing us to build on the shoulders of giants. Moderators are encouraged to
@@ -93,8 +235,12 @@ guidelines:
- [8 Helpful Moderation Tips for Community Managers](https://sproutsocial.com/insights/tips-community-managers/)
- [Setting Up Community Guidelines for Moderation](https://www.getopensocial.com/blog/community-management/setting-community-guidelines-moderation)
-[centralized list of administrators]: ./moderators.md#mailing-lists
+[charter]: /sig-contributor-experience/charter.md#code-binaries-and-services
+[moderators]: ./moderators.md
[Code of Conduct]: /code-of-conduct.md
[Kubernetes Community Values]: /values.md
[stages of burnout]: https://opensource.com/business/15/12/avoid-burnout-live-happy
-[Code of Conduct Committee]: /committee-code-of-conduct \ No newline at end of file
+[Code of Conduct Committee]: /committee-code-of-conduct/README.md
+[Steering Committee]: https://git.k8s.io/steering
+[moderator request]: https://github.com/kubernetes/community/issues/new/choose
+[moderator template]: https://git.k8s.io/community/.github/ISSUE_TEMPLATE/moderator_application.md
diff --git a/communication/moderators.md b/communication/moderators.md
index 316199a2..d631b3a7 100644
--- a/communication/moderators.md
+++ b/communication/moderators.md
@@ -1,70 +1,207 @@
# Community Moderators
-The following people are responsible for moderating/administrating Kubernetes communication channels and their home time zone.
-See our [moderation guidelines](./moderation.md) for policies and recommendations.
+The following people are responsible for moderating/administrating Kubernetes
+communication channels and their home time zone. See our
+[moderation guidelines] for policies and recommendations.
## Mailing Lists
### kubernetes-dev
-### Administrators
+#### Administrators
+
+Administrator seats: 3
+
+| Name | Kubernetes Slack ID | Region | Timezone |
+|---------------------|---------------------|----------|---------------------------------------------------------|
+| Paris Pittman | @paris | Americas | [PT - Pacific Time (US West Coast)](https://time.is/PT) |
+| Aaron Crickenberger | @spiffxp | Americas | [PT - Pacific Time (US West Coast)](https://time.is/PT) |
+| *Open* | *Open* | | |
+
+#### Primary Moderators
+
+Primary moderators seats: 7
+
+| Name | Kubernetes Slack ID | Region | Timezone |
+|---------------------|---------------------|----------|---------------------------------------------------------|
+| Jorge Castro | @castrojo | Americas | [ET - Eastern Time (US East Coast)](https://time.is/ET) |
+| Bob Killen | @mrbobbytables | Americas | [ET - Eastern Time (US East Coast)](https://time.is/ET) |
+| Jaice Singer DuMars | @jdumars | Americas | [PT - Pacific Time (US West Coast)](https://time.is/PT) |
+| Louis Taylor | @kragniz | EMEA | [CET - Central European Time](https://time.is/CET) |
+| Ihor Dvoretskyi | @ihor.dvoretskyi | EMEA | [EET - Eastern European Time](https://time.is/EET) |
+| Nikhita Raghunath | @nikhita | APAC | [IST - Indian Standard Time](https://time.is/India) |
+| *Open* | *Open* | | |
-- Sarah Novotny (@sarahnovotny) - PT
-- Brian Grant (@bgrant0607) - PT
-### Moderators
+#### Moderators Pro Tempore
+
+Moderators pro tempore seats: 5
+
+| Name | Kubernetes Slack ID | Region | Timezone |
+|---------------------|---------------------|----------|---------------------------------------------------------|
+| *Open* | *Open* | | |
-- Paris Pittman (@parispittman) - PT
-- Jorge Castro (@castrojo) - ET
-- Jaice Singer DuMars - (@jdumars) - PT
-- Louis Taylor (@kragniz)- CET
-- Nikhita Raghunath (@nikhita) - IT
## GitHub
-- [GitHub Administration Team](https://github.com/kubernetes/community/tree/master/github-management#github-administration-team)
+Note that this team is not only responsible for the project's Github
+administration, but also moderation of issues, PRs, etc.
+
+- [GitHub Administration Team]
-## discuss.kubernetes.io
+## Discuss
### Administrators
-- Paris Pittman (@parispittman) - PT
-- Jorge Castro (@castrojo) - ET
-- Bob Killen (@mrbobbytables) - ET
-- Jeffrey Sica (@jeefy) - ET
+Administrators seats: 4
+
+| Name | Kubernetes Discuss ID | Region | Timezone |
+|---------------|-----------------------|----------|---------------------------------------------------------|
+| Paris Pittman | @parispittman | Americas | [PT - Pacific Time (US West Coast)](https://time.is/PT) |
+| Jorge Castro | @castrojo | Americas | [ET - Eastern Time (US East Coast)](https://time.is/ET) |
+| Bob Killen | @mrbobbytables | Americas | [ET - Eastern Time (US East Coast)](https://time.is/ET) |
+| Jeffrey Sica | @jeefy | Americas | [ET - Eastern Time (US East Coast)](https://time.is/ET) |
+
+Note, due to how the software is designed, dedicated moderators are not required
+for discuss, the [trust system] in place allows for self moderation. In this
+case administrators act as exception handlers. Regional moderators are required
+for language/cultural reasons, (ie. we can't expect a community member who
+doesn't speak a language to be able to effectively moderate).
-### Regional category moderators
+### Regional Category Moderators
+
+Regional category moderators seats (per category): 3
+
+**[Chinese]**
+
+| Name | Kubernetes Discuss ID | Region | Timezone |
+|-------------------------|-----------------------|--------|----------------------------------------------------|
+| Peter (Xiang Peng) Zhao | @xiangpengzhao | APAC | [CST - China Standard Time](https://time.is/China) |
+| Yang Li | @idealhack | APAC | [CST - China Standard Time](https://time.is/China) |
+| Puja Abbassi | @puja | EMEA | [CET - Central European Time](https://time.is/CET) |
+
+**[German]**
+
+| Name | Kubernetes Discuss ID | Region | Timezone |
+|--------------------|-----------------------|--------|----------------------------------------------------|
+| Puja Abbassi | @puja | EMEA | [CET - Central European Time](https://time.is/CET) |
+| Daniel Holbach | @dholbach | EMEA | [CET - Central European Time](https://time.is/CET) |
+| Michael Hausenblas | @mhausenblas | EMEA | [WET - Western European Time](https://time.is/WET) |
+
+**[Italian]**
+
+| Name | Kubernetes Discuss ID | Region | Timezone |
+|--------------------|-----------------------|--------|----------------------------------------------------|
+| Jacopo Nardiello | @jnardiello | EMEA | [CET - Central European Time](https://time.is/CET) |
+| *Open* | *Open* | | |
+
+**[Ukrainian]**
+
+| Name | Kubernetes Discuss ID | Region | Timezone |
+|------------------|-----------------------|--------|----------------------------------------------------|
+| Ihor Dvoretskyi | @idvoretskyi | EMEA | [EET - Eastern European Time](https://time.is/EET) |
+| *Open* | *Open* | | |
-- [Chinese]
-- [German]
-- [Italian]
-- [Ukrainian]
## YouTube Channel
-- Paris Pittman (@parispittman) - PT
-- Sarah Novotny (@sarahnovotny) - PT
-- Bob Hrdinsky - PT
-- Ihor Dvoretskyi (@idvoretskyi) - EET
-- Jeffrey Sica (@jeefy) - ET
-- Jorge Castro (@castrojo) - ET
-- Joe Beda - (@joebeda) - PT
-- Jaice Singer DuMars - (@jdumars) - PT
+Youtube owners seats: 2
+
+### Owners
+
+| Name | Kubernetes Slack ID | Region | Timezone |
+|---------------------|---------------------|----------|---------------------------------------------------------|
+| Paris Pittman | @paris | Americas | [PT - Pacific Time (US West Coast)](https://time.is/PT) |
+| Sarah Novotny | @sarahnovotny | Americas | [PT - Pacific Time (US West Coast)](https://time.is/PT) |
+
+### Primary Moderators
+
+Moderators seats: 10
+
+| Name | Kubernetes Slack ID | Region | Timezone |
+|---------------------|---------------------|----------|---------------------------------------------------------|
+| Jorge Castro | @castrojo | Americas | [ET - Eastern Time (US East Coast)](https://time.is/ET) |
+| Jeffrey Sica | @jeefy | Americas | [ET - Eastern Time (US East Coast)](https://time.is/ET) |
+| Bob Killen | @mrbobbytables | Americas | [ET - Eastern Time (US East Coast)](https://time.is/ET) |
+| Jorge Alarcon | @alejandroxv1 | Americas | [ET - Eastern Time (US East Coast)](https://time.is/ET) |
+| Jaice Singer DuMars | @jdumars | Americas | [PT - Pacific Time (US West Coast)](https://time.is/PT) |
+| Joe Beda | @joebeda | Americas | [PT - Pacific Time (US West Coast)](https://time.is/PT) |
+| Ihor Dvoretskyi | @ihor.dvoretskyi | EMEA | [EET - Eastern European Time](https://time.is/EET) |
+| *Open* | *Open* | | |
+
+
+### Moderators Pro Tempore
+
+Moderators pro tempore seats: 3
+
+
+| Name | Kubernetes Slack ID | Region | Timezone |
+|---------------------|---------------------|----------|---------------------------------------------------------|
+| *Open* | *Open* | | |
## Slack
-- Chris Aniszczyk (@caniszczyk) - CT
-- Ihor Dvoretskyi (@idvoretskyi) - EET
-- Jaice Singer DuMars (@jdumars) - PT
-- Jorge Castro (@castrojo) - ET
-- Paris Pittman (@parispittman) - PT
+#### Owner
+
+Owners seats (non-admin role): 1
+
+| Name | Kubernetes Slack ID | Region | Timezone |
+|-----------------|---------------------|----------|------------------------------------------------------|
+| Chris Aniszczyk | @caniszczyk | Americas | [CT - Central Time (US Central)](https://time.is/CT) |
+
+#### Moderators
+
+Moderators seats: 10
+
+| Name | Kubernetes Slack ID | Region | Timezone |
+|---------------------|---------------------|----------|---------------------------------------------------------|
+| Jorge Castro | @castrojo | Americas | [ET - Eastern Time (US East Coast)](https://time.is/ET) |
+| Jeffrey Sica | @jeefy | Americas | [ET - Eastern Time (US East Coast)](https://time.is/ET) |
+| Bob Killen | @mrbobbytables | Americas | [ET - Eastern Time (US East Coast)](https://time.is/ET) |
+| Jorge Alarcon | @alejandroxv1 | Americas | [ET - Eastern Time (US East Coast)](https://time.is/ET) |
+| Katharine Berry | @Katharine | Americas | [PT - Pacific Time (US West Coast)](https://time.is/PT) |
+| Jaice Singer DuMars | @jdumars | Americas | [PT - Pacific Time (US West Coast)](https://time.is/PT) |
+| Paris Pittman | @paris | Americas | [PT - Pacific Time (US West Coast)](https://time.is/PT) |
+| Noah Kantrowitz | @coderanger | Americas | [PT - Pacific Time (US West Coast)](https://time.is/PT) |
+| Ihor Dvoretskyi | @ihor.dvoretskyi | EMEA | [EET - Easter European Time](https://time.is/EET) |
+| Yang Li | @idealhack | APAC | [CST - China Standard Time](https://time.is/China) |
+
+
+#### Moderators Pro Tempore
+
+Moderators pro tempore seats: 10
+
+| Name | Kubernetes Slack ID | Region | Timezone |
+|-------------------------|---------------------|--------|------------------------------------------------------------|
+| Dylan Graham | @DylanGraham | APAC | [AET - Australian Eastern Time](https://time.is/Australia) |
+| Angus Lees | @anguslees | APAC | [AET - Australian Eastern Time](https://time.is/Australia) |
+| Aditya Konarde | @aditya-konarde | APAC | [IST - Indian Standard Time](https://time.is/IST) |
+| Manjunath Kumatagi | @mkumatag | APAC | [IST - Indian Standard Time](https://time.is/IST) |
+| Pandiyaraja Ramamoorthy | @pontiyaraja | APAC | [IST - Indian Standard Time](https://time.is/IST) |
+| Roy Lenferink | @rlenferink | EMEA | [CET - Central European Time](https://time.is/CET) |
+| Loic Le Dru | @lledru | EMEA | [CET - Central European Time](https://time.is/CET) |
+| Puja Abbassi | @puja108 | EMEA | [CET - Central European Time](https://time.is/CET) |
+| James Munnelly | @munnerz | EMEA | [GMT - Greenwich Mean Time](https://time.is/GMT) |
+| Joel Speed | @JoelSpeed | EMEA | [GMT - Greenwich Mean Time](https://time.is/GMT) |
+
+
## Zoom
-- Paris Pittman (@parispittman) - PT
-- Jorge Castro (@castrojo) - ET
+Administrators seats: 4
+
+| Name | Kubernetes Slack ID | Region | Timezone |
+|---------------|---------------------|----------|---------------------------------------------------------|
+| Jorge Castro | @castrojo | Americas | [ET - Eastern Time (US East Coast)](https://time.is/ET) |
+| Bob Killen | @mrbobbytables | Americas | [ET - Eastern Time (US East Coast)](https://time.is/ET) |
+| Jorge Alarcon | @alejandroxv1 | Americas | [ET - Eastern Time (US East Coast)](https://time.is/ET) |
+| Paris Pittman | @paris | Americas | [PT - Pacific Time (US West Coast)](https://time.is/PT) |
+- License and main account controlled by the CNCF
+[moderation guidelines]: ./moderation.md
+[GitHub Administration Team]: https://git.k8s.io/community/github-management#github-administration-team
+[trust system]: https://blog.discourse.org/2018/06/understanding-discourse-trust-levels/
[Chinese]: https://discuss.kubernetes.io/t/about-the-chinese-category/2881
[German]: https://discuss.kubernetes.io/t/about-the-german-category/3152
[Italian]: https://discuss.kubernetes.io/t/about-the-italian-category/2917/2
diff --git a/communication/slack-guidelines.md b/communication/slack-guidelines.md
index b016bf1f..0cb86ab3 100644
--- a/communication/slack-guidelines.md
+++ b/communication/slack-guidelines.md
@@ -1,90 +1,266 @@
-# SLACK GUIDELINES
+# Slack Guidelines
-Slack is the main communication platform for Kubernetes outside of our mailing lists. It’s important that conversation stays on topic in each channel, and that everyone abides by the Code of Conduct. We have over 50,000 members who should all expect to have a positive experience.
+Slack serves as the main communication platform for the Kubernetes community
+outside of the mailing lists. It’s important that conversations stays on topic
+in each channel, and that everyone abides by the [Code of Conduct][coc]. There
+are over 50,000 members who should all expect to have a positive experience.
-Chat is searchable and public. Do not make comments that you would not say on a video recording or in another public space. Please be courteous to others.
+Chat is searchable and public. Do not make comments that you would not say on a
+video recording or in another public space. Please be courteous to others.
-`@here` and `@channel` should be used rarely. Members will receive notifications from these commands and we are a global project - please be kind. Note: `@all` is only to be used by admins.
+- [Code of Conduct](#code-of-conduct)
+- [Admins](#admins)
+- [General Communication Guidelines](#general-communication-guidelines)
+ - [Workspace Channel History](#workspace-channel-history)
+ - [DM (Direct Message) Conversations](#dm-direct-message-conversations)
+ - [Specific Channel Rules](#specific-channel-rules)
+ - [Escalating and/or Reporting a Problem](#escalating-andor-reporting-a-problem)
+- [Requesting a Channel](#requesting-a-channel)
+- [Requesting a Bot, Token, or Webhook](#requesting-a-bot-token-or-webhook)
+- [Moderation](#moderation)
+ - [Admin Expectations and Guidelines]()
+ - [Sending Messages to the Channel]()
+ - [Processing Slack Requests](#processing-slack-requests)
+ - [Processing Channel Requests](#processing-channel-requests)
+ - [Processing Bot, Token, or Webhook Requests](#processing-bot-token-or-webhook-requests)
+ - [Inactivating Accounts](#inactivating-accounts)
-## CODE OF CONDUCT
-Kubernetes adheres to the [Kubernetes Code of Conduct](/code-of-conduct.md) throughout the project, and includes all communication mediums.
-## ADMINS
+## Code of Conduct
-- Check the [centralized list of administrators](./moderators.md) for contact information.
+Kubernetes adheres to the [Kubernetes Code of Conduct][coc] throughout the
+project, and includes all communication mediums.
-Slack Admins should make sure to mention this in the “What I do” section of their Slack profile, as well as for which time zone.
-To connect: please reach out in the #slack-admins channel, mention one of us in the specific channel where you have a question, or DM (Direct Message) one of us privately.
+## Admins
-### ADMIN EXPECTATIONS AND GUIDELINES
-* Adhere to Code of Conduct
-* Take care of spam as soon as possible, which may mean taking action by making members inactive
-* Moderating and fostering a safe environment for conversations
-* Bring Code of Conduct issues to the Steering Committee
-* Create relevant channels and list Code of Conduct in new channel welcome message
-* Help troubleshoot Slack issues
-* Review bot, token, and webhook requests
-* Be helpful!
+- Check the [centralized list of administrators][admins] for contact information.
-## CREATING CHANNELS
-Please reach out to the #slack-admins group with your request to create a new channel.
+Slack Admins will have listed that they are a Slack admin in their Slack profile,
+along with their specific timezone.
-Channels are dedicated to [SIGs, WGs](/sig-list.md), sub-projects, community topics, and related Kubernetes programs/projects.
-Channels are not:
-* company specific; cloud providers are ok with product names as the channel. Discourse will be about Kubernetes-related topics and not proprietary information of the provider.
-* private unless there is an exception: code of conduct matters, mentoring, security/vulnerabilities, github management, or steering committee.
+To connect: please reach out in the `#slack-admins` channel, mention an admin
+directly in the `#slack-admins` channel when you have a question, or DM (Direct
+Message) one privately.
-Typical naming conventions:
-#kubernetes-foo #sig-foo #meetup-foo #location-users #projectname
+---
-All channels need a documented purpose. Use this space to welcome the targeted community: promote your meetings, post agendas, etc.
+## General Communication Guidelines
-We may make special accommodations where necessary.
+### Workspace Channel History
-## ESCALATING and/or REPORTING A PROBLEM
-Join the #slack-admins channel or contact one of the admins in the closest timezone via DM directly and describe the situation. If the issue can be documented, please take a screenshot to include in your message.
+The Kubernetes Slack Workspace is archived and made available when the
+administrators have time. There is no explicit interval.
-What if you have a problem with an admin?
-Send a DM to another listed Admin and describe the situation OR
-If it’s a code of conduct issue, please send an email to conduct@kubernetes.io and describe the situation
+[Slack Archive Download]
-## BOTS, TOKENS, WEBHOOKS, OH MY
-Bots, tokens, and webhooks are reviewed on a case-by-case basis with most requests being rejected due to security, privacy, and usability concerns. Bots and the like tend to make a lot of noise in channels. Our Slack instance has over 50,000 people and we want everyone to have a great experience. Please join #slack-admins and have a discussion about your request before requesting the access.
+### DM (Direct Message) Conversations
-Typically OK: GitHub, CNCF requests, and tools/platforms that we use to contribute to Kubernetes
+Please do not engage in proprietary company specific conversations in the
+Kubernetes Slack instance. This workspace is meant for conversations related to
+Kubernetes open source topics and community. Proprietary conversations should
+occur in your company Slack and/or communication platforms. As with all
+communication, please be mindful of appropriateness, professionalism, and
+applicability to the Kubernetes community.
-## ADMIN MODERATION
-Be mindful of how you handle communication during stressful interactions. Administrators act as direct representatives of the community, and need to maintain a very high level of professionalism at all times. If you feel too involved in the situation to maintain impartiality or professionalism, that’s a great time to enlist the help of another admin.
+### Specific Channel Rules
-Try to take any situations that involve upset or angry members to DM or video chat. Please document these interactions for other Slack admins to review.
+Some channels have specific rules or guidelines. If they do, they will be listed
+in the purpose or pinned docs of that channel.
-Content will be automatically removed if it violates code of conduct or is a sales pitch. Admins will take a screenshot of such behavior in order to document the situation. The community takes such violations extremely seriously, and they will be handled swiftly.
+- `#kubernetes-dev` - Questions and discourse around upstream contributions and
+development to kubernetes,
+- `#kubernetes-careers` - Job openings for positions working with/on/around
+ Kubernetes. Post the job once and pin it. Pins expire after 30 days. Postings
+ must include:
+ - A link to the posting or job description.
+ - The business name that will employ the Kubernetes hire.
+ - The location of the role or if remote is OK.
-## INACTIVATING ACCOUNTS
-For reasons listed below, admins may inactivate individual Slack accounts. Due to Slack’s framework, it does not allow for an account to be banned or suspended in the traditional sense. [Visit Slack’s policy on this.](https://get.Slack.help/hc/en-us/articles/204475027-Deactivate-a-member-s-account)
+### Escalating and/or Reporting a Problem
-* Spreading spam content in DMs and/or channels
-* Not adhering to the code of conduct set forth in DMs and/or channels
-* Overtly selling products, related or unrelated to Kubernetes
+The Kubernetes Slack has an integrated tool for reporting issues. It may be
+accessed by clicking on "More actions", the "`...`" to the right of a message,
+and selecting **Report message**.
-## SPECIFIC CHANNEL RULES
+This will open a new dialog prompt where you may describe the problem. When
+done, it will send the reported message and your comments to **BOTH** the Slack
+admins and [Code of Conduct Committee (CoCC)].
-In the case that certain channels have rules or guidelines, they will be listed in the purpose or pinned docs of that channel.
+A Slack admin or CoCC member will work to resolve the issue or reach out for
+more information.
-#kubernetes-dev = questions and discourse around upstream contributions and development to kubernetes
-#kubernetes-careers = job openings for positions working with/on/around Kubernetes. Post the job once and pin it. Pins expire after 30 days. Postings must include:
-- A link to the posting or job description
-- The business name that will employ the Kubernetes hire
-- The location of the role or if remote is OK
+If the issue has not been responded to in a timely manner, Join the
+`#slack-admins` channel and alert the admins to the current issue. Many Slack
+admins watch the channel and should respond to you shortly.
-## DM (Direct Message) Conversations
+As a last resort, or if the issue is private, contact one of the admins in the
+[closest timezone][admins] via DM directly and describe the situation. If the
+issue can be documented, please take a screenshot to include in your message.
-Please do not engage in proprietary company specific conversations in the Kubernetes Slack instance. This is meant for conversations around related Kubernetes open source topics and community. Proprietary conversations should occur in your company Slack and/or communication platforms. As with all communication, please be mindful of appropriateness, professionalism, and applicability to the Kubernetes community.
+**What if you have a problem with an admin?**
+Send a DM to another [listed admin][admins] and describe the situation. If it’s
+a [code of conduct][coc] issue, please send an email to <conduct@kubernetes.io>
+and describe the situation.
-Note:
-We archive the entire workgroup's slack data in zip files when we have time. [The latest archive is from June 2016-November 2018.](https://drive.google.com/drive/folders/1idJkWcDuSfs8nFUm-1BgvzZxCqPMpDCb?usp=sharing)
+---
+
+## Requesting a Channel
+
+- Create a [GitHub Issue] using the Slack Request template.
+- Include the desired name of the channel. Typical naming conventions follow:
+ - `#kubernetes-foo`
+ - `#sig-foo`
+ - `#meetup-foo`
+ - `#location-user`
+ - `#projectname`
+- In the issue describe the purpose of the Channel. Channels should be
+ dedicated to [SIGs, WGs, UGs][sig-list], sub-projects, community topics, or
+ related Kubernetes programs/projects.
+ - Linking to resources such as the PR adding the subproject will speed in the
+ validation and processing of the channel creation request.
+ - Channels are **NOT**:
+ - Company specific; cloud providers are ok with product names as the channel.
+ Discourse will be about Kubernetes-related topics and not proprietary
+ information of the provider.
+ - Private channels with the exception of: code of conduct matters, mentoring,
+ security/vulnerabilities, github management, or steering committee.
+ - Special accommodations will be made where necessary.
+
+After you submit your request the Slack admins will review and follow-up with
+any questions in the issue. If two admins add their support for the creation of
+the channel, an admin will assign it to themselves and close the issue once it
+has been created.
+
+
+## Requesting a Bot, Token, or Webhook
+
+**READ BEFORE SUBMITTING A REQUEST**
+
+Bots, tokens, and webhooks are reviewed on a case-by-case basis with most
+requests being rejected due to security, privacy, and usability concerns. Bots
+and the like tend to make a lot of noise in channels. The Kubernetes Slack
+instance has over 50,000 members and it is the role of the Slack admins to
+ensure everyone has a great experience.
+
+Typically approved requests include: GitHub, CNCF requests, or other
+tools/platforms used to aid in the management of Slack itself.
+
+- Create a [GitHub Issue] using the Slack Request template.
+- In the description, describe the request, its intended purpose and benefit to
+ the community. Supplying links to supporting content such as a document
+ outlining what OAuth scopes that are requested, and why are
+ **STRONGLY ENCOURAGED**.
+
+After you submit your request the Slack admins will review and follow-up with
+any questions in the issue. If consensus can be reached among the admins, the
+request will be approved and follow-up communication on implementation will be
+discussed in Slack itself.
+
+---
+
+## Moderation
+
+### Admin Expectations and Guidelines
+
+Admins should adhere to the general Kubernetes project [moderation guidelines].
+
+Additionally, admins should ensure they have 2-factor auth enabled for their
+account and mention they are a Slack admin in the "What I do" portion of their
+profile. This message should also include the timezone they are representing.
+
+Be mindful of how you handle communication during stressful interactions.
+Administrators act as direct representatives of the community, and need to
+maintain a very high level of professionalism at all times. If you feel too
+involved in the situation to maintain impartiality or professionalism, that’s
+a great time to enlist the help of another admin.
+
+Try to take any situations that involve upset or angry members to DM or video
+chat. Please document these interactions for other Slack admins to review.
+
+Content will be removed if it violates code of conduct or is a sales pitch.
+Admins will take a screenshot of such behavior in order to document the
+situation. The community takes such violations extremely seriously, and the
+admins are empowered to handle it swiftly.
+
+
+### Sending Messages to the Channel
+
+`@all`, `@here` and `@channel` should be used rarely. Members will receive
+notifications from these commands. Remember Kubernetes is a global project -
+please be kind.
+
+
+### Processing Slack Requests
+
+Admins are tasked with processing requests for channels and other things such as
+bots, tokens or webhook.
+
+
+#### Processing Channel Requests
+
+Channel requests should be reviewed for their relation and relevance to the
+Kubernetes community. Typically channels should be dedicated to SIGs, WGs, UGs,
+sub-projects, community topics, and other things related to Kubernetes programs
+and projects.
+
+For Kubernetes project centric requests, validate them against the [sig-list],
+or request a link to a related issue/PR, or mailing list discussion for the
+requested Channel.
+
+Small external projects are encouraged to use the channel of the SIG, WG, or UG
+most relevant to them. Other things such as programming language specific
+channels are discouraged and should in turn be steered to `#kubernetes-client`
+or communication avenues commonly used by their specific language.
+
+In general, use your best judgment.
+
+Once two admins have agreed to sponsor the channel, an admin should assign the
+issue to themselves, and create the channel. A message should then be pinned
+with the below text:
+```
+This channel abides to the Kubernetes Code of Conduct - http://git.k8s.io/community/code-of-conduct.md
+Contact conduct@kubernetes.io or an admin in the #slack-admins channel if there is a problem.
+```
+
+
+#### Processing Bot, Token, or Webhook Requests
+
+Requests should first be evaluated for their relevance to the project. Typically
+approved requests are related to: GitHub, the CNCF, or other tools/platforms
+used to aid in the management of Slack. Requests outside of this scope should be
+heavily scrutinized and reviewed for **ANY** potential security, privacy, or
+usability concerns.
+
+It is best to err on the side of not allowing a Bot, Token or Webhook request
+than allowing one.
+
+If consensus among the admins can be reached regarding the request; an admin
+should assign the issue to themselves, and reach out to the request contact
+regarding next steps.
+
+
+### Inactivating Accounts
+
+For the reasons listed below, admins may inactivate individual Slack accounts.
+Due to Slack’s framework, it does not allow for an account to be banned or
+suspended in the traditional sense, merely inactivated. See [Slack’s policy on
+inactivated accounts] for more information.
+
+- Spreading spam content in DMs and/or channels.
+- Not adhering to the code of conduct set forth in DMs and/or channels.
+- Overtly selling products, related or unrelated to Kubernetes.
+
+
+[coc]: /code-of-conduct.md
+[admins]: ./moderators.md#Slack
+[Slack Archive Download]: https://drive.google.com/drive/folders/1idJkWcDuSfs8nFUm-1BgvzZxCqPMpDCb?usp=sharing
+[Code of Conduct Committee (CoCC)]: /committee-code-of-conduct/README.md
+[GitHub Issue]: https://github.com/kubernetes/community/issues/new/choose
+[sig-list]: /sig-list.md
+[Slack’s policy on inactivated accounts]: https://get.Slack.help/hc/en-us/articles/204475027-Deactivate-a-member-s-account
+[moderation guidelines]: ./moderation.md \ No newline at end of file
diff --git a/communication/youtube-guidelines.md b/communication/youtube-guidelines.md
new file mode 100644
index 00000000..8dd88bf7
--- /dev/null
+++ b/communication/youtube-guidelines.md
@@ -0,0 +1,137 @@
+# YouTube Channel Guidelines
+
+YouTube serves as primary means of distribution for recorded Kubernetes
+community content including Zoom recordings, official project Workshops and
+Contributor Summit sessions.
+
+- [Code of Conduct](#Code-of-Conduct)
+- [Admins](#Admins)
+- [Meeting Playlists](#meeting-playlists)
+ - [Uploading Guidelines for Collaborators](#Uploading-Guidelines-for-Collaborators)
+- [Admin Responsibilities](#Admin-Responsibilities)
+ - [Moderator Expectations and Guidelines](#Moderator-Expectations-and-Guidelines)
+ - [Trimming and Editing Recordings](#Trimming-and-Editing-Recordings)
+ - [Streaming Events](#Streaming-Events)
+
+
+## Code of Conduct
+
+Kubernetes adheres to the [Kubernetes Code of Conduct][coc] throughout the
+project, and includes all communication mediums.
+
+
+## Admins
+
+- Check the [centralized list of administrators] for contact information.
+
+
+## Meeting Playlists
+
+The [Kubernetes YouTube Channel] has separate playlists for each SIG, WG, UG
+meeting recordings, as well as recordings of other recurring events such as the
+Kubernetes [Community meeting], [Office Hours], [Meet our Contributors] and
+others.
+
+To better serve the community, [collaboration] has been enabled to share the
+management of the playlists. Anyone with the appropriate link to the particular
+playlist can upload videos _to that particular playlist_ (links & playlists are
+one-to-one).
+
+Each group's playlist link will be shared with the group's leadership via Slack
+and the group leadership Google Group. Other playlists links, for example Office Hours, will be shared with the appropriate point(s) of contact.
+
+
+### Uploading Guidelines for Collaborators
+
+**NOTE:** If you're using a G Suite account you may need to [loosen the
+permissions in your YouTube settings]. If you have any questions reach out to
+the [YouTube admins] or [SIG Contributor Experience].
+
+With collaboration comes great responsibility. Playlist collaborators in the
+community must use it responsibly and are subject to the following guidelines:
+
+- Group leaders or other appropriate point(s) of contact are the primary
+ managers for the playlist, once collaboration is configured. YouTube admins
+ should **only** be contacted if the issue cannot be resolved by one of the
+ playlist owners.
+
+- Upload responsibilities belong to the group leaders or other appropriate
+ point(s) of contact. YouTube admins should **only** be contacted if the
+ issue cannot be resolved by the playlist owners.
+
+- Please post only related content; for example: meeting recordings, in the
+ appropriate playlists.
+ - Posting of any exceedingly inappropriate content (i.e. NSFW content) will
+ result in ***immediate*** suspension of privileges.
+
+- All posted videos should use the naming convention:
+ `Kubernetes [Name of Playlist’s Group] YYYYMMDD`
+ - **Example:** `Kubernetes SIG Service Catalog 20161129`
+
+- Playlists should be organized chronologically for ease of use. This can be
+ done by updating the default ordering of the Playlist:
+ - From within the Playlist settings, click on the **Basic** Tab.
+ - From the **Ordering** dropdown select "Date added (newest)".
+ - Save the changes and the order should automatically be updated.
+
+- Please do not remove any already-published content from the playlists without
+ checking with the YouTube admins.
+
+- For any small issues that arise, for example improper naming or ordering, you
+ may be asked by the YouTube admins to attempt to resolve the issue yourself.
+
+- Any egregious or habitual violations (3 or more per quarter) of the above
+ rules will result in suspension of collaboration privileges for the particular
+ individual or for the entire playlist if the individual can’t be identified.
+ - If an individual is suspended, the playlist link will be remade and the new
+ link will be shared with the non-offending individuals.
+ - If playlist collaboration is suspended, the uploading and management of
+ the playlist will be handled by the YouTube admins. Uploading the
+ problematic group's playlist will not be considered a priority, and delays
+ in uploading should be expected.
+
+
+## Admin Responsibilities
+
+### Moderator Expectations and Guidelines
+
+Moderators should adhere to the general Kubernetes project
+[moderation guidelines].
+
+Moderation responsibilities for YouTube admins is minimal and is centered around
+checking and removing any potential comments that would violate the [Code of
+Conduct][coc]. Any potential violations should sent to <conduct@kubernetes.io>.
+
+
+### Trimming and Editing Recordings
+
+YouTube admins may be asked to help [trim] and [edit] recordings. Certain events
+such as the Contributor Summits are not uploaded directly to YouTube and require
+editing. In other instances a Zoom recording may have significant dead-space
+leading the meeting itself. In these instances the playlist owners may be asked
+first to trim a recording; however there are times where this is inopportune and
+an admin may step in.
+
+
+### Streaming Events
+
+YouTube admins with a system capable of streaming may be asked to stream public
+Kubernetes Community events such as the weekly [Community Meeting],
+[Office Hours], [Meet our Contributors], or other publicly streamed events.
+<!--
+TODO: Add details on streaming/using OBS after https://github.com/kubernetes/community/pull/3337 is merged.
+-->
+
+
+[coc]: /code-of-conduct.md
+[Kubernetes YouTube Channel]: https://www.youtube.com/channel/UCZ2bu0qutTOM0tHYa_jkIwg
+[collaboration]: https://support.google.com/youtube/answer/6109639
+[loosen the permissions in your YouTube settings]: https://support.google.com/a/answer/6212415
+[SIG Contributor Experience]: https://git.kubernetes.io/community/sig-contributor-experience
+[centralized list of administrators]: ./moderators.md
+[YouTube admins]: ./moderators.md#YouTube-Channel
+[trim]: https://support.google.com/youtube/answer/9057455?hl=en
+[edit]: https://support.google.com/youtube/topic/9257530?hl=en&ref_topic=9257610
+[Community Meeting]: /events/community-meeting.md
+[Office Hours]: /events/office-hours.md
+[Meet our Contributors]: /mentoring/meet-our-contributors.md
diff --git a/communication/zoom-guidelines.md b/communication/zoom-guidelines.md
index ab3d450a..df183344 100644
--- a/communication/zoom-guidelines.md
+++ b/communication/zoom-guidelines.md
@@ -8,7 +8,7 @@ has to moderate a meeting in all senses of the word from starting and stopping
the meeting, to acting on [code of conduct] issues.
These guidelines are meant as a tool to help Kubernetes members manage their
-Zoom resources.
+Zoom resources.
Check the main [moderation] page for more information on other tools and general
moderation guidelines.
@@ -28,7 +28,7 @@ listed in the [centralized list of administrators].
### Obtaining a Zoom license
-Ensure that all SIG/WG leads, chairs, and any other necessary trusted owners
+Ensure that all SIG/WG leads, chairs, and any other necessary trusted owners
have access to the `k-sig-<foo>-leads@googlegroups.com` account as described
in the [sig creation procedure]. Once done, contact one of the [Zoom Admins]
to obtain a Zoom licence.
@@ -43,9 +43,9 @@ To create a meeting with **moderation** enabled, ensure the following:
- Have the [latest version] of the Zoom client installed.
- Be logged in as the leads account associated with the meeting **OR** use the
- [host key] to "claim host".
+ [host key] to "claim host".
- Configure a meeting setup through the "Meeting" menu in the leads Zoom account.
- **NOTE:** Do **NOT** use the "Personal Meeting ID". This will create an
+ **NOTE:** Do **NOT** use the "Personal Meeting ID". This will create an
"ad-hoc" meeting that is time-bounded and without moderation capability.
After the meeting has started:
@@ -60,7 +60,7 @@ After the meeting has started:
If you're dealing with a troll or bad actor:
-- Put the troll or bad actor on **hold**. The participant will be put into a
+- Put the troll or bad actor on **hold**. The participant will be put into a
"waiting room" and will not be able to participate in the call until the host
removes the hold.
- Remove the participant. Please be cautious when testing or using this feature,
@@ -76,7 +76,7 @@ options after scrolling over the participants name/information.
Hosts **must** be comfortable with how to use these moderation tools and the
Zoom settings in general. Make sure whoever is running your meeting is equipped
-with the right knowledge and skills. If you have any questions or concerns,
+with the right knowledge and skills. If you have any questions or concerns,
reach out to the [Zoom Admins] and they will be able to provide further guidance
and training.
@@ -84,7 +84,7 @@ and training.
#### Related moderation documentation
- Zoom has [documentation on how to use their moderation tools].
-- Members of the _kubernetes-sig-leads@_ group have access to an extensive
+- Members of the _kubernetes-sig-leads@_ group have access to an extensive
[best practices doc] with screenshots going over the community Zoom best
practices.
@@ -197,13 +197,13 @@ Thanks for making Kubernetes meetings work great!
[CNCF Service Desk]: https://github.com/cncf/servicedesk
[Kubernetes Code of Conduct]: /code-of-conduct.md
[code of conduct committee]: /committee-code-of-conduct/README.md
-[SIG Creation procedure]: /sig-governance.md#sig-creation-and-maintenance-procedure
+[SIG Creation procedure]: /sig-wg-lifecycle.md#communicate
[latest version]: https://zoom.us/download
[documentation on how to use their moderation tools]: https://support.zoom.us/hc/en-us/articles/201362603-Host-Controls-in-a-Meeting
[best practices doc]: https://docs.google.com/document/d/1fudC_diqhN2TdclGKnQ4Omu4mwom83kYbZ5uzVRI07w/edit?usp=sharing
[Kubernetes channel]: https://www.youtube.com/c/kubernetescommunity
[SIG Contributor Experience]: /sig-contributor-experience
-[Please follow this guideline for more details.]: ./K8sYoutubeCollaboration.md
+[Please follow this guideline for more details.]: ./youtube-guidelines.md
[centralized list of administrators]: ./moderators.md
[documentation on how to use their screen sharing feature]: https://support.zoom.us/hc/en-us/articles/201362153-How-Do-I-Share-My-Screen
[lots of things that can go wrong]: https://www.youtube.com/watch?v=JMOOG7rWTPg
diff --git a/contributors/design-proposals/api-machinery/csi-new-client-library-procedure.md b/contributors/design-proposals/api-machinery/csi-new-client-library-procedure.md
index dba0b0fb..f92bd79d 100644
--- a/contributors/design-proposals/api-machinery/csi-new-client-library-procedure.md
+++ b/contributors/design-proposals/api-machinery/csi-new-client-library-procedure.md
@@ -50,8 +50,6 @@ Development would be based on a generated client using OpenAPI and [swagger-code
* Proto encoding
- * Generated examples
-
### Client Support Level
* Alpha [![Client Support Level](https://img.shields.io/badge/kubernetes%20client-alpha-green.svg?style=plastic&colorA=306CE8)](/contributors/design-proposals/api-machinery/csi-new-client-library-procedure.md#client-support-level)
diff --git a/contributors/design-proposals/architecture/scope.md b/contributors/design-proposals/architecture/scope.md
new file mode 100644
index 00000000..c81f6cc7
--- /dev/null
+++ b/contributors/design-proposals/architecture/scope.md
@@ -0,0 +1,342 @@
+# Kubernetes scope
+
+Purpose of this doc: Clarify factors affecting decisions regarding
+what is and is not in scope for the Kubernetes project.
+
+Related documents:
+* [What is Kubernetes?](https://kubernetes.io/docs/concepts/overview/what-is-kubernetes/)
+* [Kubernetes design and architecture](architecture.md)
+* [Kubernetes architectural roadmap (2017)](architectural-roadmap.md)
+* [Design principles](principles.md)
+* [Kubernetes resource management](resource-management.md)
+
+Kubernetes is a portable, extensible open-source platform for managing
+containerized workloads and services, that facilitates both
+declarative configuration and automation. Workload portability is an
+especially high priority. Kubernetes provides a flexible, easy-to-run,
+secure foundation for running containerized applications on any cloud
+provider or your own systems.
+
+While not a full distribution in the Linux sense, adoption of
+Kubernetes has been facilitated by the fact that the upstream releases
+are usable on their own, with minimal dependencies (e.g., etcd, a
+container runtime, and a networking implementation).
+
+The high-level scope and goals are often insufficient for making
+decisions about where to draw the line, so this documents where the
+line is, the rationale for some past decisions, and some general
+criteria that have been applied, including non-technical
+considerations. For instance, user adoption and continued operation of
+the project itself are also important factors.
+
+## Significant areas
+
+More details can be found below, but a concise list of areas in scope follows:
+* Containerized workload execution and management
+* Service discovery, load balancing, and routing
+* Workload identity propagation and authentication
+* Declarative resource management platform
+* Command-line tool
+* Web dashboard (UI)
+* Cluster lifecycle tools
+* Extensibility to support execution and management in diverse environments
+* Multi-cluster management tools and systems
+* Project GitHub automation and other process automation
+* Project continuous build and test infrastructure
+* Release tooling
+* Documentation
+* Usage data collection mechanisms
+
+## Scope domains
+
+Most decisions are regarding whether any part of the project should
+undertake efforts in a particular area. However, some decisions may
+sometimes be necessary for smaller scopes. The term "core" is sometimes
+used, but is not well defined. The following are scopes that may be relevant:
+* Kubernetes project github orgs
+ * All github orgs
+ * The kubernetes github org
+ * The kubernetes-sigs and kubernetes-incubator github orgs
+ * The kubernetes-client github org
+ * Other github orgs
+* Release artifacts
+ * The Kubernetes release bundle
+ * Binaries built in kubernetes/kubernetes
+ * “core” server components: apiserver, controller manager, scheduler, kube-proxy, kubelet
+ * kubectl
+ * kubeadm
+ * Other images, packages, etc.
+* The kubernetes/kubernetes repository (aka k/k)
+ * master branch
+ * kubernetes/kubernetes/master/pkg
+ * kubernetes/kubernetes/master/staging
+* [Functionality layers](architectural-roadmap.md)
+ * required
+ * pluggable
+ * optional
+ * usable independently of the rest of Kubernetes
+
+## Other inclusion considerations
+
+The Kubernetes project is a large, complex effort.
+
+* Is the functionality consistent with the existing implementation
+ conventions, design principles, architecture, and direction?
+
+* Do the subproject owners, approvers, reviewers, and regular contributors
+ agree to maintain the functionality?
+
+* Do the contributors to the functionality agree to follow the
+ project’s development conventions and requirements, including CLA,
+ code of conduct, github and build tooling, testing, documentation,
+ and release criteria, etc.?
+
+* Does the functionality improve existing use cases, or mostly enable
+ new ones? The project isn't completely blocking new functionality
+ (more reducing the rate of expansion), but it is trying to
+ limit additions to kubernetes/kubernetes/master, and aims to improve the
+ quality of the functionality that already exists.
+
+* Is it needed by project contributors? Example: We need cluster
+ creation and upgrade functionality in order to run end-to-end tests.
+
+* Is it necessary in order to enable workload portability?
+
+* Is it needed in order for upstream releases to be usable? For
+ example, things without which users otherwise were
+ reverse-engineering Kubernetes to figure out, and/or copying code
+ out of Kubernetes itself to make work.
+
+* Is it functionality that users expect, such as because other
+ container platforms and/or service discovery and routing mechanisms
+ provide it? If a capability that relates to Kubernetes's fundamental
+ purpose were to become table stakes in the industry, Kubernetes
+ would need to support it in order to stay relevant. (Whether it
+ would need to be addressed by the core project would depend on the
+ other criteria.)
+
+* Is there sufficiently broad user demand and/or sufficient expected
+ user benefit for the functionality?
+
+* Is there an adequate mechanism to discover, deploy, express a
+ dependency on, and upgrade the functionality if implemented using an
+ extension mechanism? Are there consistent notions of releases, maturity,
+ quality, version skew, conformance, etc. for extensions?
+
+* Is it needed as a reference implementation exercising extension
+ points or other APIs?
+
+* Is the functionality sufficiently general-purpose?
+
+* Is it an area where we want to provide an opinionated solution
+ and/or where fragmentation would be problematic for users, or are
+ there many reasonable alternative approaches and solutions to the
+ problem?
+
+* Is it an area where we want to foster exploration and innovation in
+ the ecosystem?
+
+* Has the ecosystem produced adequate solutions on its own? For
+ instance, have ecosystem projects taken on requirements of the
+ Kubernetes project, if needed? Example: etcd3 added a number of features
+ and other improvements to benefit Kubernetes, so the project didn't
+ need to launch a separate storage effort.
+
+* Is there an acceptable home for the recommended ecosystem solution(s)?
+ Example: the [CNCF Sandbox](https://github.com/cncf/toc/blob/master/process/sandbox.md) is one possible home
+
+* Has the functionality been provided by the project/release/component
+ historically?
+
+## Technical scope details and rationale
+
+### Containerized workload execution and management
+
+Including:
+* common general categories of workloads, such as stateless, stateful, batch, and cluster services
+* provisioning, allocation, accessing, and managing compute, storage, and network resources on behalf of the workloads, and enforcement of security policies on those resources
+* workload prioritization, capacity assessment, placement, and relocation (aka scheduling)
+* graceful workload eviction
+* local container image caching
+* configuration and secret distribution
+* manual and automatic horizontal and vertical scaling
+* deployment, progressive (aka rolling) upgrades, and downgrades
+* self-healing
+* exposing container logs, status, health, and resource usage metrics for collection
+
+### Service discovery, load balancing, and routing
+
+Including:
+* endpoint tracking and discovery, including pod and non-pod endpoints
+* the most common L4 and L7 Internet protocols (TCP, UDP, SCTP, HTTP, HTTPS)
+* intra-cluster DNS configuration and serving
+* external DNS configuration
+* accessing external services (e.g., imported services, Open Service Broker)
+* exposing traffic latency, throughput, and status metrics for collection
+* access authorization
+
+### Workload identity propagation and authentication
+
+Including:
+* internal identity (e.g., SPIFFE support)
+* external identity (e.g., TLS certificate management)
+
+### Declarative resource management platform
+
+Including:
+* CRUD API operations and behaviors, diff, patch, dry run, watch
+* declarative updates (apply)
+* resource type definition, registration, discovery, documentation, and validation mechanisms
+* pluggable authentication, authorization, admission (API-level policy enforcement), and audit-logging mechanisms
+* Namespace (resource scoping primitive) lifecycle
+* resource instance persistence and garbage collection
+* asynchronous event reporting
+* API producer SDK
+* API client SDK / libraries in widely used languages
+* dynamic, resource-oriented CLI, as a reference implementation for interacting with the API and basic tool for declarative and imperative management
+ * simplifies getting started and avoids complexities of documenting the system with just, for instance, curl
+
+### Command-line tool
+
+Since some Kubernetes primitives are fairly low-level, in addition to
+general-purpose resource-oriented operations, the CLI also supports
+“porcelain” for common simple, domain-specific operational operations (both
+status/progress extraction and mutations) that don’t have discrete API
+implementations, such as run, expose, rollout, cp, top, cordon, and
+drain. And there should be support for non-resource-oriented APIs,
+such as exec, logs, attach, port-forward, and proxy.
+
+### Web dashboard (UI)
+
+The project supported a dashboard, initially built into the apiserver,
+almost from the beginning. Other projects in the space had UIs and
+users expected one. There wasn’t a vendor-neutral one in the
+ecosystem, however, and a solution was needed for the project's local
+cluster environment, minikube. The dashboard has also served as a UI
+reference implementation and a vehicle to drive conventions (e.g.,
+around resource category terminology). The dashboard has also been
+useful as a tool to demonstrate and to learn about Kubernetes
+concepts, features, and behaviors.
+
+### Cluster lifecycle tools
+
+Cluster lifecycle includes provisioning, bootstrapping,
+upgrade/downgrade, and teardown. The project develops several such tools.
+Tools are needed for the following scenarios/purposes:
+* usability of upstream releases: at least one solution that can be used to bootstrap the upstream release (e.g., kubeadm)
+* testing: solutions that can be used to run multi-node end-to-end tests (e.g., kind), integration tests, upgrade/downgrade tests, version-skew tests, scalability tests, and other types of tests the projects deems necessary to ensure adequate release quality
+* portable, low-dependency local environment: at least one local environment (e.g., minikube), in order to simplify documentation tutorials that require a cluster to exist
+
+### Extensibility to support execution and management in diverse environments
+
+Including:
+* CRI
+* CNI
+* CSI
+* external cloud providers
+* KMS providers
+* OSB brokers
+* Cluster APIs
+
+### Multi-cluster management tools and systems
+
+Many users desire to operate in and deploy applications to multiple
+geographic locations and environments, even across multiple providers.
+This generally requires managing multiple Kubernetes clusters. While
+general deployment pipeline tools and continuous deployment systems
+are not in scope, the project has explored multiple mechanisms to
+simplify management of resources across multiple clusters, including
+Federation v1, Federation v2, and the Cluster Registry API.
+
+### Project GitHub automation and other process automation
+
+As one of the largest, most active projects on Github, Kubernetes has
+some extreme needs.
+
+Including:
+* prow
+* gubernator
+* velodrome and kettle
+* website infrastructure
+* k8s.io
+
+### Project continuous build and test infrastructure
+
+Including:
+* prow
+* tide
+* triage dashboard
+
+### Release tooling
+
+Including:
+* anago
+
+### Documentation
+
+Documentation of project-provided functionality and components, for
+multiple audiences, including:
+* application developers
+* application operators
+* cluster operators
+* ecosystem developers
+* distribution providers, and others who want to port Kubernetes to new environments
+* project contributors
+
+### Usage data collection mechanisms
+
+Including:
+* Spartakus
+
+## Examples of projects and areas not in scope
+
+Some of these are obvious, but many have been seriously deliberated in the
+past.
+* The resource instance store (etcd)
+* Container runtimes, other than current grandfathered ones
+* Network and storage plugins, other than current grandfathered ones
+* CoreDNS
+ * Since intra-cluster DNS is in scope, we need to ensure we have
+ some solution, which has been kubedns, but now that there is an
+ adequate alternative outside the project, we are adopting it.
+* Service load balancers (e.g., Envoy, Linkerd), other than kube-proxy
+* Cloud provider implementations, other than current grandfathered ones
+* Container image build tools
+* Image registries and distribution mechanisms
+* Identity (user/group) sources of truth (e.g., LDAP)
+* Key management systems (e.g., Vault)
+* CI, CD, and GitOps (push to deploy) systems, other than
+ infrastructure used to build and test the Kubernetes project itself
+* Application-level services, such as middleware (e.g., message
+ buses), data-processing frameworks (e.g., Spark), machine-learning
+ frameworks (e.g., Kubeflow), databases (e.g., Mysql), caches, nor
+ cluster storage systems (e.g., Ceph) as built-in services. Such
+ components can run on Kubernetes, and/or can be accessed by
+ applications running on Kubernetes through portable mechanisms, such
+ as the Open Service Broker. Application-specific Operators (e.g.,
+ Cassandra Operator) are also not in scope.
+* Application and cluster log aggregation and searching, application
+ and cluster monitoring aggregation and dashboarding (other than
+ heapster, which is grandfathered), alerting, application performance
+ management, tracing, and debugging tools
+* General-purpose machine configuration (e.g., Chef, Puppet, Ansible,
+ Salt), maintenance, automation (e.g., Rundeck), and management systems
+* Templating and configuration languages (e.g., jinja, jsonnet,
+ starlark, hcl, dhall, hocon)
+* File packaging tools (e.g., helm, kpm, kubepack, duffle)
+* Managing non-containerized applications in VMs, and other general
+ IaaS functionality
+* Full Platform as a Service functionality
+* Full Functions as a Service functionality
+* [Workflow
+ orchestration](https://github.com/kubernetes/kubernetes/pull/24781#issuecomment-215914822):
+ "Workflow" is a very broad, diverse area, with solutions typically
+ tailored to specific use cases (e.g., data-flow graphs, data-driven
+ processing, deployment pipelines, event-driven automation,
+ business-process execution, iPaaS) and specific input and event
+ sources, and often requires arbitrary code to evaluate conditions,
+ actions, and/or failure handling.
+* Other forms of human-oriented and programmatic interfaces over the
+ Kubernetes API other than “basic” CLIs (e.g., kubectl) and UI
+ (dashboard), such as mobile dashboards, IDEs, chat bots, SQL,
+ interactive shells, etc.
diff --git a/contributors/design-proposals/auth/security.md b/contributors/design-proposals/auth/security.md
index 846b2c39..d2c3e0e2 100644
--- a/contributors/design-proposals/auth/security.md
+++ b/contributors/design-proposals/auth/security.md
@@ -181,13 +181,13 @@ An administrator must be able to properly secure Kubernetes at a policy level,
rather than at an implementation level, and schema changes over time should not
risk unintended security leaks.
-Both the Kubelet and Kube Proxy need information related to their specific roles -
-for the Kubelet, the set of pods it should be running, and for the Proxy, the
-set of services and endpoints to load balance. The Kubelet also needs to provide
+Both the kubelet and kube-proxy need information related to their specific roles -
+for the kubelet, the set of pods it should be running, and for the kube-proxy, the
+set of services and endpoints to load balance. The kubelet also needs to provide
information about running pods and historical termination data. The access
-pattern for both Kubelet and Proxy to load their configuration is an efficient
-"wait for changes" request over HTTP. It should be possible to limit the Kubelet
-and Proxy to only access the information they need to perform their roles and no
+pattern for both kubelet and kube-proxy to load their configuration is an efficient
+"wait for changes" request over HTTP. It should be possible to limit the kubelet
+and kube-proxy to only access the information they need to perform their roles and no
more.
The controller manager for Replication Controllers and other future controllers
diff --git a/contributors/design-proposals/scheduling/images/scheduling-framework-extensions.png b/contributors/design-proposals/scheduling/images/scheduling-framework-extensions.png
deleted file mode 100644
index 25f50471..00000000
--- a/contributors/design-proposals/scheduling/images/scheduling-framework-extensions.png
+++ /dev/null
Binary files differ
diff --git a/contributors/design-proposals/scheduling/images/scheduling-framework-threads.png b/contributors/design-proposals/scheduling/images/scheduling-framework-threads.png
deleted file mode 100644
index ae9e1965..00000000
--- a/contributors/design-proposals/scheduling/images/scheduling-framework-threads.png
+++ /dev/null
Binary files differ
diff --git a/contributors/design-proposals/scheduling/scheduling-framework.md b/contributors/design-proposals/scheduling/scheduling-framework.md
index 39ff7db2..1de43aab 100644
--- a/contributors/design-proposals/scheduling/scheduling-framework.md
+++ b/contributors/design-proposals/scheduling/scheduling-framework.md
@@ -1,436 +1,9 @@
Status: Draft
-Created: 2018-04-09 / Last updated: 2018-08-15
+Created: 2018-04-09 / Last updated: 2019-03-01
Author: bsalamat
Contributors: misterikkit
---
-#
-- [SUMMARY ](#summary-)
-- [OBJECTIVE](#objective)
- - [Terminology](#terminology)
-- [BACKGROUND](#background)
-- [OVERVIEW](#overview)
- - [Non-goals](#non-goals)
-- [DETAILED DESIGN](#detailed-design)
- - [Bare bones of scheduling](#bare-bones-of-scheduling)
- - [Communication and statefulness of plugins](#communication-and-statefulness-of-plugins)
- - [Plugin registration](#plugin-registration)
- - [Extension points](#extension-points)
- - [Scheduling queue sort](#scheduling-queue-sort)
- - [Pre-filter](#pre-filter)
- - [Filter](#filter)
- - [Post-filter](#post-filter)
- - [Scoring](#scoring)
- - [Post-scoring/pre-reservation](#post-scoringpre-reservation)
- - [Reserve](#reserve)
- - [Permit](#permit)
- - [Approving a Pod binding](#approving-a-pod-binding)
- - [Reject](#reject)
- - [Pre-Bind](#pre-bind)
- - [Bind](#bind)
- - [Post Bind](#post-bind)
-- [USE-CASES](#use-cases)
- - [Dynamic binding of cluster-level resources](#dynamic-binding-of-cluster-level-resources)
- - [Gang Scheduling](#gang-scheduling)
-- [OUT OF PROCESS PLUGINS](#out-of-process-plugins)
-- [CONFIGURING THE SCHEDULING FRAMEWORK](#configuring-the-scheduling-framework)
-- [BACKWARD COMPATIBILITY WITH SCHEDULER v1](#backward-compatibility-with-scheduler-v1)
-- [DEVELOPMENT PLAN](#development-plan)
-- [TESTING PLAN](#testing-plan)
-- [WORK ESTIMATES ](#work-estimates)
-
-# SUMMARY
-
-This document describes the Kubernetes Scheduling Framework. The scheduling
-framework implements only basic functionality, but exposes many extension points
-for plugins to expand its functionality. The plan is that this framework (with
-its plugins) will eventually replace the current Kubernetes scheduler.
-
-# OBJECTIVE
-
-- make scheduler more extendable.
-- Make scheduler core simpler by moving some of its features to plugins.
-- Propose extension points in the framework.
-- Propose a mechanism to receive plugin results and continue or abort based
- on the received results.
-- Propose a mechanism to handle errors and communicate it with plugins.
-
-## Terminology
-
-Scheduler v1, current scheduler: refer to existing scheduler of Kubernetes.
-Scheduler v2, scheduling framework: refer to the new scheduler proposed in this
-doc.
-
-# BACKGROUND
-
-Many features are being added to the Kubernetes default scheduler. They keep
-making the code larger and logic more complex. A more complex scheduler is
-harder to maintain, its bugs are harder to find and fix, and those users running
-a custom scheduler have a hard time catching up and integrating new changes.
-The current Kubernetes scheduler provides
-[webhooks to extend](./scheduler_extender.md)
-its functionality. However, these are limited in a few ways:
-
-1. The number of extension points are limited: "Filter" extenders are called
- after default predicate functions. "Prioritize" extenders are called after
- default priority functions. "Preempt" extenders are called after running
- default preemption mechanism. "Bind" verb of the extenders are used to bind
- a Pod. Only one of the extenders can be a binding extender, and that
- extender performs binding instead of the scheduler. Extenders cannot be
- invoked at other points, for example, they cannot be called before running
- predicate functions.
-1. Every call to the extenders involves marshaling and unmarshalling JSON.
- Calling a webhook (HTTP request) is also slower than calling native functions.
-1. It is hard to inform an extender that scheduler has aborted scheduling of
- a Pod. For example, if an extender provisions a cluster resource and
- scheduler contacts the extender and asks it to provision an instance of the
- resource for the Pod being scheduled and then scheduler faces errors
- scheduling the Pod and decides to abort the scheduling, it will be hard to
- communicate the error with the extender and ask it to undo the provisioning
- of the resource.
-1. Since current extenders run as a separate process, they cannot use
- scheduler's cache. They must either build their own cache from the API
- server or process only the information they receive from the default scheduler.
-
-The above limitations hinder building high performance and versatile scheduler
-extensions. We would ideally like to have an extension mechanism that is fast
-enough to allow keeping a bare minimum logic in the scheduler core and convert
-many of the existing features of default scheduler, such as predicate and
-priority functions and preemption into plugins. Such plugins will be compiled
-with the scheduler. We would also like to provide an extension mechanism that do
-not need recompilation of scheduler. The expected performance of such plugins is
-lower than in-process plugins. Such out-of-process plugins should be used in
-cases where quick invocation of the plugin is not a constraint.
-
-# OVERVIEW
-
-Scheduler v2 allows both built-in and out-of-process extenders. This new
-architecture is a scheduling framework that exposes several extension points
-during a scheduling cycle. Scheduler plugins can register to run at one or more
-extension points.
-
-#### Non-goals
-
-- We will keep Kubernetes API backward compatibility, but keeping scheduler
- v1 backward compatibility is a non-goal. Particularly, scheduling policy
- config and v1 extenders won't work in this new framework.
-- Solve all the scheduler v1 limitations, although we would like to ensure
- that the new framework allows us to address known limitations in the future.
-- Provide implementation details of plugins and call-back functions, such as
- all of their arguments and return values.
-
-# DETAILED DESIGN
-
-## Bare bones of scheduling
-
-Pods that are not assigned to any node go to a scheduling queue and sorted by
-order specified by plugins (described [here](#scheduling-queue-sort)). The
-scheduling framework picks the head of the queue and starts a **scheduling
-cycle** to schedule the pod. At the end of the cycle scheduler determines
-whether the pod is schedulable or not. If the pod is not schedulable, its status
-is updated and goes back to the scheduling queue. If the pod is schedulable (one
-or more nodes are found that can run the Pod), the scoring process is started.
-The scoring process finds the best node to run the Pod. Once the best node is
-picked, the scheduler updates its cache and then a bind go routine is started to
-bind the pod.
-The above process is the same as what Kubernetes scheduler v1 does. Some of the
-essential features of scheduler v1, such as leader election, will also be
-transferred to the scheduling framework.
-In the rest of this section we describe how various plugins are used to enrich
-this basic workflow. This document focuses on in-process plugins.
-Out-of-process plugins are discussed later in a separate doc.
-
-## Communication and statefulness of plugins
-
-The scheduling framework provides a library that plugins can use to pass
-information to other plugins. This library keeps a map from keys of type string
-to opaque pointers of type interface{}. A write operation takes a key and a
-pointer and stores the opaque pointer in the map with the given key. Other
-plugins can provide the key and receive the opaque pointer. Multiple plugins can
-share the state or communicate via this mechanism.
-The saved state is preserved only during a single scheduling cycle. At the end
-of a scheduling cycle, this map is destructed. So, plugins cannot keep shared
-state across multiple scheduling cycle. They can, however, update the scheduler
-cache via the provided interface of the cache. The cache interface allows
-limited state preservation across multiple scheduling cycle.
-It is worth noting that plugins are assumed to be **trusted**. Scheduler does
-not prevent one plugin from accessing or modifying another plugin's state.
-
-## Plugin registration
-
-Plugin registration is done by providing an extension point and a function that
-should be called at that extension point. This step will be something like:
-
-```go
-register("pre-filter", plugin.foo)
-```
-
-The details of the function signature will be provided later.
-
-## Extension points
-
-The following picture shows the scheduling cycle of a Pod and the extension
-points that the scheduling framework exposes. In this picture "Filter" is
-equivalent to "Predicate" in scheduler v1 and "Scoring" is equivalent to
-"Priority function". Plugins are go functions. They are registered to be called
-at one of these extension points. They are called by the framework in the same
-order they are registered for each extension point.
-In the following sections we describe each extension point in the same order
-they are called in a schedule cycle.
-
-![image](images/scheduling-framework-extensions.png)
-
-### Scheduling queue sort
-
-These plugins indicate how Pods should be sorted in the scheduling queue. A
-plugin registered at this point only returns greater, smaller, or equal to
-indicate an ordering between two Pods. In other words, a plugin at this
-extension point returns the answer to "less(pod1, pod2)". Multiple plugins may
-be registered at this point. Plugins registered at this point are called in
-order and the invocation continues as long as plugins return "equal". Once a
-plugin returns "greater" or "smaller" the invocation of these plugins are
-stopped.
-
-### Pre-filter
-
-These plugins are generally useful to check certain conditions that the cluster
-or the Pod must meet. These are also useful to perform pre-processing on the pod
-and store some information about the pod that can be used by other plugins.
-The pod pointer is passed as an argument to these plugins. If any of these
-plugins return an error, the scheduling cycle is aborted.
-These plugins are called serially in the same order registered.
-
-### Filter
-
-Filter plugins filter out nodes that cannot run the Pod. Scheduler runs these
-plugins per node in the same order that they are registered, but scheduler may
-run these filter function for multiple nodes in parallel. So, these plugins must
-use synchronization when they modify state.
-Scheduler stops running the remaining filter functions for a node once one of
-these filters fails for the node.
-
-### Post-filter
-
-The Pod and the set of nodes that can run the Pod are passed to these plugins.
-They are called whether Pod is schedulable or not (whether the set of nodes is
-empty or non-empty).
-If any of these plugins return an error or if the Pod is determined
-unschedulable, the scheduling cycle is aborted.
-These plugins are called serially.
-
-### Scoring
-
-These plugins are similar to priority function in scheduler v1. They are
-utilized to rank nodes that have passed the filtering stage. Similar to Filter
-plugins, these are called per node serially in the same order registered, but
-scheduler may run them for multiple nodes in parallel.
-Each one of these functions return a score for the given node. The score is
-multiplied by the weight of the function and aggregated with the result of other
-scoring functions to yield a total score for the node.
-These functions can never block scheduling. In case of an error they should
-return zero for the Node being ranked.
-
-### Post-scoring/pre-reservation
-
-After all scoring plugins are invoked and the score of nodes are determined, the
-framework picks the best node with the highest score and then it calls
-post-scoring plugins. The Pod and the chosen Node are passed to these plugins.
-These plugins have one more chance to check any conditions about the assignment
-of the Pod to this Node and reject the node if needed.
-
-![image](images/scheduling-framework-threads.png)
-
-### Reserve
-
-At this point scheduler updates its cache by "reserving" a Node (partially or
-fully) for the Pod. In scheduler v1 this stage is called "assume".
-At this point, only the scheduler cache is updated to
-reflect that the Node is (partially) reserved for the Pod. The scheduling
-framework calls plugins registered at this extension points so that they get a
-chance to perform cache updates or other accounting activities. These plugins
-do not return any value (except errors).
-
-The actual assignment of the Node to the Pod happens during the "Bind" phase.
-That is when the API server updates the Pod object with the Node information.
-
-### Permit
-
-Permit plugins run in a separate go routine (in parallel). Each plugin can return
-one of the three possible values: 1) "permit", 2) "deny", or 3) "wait". If all
-plugins registered at this extension point return "permit", the pod is sent to
-the next step for binding. If any of the plugins returns "deny", the pod is
-rejected and sent back to the scheduling queue. If any of the plugins returns
-"wait", the Pod is kept in reserved state until it is explicitly approved for
-binding. A plugin that returns "wait" must return a "timeout" as well. If the
-timeout expires, the pod is rejected and goes back to the scheduling queue.
-
-#### Approving a Pod binding
-
-While any plugin can receive the list of reserved Pod from the cache and approve
-them, we expect only the "Permit" plugins to approve binding of reserved Pods
-that are in "waiting" state. Once a Pod is approved, it is sent to the Bind
-stage.
-
-### Reject
-
-Plugins called at "Permit" may perform some operations that should be undone if
-the Pod reservation fails. The "Reject" extension point allows such clean-up
-operations to happen. Plugins registered at this point are called if the
-reservation of the Pod is cancelled. The reservation is cancelled if any of the
-"Permit" plugins returns "reject" or if a Pod reservation, which is in "wait"
-state, times out.
-
-### Pre-Bind
-
-When a Pod is approved for binding it reaches to this stage. These plugins run
-before the actual binding of the Pod to a Node happens. The binding starts only
-if all of these plugins return true. If any returns false, the Pod is rejected
-and sent back to the scheduling queue. These plugins run in a separate go
-routine. The same go routine runs "Bind" after these plugins when all of them
-return true.
-
-### Bind
-
-Once all pre-bind plugins return true, the Bind plugins are executed. Multiple
-plugins may be registered at this extension point. Each plugin may return true
-or false (or an error). If a plugin returns false, the next plugin will be
-called until a plugin returns true. Once a true is returned **the remaining
-plugins are skipped**. If any of the plugins returns an error or all of them
-return false, the Pod is rejected and sent back to the scheduling queue.
-
-### Post Bind
-
-The Post Bind plugins can be useful for housekeeping after a pod is scheduled.
-These plugins do not return any value and are not expected to influence the
-scheduling decision made in the scheduling cycle.
-
-### Informer Events
-
-The scheduling framework, similar to Scheduler v1, will have informers that let
-the framework keep its copy of the state of the cluster up-to-date. The
-informers generate events, such as "PodAdd", "PodUpdate", "PodDelete", etc. The
-framework allows plugins to register their own handlers for any of these events.
-The handlers allow plugins with internal state or caches to keep their state
-updated.
-
-# USE-CASES
-
-In this section we provide a couple of examples on how the scheduling framework
-can be used to solve common scheduling scenarios.
-
-### Dynamic binding of cluster-level resources
-
-Cluster level resources are resources which are not immediately available on
-nodes at the time of scheduling Pods. Scheduler needs to ensure that such
-cluster level resources are bound to a chosen Node before it can schedule a Pod
-that requires such resources to the Node. We refer to this type of binding of
-resources to Nodes at the time of scheduling Pods as dynamic resource binding.
-Dynamic resource binding has proven to be a challenge in Scheduler v1, because
-Scheduler v1 is not flexible enough to support various types of plugins at
-different phases of scheduling. As a result, binding of storage volumes is
-integrated in the scheduler code and some non-trivial changes are done to the
-scheduler extender to support dynamic binding of network GPUs.
-The scheduling framework allows such dynamic bindings in a cleaner way. The main
-thread of scheduling framework process a pending Pod that requests a network
-resource and finds a node for the Pod and reserves the Pod. A dynamic resource
-binder plugin installed at "Pre-Bind" stage is invoked (in a separate thread).
-It analyzes the Pod and when detects that the Pod needs dynamic binding of the
-resource, the plugin tries to attach the cluster resource to the chosen node and
-then returns true so that the Pod can be bound. If the resource attachment
-fails, it returns false and the Pod will be retried.
-When there are multiple of such network resources, each one of them installs one
-"pre-bind" plugin. Each plugin looks at the Pod and if the Pod is not requesting
-the resource that they are interested in, they simply return "true" for the
-pod.
-
-### Gang Scheduling
-
-Gang scheduling allows a certain number of Pods to be scheduled simultaneously.
-If all the members of the gang cannot be scheduled at the same time, none of
-them should be scheduled. Gang scheduling may have various other features as
-well, but in this context we are interested in simultaneous scheduling of Pods.
-Gang scheduling in the scheduling framework can be done with an "Permit" plugin.
-The main scheduling thread processes pods one by one and reserves nodes for
-them. The gang scheduling plugin at the Permit stage is invoked for each pod.
-When it finds that the pod belongs to a gang, it checks the properties of the
-gang. If there are not enough members of the gang which are scheduled or in
-"wait" state, the plugin returns "wait". When the number reaches the desired
-value, all the Pods in wait state are approved and sent for binding.
-
-# OUT OF PROCESS PLUGINS
-
-Out of process plugins (OOPP) are called via JSON over an HTTP interface. In
-other words, the scheduler will support webhooks at most (maybe all) of the
-extension points. Data sent to an OOPP must be marshalled to JSON and data
-received must be unmarshalled. So, calling an OOPP is significantly slower than
-in-process plugins.
-We do not plan to build OOPPs in the first version of the scheduling framework.
-So, more details on them is to be determined.
-
-
-# DEVELOPMENT PLAN
-
-Earlier, we wanted to develop the scheduling framework as an independent project
-from scheduler V1. However, that would need much engineering resources.
-It would also be more difficult to roll out a new and not fully-backward
-compatible scheduler in Kubernetes where tens of thousands of users depend on
-the behavior of the scheduler.
-After revisiting the ideas and challenges, we changed our plan and have decided
-to build some of the ideas of the scheduling framework into Scheduler V1 to make
-it more extendable.
-
-As the first step, we would like to build:
- 1. [Pre-bind](#pre-bind) and [Reserve](#reserve) plugin points. These will
- help us move our existing cluster resource binding code, such as persistent
- volume binding, to plugins.
- 1. We will also build
- [the plugin communication mechanism](#communication-and-statefulness-of-plugins).
- This will allow us to build more sophisticated plugins that would require
- communication and also help us clean up existing scheduler's code by removing
- existing transient cache data.
-
-More features of the framework can be added to the Scheduler in the future based
-on the requirements.
-
-<s>
-# CONFIGURING THE SCHEDULING FRAMEWORK
-
-TBD
-
-# BACKWARD COMPATIBILITY WITH SCHEDULER v1
-
-We will build a new set of plugins for scheduler v2 to ensure that the existing
-behavior of scheduler v1 in placing Pods on nodes is preserved. This includes
-building plugins that replicate default predicate and priority functions of
-scheduler v1 and its binding mechanism, but scheduler extenders built for
-scheduler v1 won't be compatible with scheduler v2. Also, predicate and priority
-functions which are not enabled by default (such as service affinity) are not
-guaranteed to exist in scheduler v2.
-
-# DEVELOPMENT PLAN
-
-We will develop the scheduling framework as an incubator project in SIG
-scheduling. It will be built in a separate code-base independently from
-scheduler v1, but we will probably use a lot of code from scheduler v1.
-
-# TESTING PLAN
-
-We will add unit-tests as we build functionalities of the scheduling framework.
-The scheduling framework should eventually be able to pass integration and e2e
-tests of scheduler v1, excluding those tests that involve scheduler extensions.
-The e2e and integration tests may need to be modified slightly as the
-initialization and configuration of the scheduling framework will be different
-than scheduler v1.
-
-# WORK ESTIMATES
-
-We expect to see an early version of the scheduling framework in two release
-cycles (end of 2018). If things go well, we will start offering it as an
-alternative to the scheduler v1 by the end of Q1 2019 and start the deprecation
-of scheduler v1. We will make it the default scheduler of Kubernetes in Q2 2019,
-but we will keep the option of using scheduler v1 for at least two more release
-cycles.
-</s>
-
+The scheduling framework design has moved to https://github.com/kubernetes/enhancements/blob/master/keps/sig-scheduling/20180409-scheduling-framework.md
diff --git a/contributors/design-proposals/storage/csi-migration.md b/contributors/design-proposals/storage/csi-migration.md
index 5aa7411c..ee6dc464 100644
--- a/contributors/design-proposals/storage/csi-migration.md
+++ b/contributors/design-proposals/storage/csi-migration.md
@@ -237,26 +237,55 @@ with the in-tree plugin, the VolumeAttachment object becomes orphaned.
### In-line Volumes
In-line controller calls are a special case because there is no PV. In this case
-we will add the CSI Source JSON to the VolumeToAttach object and in Attach we
-will put the Source in a new field in the VolumeAttachment object
-VolumeAttachment.Spec.Source.VolumeAttachmentSource.InlineVolumeSource. The CSI Attacher will have to
-be modified to also check this location for a source before checking the PV
-itself.
+we will forward the in-tree volume source to CSI attach as-is and it will be
+copied to a new field in the VolumeAttachment object
+VolumeAttachment.Spec.Source.VolumeAttachmentSource.InlineVolumeSource. The
+VolumeAttachment name must be made with the CSI Translated version of the
+VolumeSource in order for it to be discoverable by Detach and WaitForAttach
+(described in more detail below).
+
+The CSI Attacher will have to be modified to also check this location for a
+source as well as checking for the `pvName`. Only one of the two may be
+specified.
+
+The new VolumeAttachmentSource API will look as such:
+```
+// VolumeAttachmentSource represents a volume that should be attached.
+// Right now only PersistenVolumes can be attached via external attacher,
+// in future we may allow also inline volumes in pods.
+// Exactly one member can be set.
+type VolumeAttachmentSource struct {
+ // Name of the persistent volume to attach.
+ // +optional
+ PersistentVolumeName *string `json:"persistentVolumeName,omitempty" protobuf:"bytes,1,opt,name=persistentVolumeName"`
+
+ // Allows CSI migration code to copy an inline volume
+ // source from a pod to the VolumeAttachment to support shimming of
+ // in-tree inline volumes to a CSI backend.
+ // This field is alpha-level and is only honored by servers that enable the CSIMigration feature.
+ // +optional
+ InlineVolumeSource *v1.VolumeSource `json:"inlineVolumeSource,omitempty protobuf:"bytes,2,opt,name=inlineVolumeSource"`
+}
+```
We need to be careful with naming VolumeAttachments for in-line volumes. The
-name needs to be unique and ADC must be able to find the right
-VolumeAttachment when a pod is deleted (i.e. using only info in Node.Status).
-CSI driver in kubelet must be able to find the VolumeAttachment too to get
-AttachmentMetadata for NodeStage/NodePublish.
-
-In downgrade scenario where the migration is then turned off we will have to
-remove these floating VolumeAttachment objects, the same issue is outlined above
-in the Non-Dynamic Provisioned Volumes section.
-
-For more details on this see the PR that specs out CSI Inline Volumes in more detail:
-https://github.com/kubernetes/community/pull/2273. Basically we will just translate
-the in-tree inline volumes into the format specified/implemented in the
-container-storage-interface-inline-volumes proposal.
+name needs to be unique and ADC must be able to find the right VolumeAttachment
+when a pod is deleted (i.e. using only info in Node.Status). CSI driver in
+kubelet must be able to find the VolumeAttachment too to call WaitForAttach and
+VolumesAreAttached.
+
+The attachment name is usually a hash of the volume name, CSI Driver name, and
+Node name. We are able to get all this information for Detach and WaitForAttach
+by translating the in-tree inline volume source to a CSI volume source before
+passing it to to the volume operations.
+
+There is currently a race condition in in-tree inline volumes where if a pod
+object is deleted and the ADC restarts we lose the information for the inline
+volume and will not be able to detach the volume. This is a known issue and we
+will retain the same behavior with migrated inline volumes. However, we may be
+able to solve this in the future by reconciling the VolumeAttachment object with
+existing Pods in the ADC.
+
### Volume Resize
diff --git a/contributors/devel/README.md b/contributors/devel/README.md
index 31c0bcac..3b81ef4e 100644
--- a/contributors/devel/README.md
+++ b/contributors/devel/README.md
@@ -43,7 +43,7 @@ Guide](http://kubernetes.io/docs/admin/).
* **Coding Conventions** ([coding-conventions.md](../guide/coding-conventions.md)):
Coding style advice for contributors.
-* **Document Conventions** ([how-to-doc.md](how-to-doc.md))
+* **Document Conventions** ([The Kubernetes documentation](https://github.com/kubernetes/website))
Document style advice for contributors.
* **Running a cluster locally** ([running-locally.md](running-locally.md)):
@@ -60,7 +60,7 @@ Guide](http://kubernetes.io/docs/admin/).
* **API Conventions** ([api-conventions.md](api-conventions.md)):
Defining the verbs and resources used in the Kubernetes API.
-* **API Client Libraries** ([client-libraries.md](client-libraries.md)):
+* **API Client Libraries** ([Client Libraries](https://kubernetes.io/docs/reference/using-api/client-libraries/)):
A list of existing client libraries, both supported and user-contributed.
diff --git a/contributors/devel/sig-architecture/api-conventions.md b/contributors/devel/sig-architecture/api-conventions.md
index 2e0bd7ad..24ae0ebf 100644
--- a/contributors/devel/sig-architecture/api-conventions.md
+++ b/contributors/devel/sig-architecture/api-conventions.md
@@ -588,7 +588,7 @@ below.
#### Strategic Merge Patch
-Details of Strategic Merge Patch are covered [here](strategic-merge-patch.md).
+Details of Strategic Merge Patch are covered [here](/contributors/devel/sig-api-machinery/strategic-merge-patch.md).
## Idempotency
diff --git a/contributors/devel/sig-architecture/godep.md b/contributors/devel/sig-architecture/godep.md
index 61e09247..0ac48e18 100644
--- a/contributors/devel/sig-architecture/godep.md
+++ b/contributors/devel/sig-architecture/godep.md
@@ -71,7 +71,7 @@ hack/run-in-gopath.sh hack/godep-restore.sh
This script will try to optimize what it needs to download, and if it seems the
dependencies are all present already, it will return very quickly.
-If there's every any doubt about the correctness of your dependencies, you can
+If there's ever any doubt about the correctness of your dependencies, you can
simply `make clean` or `rm -rf _output`, and run it again.
Now you should have a clean copy of all of the Kubernetes dependencies.
diff --git a/contributors/devel/sig-node/container-runtime-interface.md b/contributors/devel/sig-node/container-runtime-interface.md
index 4d9757d9..84dcddde 100644
--- a/contributors/devel/sig-node/container-runtime-interface.md
+++ b/contributors/devel/sig-node/container-runtime-interface.md
@@ -70,6 +70,7 @@ proposals. We are working on adding more documentation for the API.
- [rktlet](https://github.com/kubernetes-incubator/rktlet)
- [frakti](https://github.com/kubernetes/frakti)
- [cri-containerd](https://github.com/kubernetes-incubator/cri-containerd)
+ - [singularity-cri](https://github.com/sylabs/singularity-cri)
## [Status update](#status-update)
### Kubernetes v1.7 release (Docker-CRI integration GA, container metrics API)
diff --git a/contributors/devel/sig-release/cherry-picks.md b/contributors/devel/sig-release/cherry-picks.md
index 7769f970..097fef85 100644
--- a/contributors/devel/sig-release/cherry-picks.md
+++ b/contributors/devel/sig-release/cherry-picks.md
@@ -54,6 +54,13 @@ or the [Patch Release Team](https://git.k8s.io/sig-release/release-team/role-han
are the final authority on removing the `do-not-merge/cherry-pick-not-approved`
label and triggering a merge into the target branch.
+Cherry-pick pull requests follow the same release note requirements as
+other pull requests, except the release note stanza will auto-populate from
+the master branch pull request from which the cherry-pick originated. If
+this is unsuccessful the `do-not-merge/release-note-label-needed` label
+will be applied and the cherry-pick author must edit the pull request
+description to [add a release note](https://git.k8s.io/community/contributors/guide/release-notes.md).
+
## Searching for Cherry-picks
- [A sample search on kubernetes/kubernetes pull requests that are labeled as `cherry-pick-approved`](https://github.com/kubernetes/kubernetes/pulls?q=is%3Aopen+is%3Apr+label%3Acherry-pick-approved)
diff --git a/contributors/devel/sig-release/release.md b/contributors/devel/sig-release/release.md
index b4e9224e..07a7f518 100644
--- a/contributors/devel/sig-release/release.md
+++ b/contributors/devel/sig-release/release.md
@@ -67,7 +67,6 @@ If you want your PR to get merged, it needs the following required labels and mi
<li>/milestone {v1.y}</li>
<li>/sig {name}</li>
<li>/kind {bug, failing-test}</li>
-<li>/priority critical-urgent</li>
<li>/lgtm</li>
<li>/approved</li>
</ul>
diff --git a/contributors/devel/sig-testing/testing.md b/contributors/devel/sig-testing/testing.md
index f6877da4..2baf4b3c 100644
--- a/contributors/devel/sig-testing/testing.md
+++ b/contributors/devel/sig-testing/testing.md
@@ -102,8 +102,7 @@ make test WHAT="./pkg/kubelet ./pkg/scheduler" # run tests for pkg/kubelet and
In a shell, it's often handy to use brace expansion:
```sh
-make test WHAT=./pkg/{kubelet,scheduler} # run tests for pkg/kubelet and
-pkg/scheduler
+make test WHAT=./pkg/{kubelet,scheduler} # run tests for pkg/kubelet and pkg/scheduler
```
### Run specific unit test cases in a package
diff --git a/contributors/guide/README.md b/contributors/guide/README.md
index 82f16556..0cf35724 100644
--- a/contributors/guide/README.md
+++ b/contributors/guide/README.md
@@ -23,6 +23,7 @@ Welcome to Kubernetes!
- [Find something to work on](#find-something-to-work-on)
- [Find a good first topic](#find-a-good-first-topic)
- [Learn about SIGs](#learn-about-sigs)
+ - [SIG-specific contributing guidelines](#sig-specific-contributing-guidelines)
- [File an Issue](#file-an-issue)
- [Contributing](#contributing)
- [Communication](#communication)
@@ -30,9 +31,11 @@ Welcome to Kubernetes!
- [Open a Pull Request](#open-a-pull-request)
- [Code Review](#code-review)
- [Testing](#testing)
- - [Security](#security)
+ - [Security](#security)
- [Documentation](#documentation)
- [Issues Management or Triage](#issues-management-or-triage)
+- [Kubernetes Contributor Playground](#kubernetes-contributor-playground)
+ - [Youtube playlist](#youtube-playlist)
- [Community](#community)
- [Communication](#communication-1)
- [Events](#events)
@@ -106,10 +109,6 @@ You may have noticed that some repositories in the Kubernetes Organization are o
We organize the community into SIGs in order to improve our workflow and more easily manage what is a very large community project.
The developers within each SIG have autonomy and ownership over that SIG's part of Kubernetes.
-Some SIGs also have their own `CONTRIBUTING.md` files, which may contain extra information or guidelines in addition to these general ones.
-These are located in the SIG-specific community directories.
-For example: the contributor's guide for SIG CLI is located in the *kubernetes/community* repo, as [`/sig-cli/CONTRIBUTING.md`](/sig-cli/CONTRIBUTING.md).
-
A SIG is an open, community effort.
Anybody is welcome to jump into a SIG and begin fixing issues, critiquing design proposals and reviewing code.
SIGs have regular [video meetings](https://kubernetes.io/community/) which everyone is welcome to.
@@ -139,6 +138,16 @@ Follow the link in the SIG name column to reach each SIGs README.
Most SIGs will have a set of GitHub Teams with tags that can be mentioned in a comment on issues and pull requests for higher visibility.
If you are not sure about the correct SIG for an issue, you can try SIG-contributor-experience [here](/sig-contributor-experience#github-teams), or [ask in Slack](http://slack.k8s.io/).
+### SIG-specific contributing guidelines
+Some SIGs have their own `CONTRIBUTING.md` files, which may contain extra information or guidelines in addition to these general ones.
+These are located in the SIG-specific community directories:
+- [`/sig-apps/CONTRIBUTING.md`](/sig-apps/CONTRIBUTING.md)
+- [`/sig-aws/CONTRIBUTING.md`](/sig-aws/CONTRIBUTING.md)
+- [`/sig-cli/CONTRIBUTING.md`](/sig-cli/CONTRIBUTING.md)
+- [`/sig-multicluster/CONTRIBUTING.md`](/sig-multicluster/CONTRIBUTING.md)
+- [`/sig-storage/CONTRIBUTING.md`](/sig-storage/CONTRIBUTING.md)
+- [`/sig-windows/CONTRIBUTING.md`](/sig-windows/CONTRIBUTING.md)
+
### File an Issue
Not ready to contribute code, but see something that needs work?
@@ -170,7 +179,7 @@ For quick reference on contributor resources, we have a handy [contributor cheat
It is best to contact your [SIG](#learn-about-sigs) for issues related to the SIG's topic. Your SIG will be able to help you much more quickly than a general question would.
-For general questions and troubleshooting, use the [standard lines of communication](/communication.md) and work through the [troubleshooting guide](https://kubernetes.io/docs/tasks/debug-application-cluster/troubleshooting/).
+For general questions and troubleshooting, use the [standard lines of communication](/communication/README.md) and work through the [troubleshooting guide](https://kubernetes.io/docs/tasks/debug-application-cluster/troubleshooting/).
## GitHub workflow
@@ -215,9 +224,11 @@ When reviewing PRs from others [The Gentle Art of Patch Review](http://sage.thes
* Is the contribution architected correctly?
* Is the contribution polished?
+Note: if your pull request isn't getting enough attention, you can use the [#pr-reviews](https://kubernetes.slack.com/messages/pr-reviews) channel on Slack to get help finding reviewers.
+
## Testing
-Testing is the responsibility of all contributors and is in part owned by all SIGss, but is also coordinated by [sig-testing](/sig-testing).
+Testing is the responsibility of all contributors and is in part owned by all SIGs, but is also coordinated by [sig-testing](/sig-testing).
Refer to the [Testing Guide](/contributors/devel/sig-testing/testing.md) for more information.
There are multiple types of tests.
@@ -237,10 +248,9 @@ If you're looking to run e2e tests on your own infrastructure, [kubetest](https:
## Security
-- [Security Release Page](https://git.k8s.io/sig-release/security-release-process-documentation/security-release-process.md) - outlines the procedures for the handling of security issues.
+- [Security Release Page](https://git.k8s.io/security/security-release-process.md) - outlines the procedures for the handling of security issues.
- [Security and Disclosure Information](https://kubernetes.io/docs/reference/issues-security/security/) - check this page if you wish to report a security vulnerability.
-
## Documentation
- [Contributing to Documentation](https://kubernetes.io/editdocs/)
@@ -251,6 +261,14 @@ Have you ever noticed the total number of [open issues](https://issues.k8s.io)?
Helping to manage or triage these open issues can be a great contribution and a great opportunity to learn about the various areas of the project. Triaging is the word we use to describe the process of adding multiple types of descriptive labels to GitHub issues, in order to speed up routing issues to the right folks.
Refer to the [Issue Triage Guidelines](/contributors/guide/issue-triage.md) for more information.
+# Kubernetes Contributor Playground
+
+If you are looking for a safe place, where you can familiarize yourself with (some of) the Kubernetes Project's review and pull request processes, then the [Kubernetes Contributor Playground](https://github.com/kubernetes-sigs/contributor-playground/) is the right place for you.
+
+## Youtube playlist
+
+A [Youtube playlist](https://www.youtube.com/playlist?list=PL69nYSiGNLP3M5X7stuD7N4r3uP2PZQUx) of the New Contributor workshop has been posted, and an outline of the video content can be found [here](/events/2018/05-contributor-summit).
+
# Community
If you haven't noticed by now, we have a large, lively, and friendly open-source community.
diff --git a/contributors/guide/bug-bounty.md b/contributors/guide/bug-bounty.md
index 634dff1d..3ca26006 100644
--- a/contributors/guide/bug-bounty.md
+++ b/contributors/guide/bug-bounty.md
@@ -64,7 +64,7 @@ vulnerability reports in these areas, they are not (currently) eligible to recei
- Linux privilege escalations<br>
_Please report these through security@kernel.org_
- Attacks against containers from the host they are running on
-- Attacks relying on insecure configurations (subject to the [Product Security Team][]'s opinion),
+- Attacks relying on insecure configurations (subject to the [Product Security Committee][]'s opinion),
such as clusters not utilizing mutual authentication or encryption between Kubernetes components.
- Attacks relying on or against deprecated components (e.g. gitrepo volumes)
- Vulnerabilities in etcd<br>
@@ -74,6 +74,6 @@ vulnerability reports in these areas, they are not (currently) eligible to recei
- Vulnerabilities specific to a hosted Kubernetes setup<br>
_Please report these through the associated provider_
-[Product Security Team]: https://github.com/kubernetes/sig-release/blob/master/security-release-process-documentation/security-release-process.md#product-security-team-pst
+[Product Security Committee]: https://git.k8s.io/security/security-release-process.md#product-security-committee-psc
[CoreOS's disclosure process]: https://coreos.com/security/disclosure/
[CoreDNS's disclosure process]: https://github.com/coredns/coredns#security
diff --git a/contributors/guide/release-notes.md b/contributors/guide/release-notes.md
index 81dca597..f0fe0784 100644
--- a/contributors/guide/release-notes.md
+++ b/contributors/guide/release-notes.md
@@ -30,4 +30,4 @@ For pull requests that don't need to be mentioned at release time, use the `/rel
To see how to format your release notes, view the kubernetes/kubernetes [pull request template](https://git.k8s.io/kubernetes/.github/PULL_REQUEST_TEMPLATE.md) for a brief example. Pull Request titles and body comments can be modified at any time prior to the release to make them friendly for release notes.
-Release notes apply to pull requests on the master branch. For cherry-pick pull requests, see the [cherry-pick instructions](/contributors/devel/sig-release/cherry-picks.md). The only exception to these rules is when a pull request is not a cherry-pick and is targeted directly to the non-master branch. In this case, a `release-note-*` label is required for that non-master pull request.
+Release notes apply to pull requests on the master branch. For patch release branches the automated cherry-pick pull requests process (see the [cherry-pick instructions](/contributors/devel/sig-release/cherry-picks.md)) should be followed. That automation will pull release notes from the master branch PR from which the cherry-pick originated. On a rare occasion a pull request on a patch release branch is not a cherry-pick, but rather is targeted directly to the non-master branch and in this case, a `release-note-*` label is required for that non-master pull request.
diff --git a/contributors/guide/style-guide.md b/contributors/guide/style-guide.md
index 05ccbb04..629f3bba 100644
--- a/contributors/guide/style-guide.md
+++ b/contributors/guide/style-guide.md
@@ -35,12 +35,12 @@ These are **guidelines**, not rules. Use your best judgement.
## Cheatsheet
-### Cheatsheet: Content design, formatting, and language
+### Cheatsheet: Content Design, Formatting, and Language
-**[Contact information:](#contact-information)**
+**[Contact Information:](#contact-information)**
- Use official Kubernetes contact information.
-**[Dates and times:](#dates-and-times)**
+**[Dates and Times:](#dates-and-times)**
- Format dates as `month day, year`. (December 13, 2018)
- When conveying a date in numerical form, use [ISO 8601] Format: `yyyy-mm-dd`.
- Use the 24 hour clock when referencing time.
@@ -52,7 +52,7 @@ These are **guidelines**, not rules. Use your best judgement.
- Supply a link to a globally available time zone converter service.
- `http://www.thetimezoneconverter.com/?t=<TIME REFERENCE>&tz=<TZ REFERENCE>`
-**[Diagrams, images and other assets:](#diagrams-images-and-other-assets)**
+**[Diagrams, Images and Other Assets:](#diagrams-images-and-other-assets)**
- Images and other assets should be stored in the same directory as the document
that is referencing it.
- Filenames should be lowercase and descriptive of what they are referencing.
@@ -70,7 +70,7 @@ These are **guidelines**, not rules. Use your best judgement.
- Do not repeat content. Instead link back to the canonical source.
- Large content or topic shifts should be separated with a horizontal rule.
-**[Formatting text:](#formatting-text)**
+**[Formatting Text:](#formatting-text)**
- API objects:
- Follow the established [API naming convention] when referring to API Objects.
- Do not split API object names into their components.
@@ -83,7 +83,7 @@ These are **guidelines**, not rules. Use your best judgement.
- Command line examples and flags.
- Object field names.
-**[Language, grammar and tone:](#language)**
+**[Language, Grammar and Tone:](#language)**
- Documentation should be written in English.
- Prefer an active voice and present tense when possible.
- Use simple and direct language.
@@ -96,12 +96,12 @@ These are **guidelines**, not rules. Use your best judgement.
- If using an abbreviation, spell it out the first time it is used in the
document unless it is commonly known. (example: TCP/IP)
-**[Moving a document:](#moving-a-document)**
+**[Moving a Document:](#moving-a-document)**
- Use `[git-mv]` to move documents.
- Commit moved documents separately from any other changes.
- When a document has moved, leave a tombstone file with a removal date in its
place.
-
+
**[Punctuation:](#punctuation)**
- Do not use punctuation in headings.
- End full sentences with a period.
@@ -122,7 +122,7 @@ These are **guidelines**, not rules. Use your best judgement.
### Cheatsheet: Markdown
-**[Code blocks:](#code-blocks)**
+**[Code Blocks:](#code-blocks)**
- When possible, reference the language at the beginning of a Code Block.
- When a code block is used to reference a shell, do not include the command
prompt (`$`).
@@ -133,22 +133,26 @@ These are **guidelines**, not rules. Use your best judgement.
- Use two asterisks (`**`) for **Bold** text.
- Use an underscore (`_`) for _Italics_.
- Use two tildes (`~~`) for ~~Strikethrough~~.
-
+
**[Headings:](#headings)**
- Use a single `H1` (`#`) Heading per document.
- **Exception:** `H1` may be used multiple times in the same document when
there is a large content shift or "chapter" change.
- Follow the Header hierarchy of `H2` > `H3` > `H4` > `H5` > `H6`.
-- Use sentence-style capitalization in titles (first word and proper nouns).
+- Use title-case capitalization.
+ - Capitalize the first word.
+ - Capitalize all nouns, verbs, adjectives, adverbs, and pronouns.
+ - Capitalize all words of four letters or more.
+ - Use lowercase words of three or fewer letters.
- Avoid using special characters.
- Leave exactly 1 new line after a heading.
- Avoid using links in headings.
-**[Horizontal rules:](#horizontal-lines)**
+**[Horizontal Rules:](#horizontal-lines)**
- Use three dashes (`---`) to denote a horizontal rule.
- Use a horizontal rule (`---`) to logically separate large sections.
-**[Line length:](#line-length)**
+**[Line Length:](#line-length)**
- Prefer an 80 character line limit.
**[Links:](#links)**
@@ -185,20 +189,20 @@ These are **guidelines**, not rules. Use your best judgement.
---
-## Content design, formatting, and language
+## Content Design, Formatting, and Language
-### Contact information
+### Contact Information
- Use official Kubernetes contact information.
- Use official community contact email addresses. There should be no personal
or work contact information included in public documentation; instead use
addresses like the [SIG Google groups] or managed accounts such as
- community@kubernetes.io.
+ community@kubernetes.io.
- **Good example:** community@kubernetes.io
- **Bad example:** bob@example.com
-### Dates and times
+### Dates and Times
The Kubernetes Contributor Community spans many regions and time zones.
Following a consistent pattern and avoiding shorthand improves the readability
@@ -235,7 +239,7 @@ for every member.
```
-### Diagrams, images and other assets
+### Diagrams, Images and Other Assets
- Images and other assets should be stored in the same directory as the document
that is referencing it.
@@ -249,7 +253,7 @@ for every member.
### Document Layout
-Adhering to a standard document layout ensures that each page can intuitively
+Adhering to a standard document layout ensures that each page can intuitively
be navigated once a reader is familiar with the standard layout.
- Documents should follow the general template of:
@@ -265,7 +269,7 @@ be navigated once a reader is familiar with the standard layout.
- Large content or topic shifts should be separated with a horizontal rule.
-### Formatting text
+### Formatting Text
The formatting guidelines have been selected to mirror or augment the
[Kubernetes documentation style-guide]. Remaining consistent across the
@@ -304,7 +308,7 @@ external appearance.
- **Bad example:** Set the externalTrafficPolicy to Local.
-### Language, grammar and tone
+### Language, Grammar and Tone
- Documentation should be written in English.
- Prefer an active voice and present tense when possible.
@@ -328,7 +332,7 @@ external appearance.
- **Bad example:** chairman
- Avoid personal pronouns ("I," "we," "us," "our," and "ours").
- In most cases personal pronouns should be avoided as they can lead to
- confusion regarding who they are referring to.
+ confusion regarding who they are referring to.
- **Good example:** The release-team shepherded the successful release of 1.13.
- **Bad example:** We shepherded the successful release of 1.13.
- Address the reader as "you" instead of "we".
@@ -338,7 +342,7 @@ external appearance.
- **Bad example:** We will create a new cluster with kubeadm.
- Do not use Latin phrases.
- [Latin phrases] can make it difficult for readers not familiar with them to
- grasp their meaning.
+ grasp their meaning.
- Some useful alternatives include:
| Latin Phrase | Alternative |
@@ -416,9 +420,9 @@ external appearance.
---
-## Markdown formatting
+## Markdown Formatting
-### Code blocks
+### Code Blocks
- When possible, reference the language at the beginning of a Code Block.
- The two markdown renderers used by the Kubernetes community
@@ -447,7 +451,7 @@ external appearance.
prompt (`$`)
- When a code block is referencing a shell, it is implied that it is a
command prompt. The exception to this is when a code block is being used
- for raw shell output such as debug logs.
+ for raw shell output such as debug logs.
- **Good example:**
```
kubectl get pods -o wide
@@ -500,13 +504,16 @@ standard across documentation improves supportability.
- **Exception:** `H1` may be used multiple times in the same document when
there is a large content shift or "chapter" change.
- Follow the Header hierarchy of `H2` > `H3` > `H4` > `H5` > `H6`.
-- Use sentence-style capitalization in titles (first word and proper nouns).
+- Use title-case capitalization.
+ - Capitalize the first word.
+ - Capitalize all nouns, verbs, adjectives, adverbs, and pronouns.
+ - Capitalize all words of four letters or more.
- Avoid using special characters.
- Leave exactly 1 new line after a heading.
- Avoid using links in headings.
-### Horizontal rules
+### Horizontal Rules
Markdown has multiple ways of indicating a horizontal rule. Adhering to a
standard across documentation improves supportability.
@@ -517,7 +524,7 @@ standard across documentation improves supportability.
- Use a horizontal rule (`---`) to logically separate large sections.
-### Line length
+### Line Length
- Prefer an 80 character line limit.
- There is no specific general best practice for Markdown line length. The
@@ -528,11 +535,11 @@ standard across documentation improves supportability.
### Links
Markdown provides two primary methods to link to content: inline links and
-relative links. However, how and what they're being linked to can vary widely.
+relative links. However, how and what they're being linked to can vary widely.
- Prefer using reference style links over inline style links.
- Reference links are shorter and easier to read. They have the added benefit
- of being reusable throughout the entire document.
+ of being reusable throughout the entire document.
- The link itself should be at the bottom of the document. If the document is
large or covers many topics, place the link at the end of the logical
chapter or section.
@@ -577,7 +584,7 @@ relative links. However, how and what they're being linked to can vary widely.
- When linking to a file in another Kubernetes github repository, use the
`k8s.io` url shortener.
- The shorthand version will auto-expand linking to documents within the
- master branch and can be used for multiple purposes.
+ master branch and can be used for multiple purposes.
| Short URL | Expanded URL |
|:-------------------:|:----------------------------------:|
@@ -641,7 +648,7 @@ relative links. However, how and what they're being linked to can vary widely.
```
- Tables do not need to adhere to the suggested line length.
- Markdown tables have an inherently longer line length, and cannot be
- line wrapped.
+ line wrapped.
- Avoid long inline links.
- Long inline links can make it difficult to work with markdown tables.
Prefer to use reference style links instead.
diff --git a/events/2019/05-contributor-summit/README.md b/events/2019/05-contributor-summit/README.md
index c3e95d9e..7ccf08bc 100644
--- a/events/2019/05-contributor-summit/README.md
+++ b/events/2019/05-contributor-summit/README.md
@@ -1 +1,114 @@
# 2019 Kubernetes Contributor Summit EU
+
+## What
+
+This event brings together new and current Kubernetes contributors to connect and collaborate face-to-face. It is an opportunity for existing contributors to help shape the future of the project, and offers a welcoming space for new community members to learn, explore and put the contributor workflow to practice. The summit spans two days - an optional social event in the evening of Sunday, May 19th along with the main full-day event on Monday, May 20th.
+
+In some sense, the summit is a real-life extension of the community meetings and SIG meetings. There are three explicit goals:
+
+ - Onboard new contributors to be productive in our community
+ - Send contributors home with more context, knowledge, and skills about the project
+ - SIG-specific face-to-face collaboration
+
+
+## Registration
+
+ - [Sign the CLA](/CLA.md) if you have not done so already
+ - Registration form will be available soon
+
+## When and Where
+
+The Contributor Summit takes place in the days leading up to [KubeCon + CloudNativeCon Europe](https://events.linuxfoundation.org/events/kubecon-cloudnativecon-europe-2019/), make sure you plan travel accordingly.
+
+ - Sunday, May 19, 2019 - Social event (optional)
+ - Monday, May 20, 2019 - Contributor Summit (New Contributor Workshops and SIG F2F meetings)
+ - Fira Gran Via, Barcelona, Spain
+ - Event website with more information: LINK TBD
+
+## New Contributor Workshops
+
+The focus of the contributor summit in Barcelona is on new contributors. We have a large existing contributor base, especially in the US, and while we have a solid contingent in Europe, we would like to continue to grow our contributor presence in Europe to have a better balance across time zones and a more diverse set of contributors.
+
+**Important**: The new contributor workshops are for people who are interested in **contributing** to Kubernetes and **will not** include how to use Kubernetes. The rest of KubeCon will have plenty of content about using Kubernetes, but this day is focused solely on contributing to Kuberenetes.
+
+### The New Contributor Workshops will have 2 tracks:
+
+* 101 New Contributor Track: Attendees should be brand new contributors who are interested in contributing to Kubernetes, but who have little to no experience previously contributing to open source projects.
+* 201 Intermediate New Contributor Track: Attendees should be people who have previous experience contributing to other open source projects, but who are new to contributing to Kubernetes.
+
+**Note**: Existing contributors should **not** register for either of these workshops. Existing contributors are encouraged to attend the social event on Sunday and should talk to their SIG chairs to see if any relevant SIGs are planning to have a SIG F2F meeting on Monday.
+
+### New Contributor Workshop Outline:
+
+Workshop Preparation: Before arriving in Barcelona, workshop attendees are expected to sign the CLA and complete any preparatory downloads and installations for required tools and content. Students will be given access to the slides in advance to allow for easier copying and pasting of commands during the hands-on exercises.
+
+
+Combined Intro (Big Room) - All Workshop Participants:
+
+* How To Communicate (join all the things)
+* Repo Tour
+* What is a SIG, and How Do I Join One
+
+101 New Contributor Workshop Track (Room 1):
+
+* Finding Your First Topic AKA Where Do I Fit In
+* Automation and Pull Request Demo/Practice
+* Setting Up Your Dev Environment Lab
+* Install Golang (or straighten out gopaths)
+* Install Docker
+* Clone Kubernetes
+* make WHAT?
+* run tests
+
+201 Intermediate New Contributor Workshop Track (Room 2):
+
+* Brief Automation Demo (no practice): Labels, bots, org membership
+* Local Test & Build using a container
+* Release Cycle
+* Testgrid Tour
+* Docs contributions
+
+Combined Wrap-Up and Networking (Big Room) - All Workshop Participants:
+
+* Hallway Track: Network and find people with SIG buttons
+
+Note: The full schedule and room details will be available on [Sched](https://contsummiteu19.sched.com/) soon.
+
+### Transparency:
+
+* Recording: Workshops will be video recorded and uploaded to YouTube.
+* Transcription: Transcriptions will be uploaded with the video.
+* Content Sharing: All presentations will be uploaded.
+
+## Contributor Summit Team
+
+
+| Role | Lead |
+| ------------- | ------------- |
+| Summit Lead | Jonas Rosland (@jonasrosland) |
+| Project Manager | Ihor Dvoretskyi (@idvoretskyi) |
+| Marketing & Comms | Paris Pittman (@parispittman) |
+| Accessibility, Inclusiveness, and Diversity | Noah Kantrowitz (@coderanger) |
+| Venue | Deb Giles (@debgiles) |
+| Social Event | Paris Pittman (@parispittman) |
+| Content - General | Dawn Foster (@geekygirldawn) |
+| Content - Specific | Guinevere Saenger (@guineveresaenger) |
+| Registration | Bob Killen (@mrbobbytables) |
+| Swag | Jorge Castro (@castrojo)
+| Photography | Ruben Orduz (@rdodev) |
+
+
+## Media Policy
+
+A photographer and videographer will be onsite recording sessions, collecting b-roll and other shots for KubeCon. If you would rather not be involved, please reach out to an organizer on the day of so we may accommodate you.
+
+
+## Code of Conduct
+
+This event, like all Kubernetes events, has a [Code of Conduct](/code-of-conduct.md). We will have an onsite rep with contact information to be provided here and posted during the event.
+
+
+## Misc
+We want to remove as many barriers as possible for you to attend this event. Please contact community@kubernetes.io to see if we can accommodate a request.
+
+Further details to be updated on this doc. Please check back for a complete guide.
diff --git a/events/community-meeting.md b/events/community-meeting.md
index ed5bcf66..ccd19a72 100644
--- a/events/community-meeting.md
+++ b/events/community-meeting.md
@@ -1,6 +1,7 @@
# Kubernetes Weekly Community Meeting
-We have PUBLIC and RECORDED [weekly meeting](https://zoom.us/my/kubernetescommunity) every Thursday at [6pm UTC](https://www.google.com/search?q=6pm+UTC).
+We have PUBLIC and RECORDED [weekly meeting](https://zoom.us/my/kubernetescommunity) every Thursday at [10am PT](http://www.thetimezoneconverter.com/?t=10:00&tz=PT%20%28Pacific%20Time%29)
+a).
See it on the web at [calendar.google.com](https://calendar.google.com/calendar/embed?src=cgnt364vd8s86hr2phapfjc6uk%40group.calendar.google.com&ctz=America/Los_Angeles) , or paste this [iCal url](https://calendar.google.com/calendar/ical/cgnt364vd8s86hr2phapfjc6uk%40group.calendar.google.com/public/basic.ics) into any [iCal client](https://en.wikipedia.org/wiki/ICalendar). Do NOT copy the meetings over to a your personal calendar, you will miss meeting updates. Instead use your client's calendaring feature to say you are attending the meeting so that any changes made to meetings will be reflected on your personal calendar.
diff --git a/events/events-team/README.md b/events/events-team/README.md
new file mode 100644
index 00000000..bde9e0b9
--- /dev/null
+++ b/events/events-team/README.md
@@ -0,0 +1,30 @@
+Future home for all things planning and strategy for Kubernetes contributor
+events.
+
+TODO: Add overview (ties to contribex charter, what we do, how, why), what events
+this team supports, other resources
+
+# Core Events Team roles
+Inspired by the [Release Team]
+
+The Event Lead(s) is responsible for determining which core roles need to be filled at the start
+of planning for each event. After initial core team meetings, each lead will determine
+how to best staff for that function and fill in other roles.
+
+| Role | Handbook | Notes |
+| --- | --- | --- |
+| Events Lead | TODO | May have more than one |
+| Project Manager | TODO | |
+| Registration Lead | TODO | |
+| Marketing Lead | TODO | |
+| CNCF Events Manager | CNCF | CNCF will staff this |
+| Overall Content Lead | TODO | |
+| New Contributor Workshop Lead | TODO | Events Lead and General Content will determine this |
+| Accessibility, Inclusiveness, and Diversity | TODO | |
+
+
+# Out of scope
+Meetups //TODO - link to cncf kubernetes meetups page
+
+
+[Release Team]: https://github.com/kubernetes/sig-release/tree/master/release-team
diff --git a/events/events-team/best-practices.md b/events/events-team/best-practices.md
new file mode 100644
index 00000000..d1ea261b
--- /dev/null
+++ b/events/events-team/best-practices.md
@@ -0,0 +1 @@
+Future home of best practices, lessons learned, etc.
diff --git a/events/office-hours.md b/events/office-hours.md
index 0e325604..ffe35eee 100644
--- a/events/office-hours.md
+++ b/events/office-hours.md
@@ -6,8 +6,8 @@ Office Hours is a live stream where we answer live questions about Kubernetes fr
Third Wednesday of every month, there are two sessions:
-- European Edition: [2pm UTC](https://www.google.com/search?q=2pm+UTC)
-- Western Edition: [9pm UTC](https://www.google.com/search?q=9pm+UTC)
+- European Edition: [9am ET](http://www.thetimezoneconverter.com/?t=09:00&tz=ET%20%28Eastern%20Time%29)
+- Western Edition: [4pm ET](http://www.thetimezoneconverter.com/?t=16:00&tz=ET%20%28Eastern%20Time%29)
Tune into the [Kubernetes YouTube Channel](https://www.youtube.com/c/KubernetesCommunity/live) to follow along.
diff --git a/generator/OWNERS b/generator/OWNERS
index 1fa61109..2c4f1fcc 100644
--- a/generator/OWNERS
+++ b/generator/OWNERS
@@ -2,12 +2,12 @@
reviewers:
- cblecker
- - grodrigues3
- jamiehannaford
+ - nikhita
- spiffxp
approvers:
- cblecker
- - grodrigues3
+ - nikhita
- spiffxp
labels:
- sig/contributor-experience
diff --git a/generator/README.md b/generator/README.md
index 31742492..de68d18e 100644
--- a/generator/README.md
+++ b/generator/README.md
@@ -1,7 +1,8 @@
# SIG Doc builder
This folder contains scripts to automatically generate documentation about the
-different Special Interest Groups (SIGs) and Working Groups (WGs) of Kubernetes. The authoritative
+different Special Interest Groups (SIGs), Working Groups (WGs),
+User Groups (UGs) and Committees of Kubernetes. The authoritative
source for SIG information is the [`sigs.yaml`](/sigs.yaml) file in the project root.
All updates must be done there.
@@ -13,6 +14,8 @@ The documentation follows a template and uses the values from [`sigs.yaml`](/sig
- List: [`list.tmpl`](list.tmpl)
- SIG README: [`sig_readme.tmpl`](sig_readme.tmpl)
- WG README: [`wg_readme.tmpl`](wg_readme.tmpl)
+- UG README: [`ug_readme.tmpl`](ug_readme.tmpl)
+- Committee README: [`committee_readme.tmpl`](committee_readme.tmpl)
**Time Zone gotcha**:
Time zones make everything complicated.
@@ -23,11 +26,13 @@ Practically, that means US pacific time must be `PT (Pacific Time)`.
`PT` isn't good enough, unfortunately.
When an update happens to the this file, the next step is to generate the
-accompanying documentation. This takes the format of three types of doc files:
+accompanying documentation. This takes the format of the following types of doc files:
```
sig-<sig-name>/README.md
wg-<working-group-name>/README.md
+ug-<user-group-name>/README.md
+committee-<committee-name>/README.md
sig-list.md
```
@@ -62,9 +67,11 @@ make WHAT=container-identity
where the `WHAT` var refers to the directory being built.
-## Adding custom content to your README
+## Adding custom content
-If your SIG or WG wishes to add custom content, you can do so by placing it within
+### README
+
+If your SIG, WG, UG or Committee wishes to add custom content, you can do so by placing it within
the following code comments:
```markdown
@@ -86,3 +93,14 @@ An example might be:
- Do that
<!-- END CUSTOM CONTENT -->
```
+
+### OWNERS_ALIASES
+
+Similarly, custom aliases can be added in the `OWNERS_ALIASES` file by placing
+it within the following code comments:
+
+```yaml
+## BEGIN CUSTOM CONTENT
+
+## END CUSTOM CONTENT
+```
diff --git a/generator/aliases.tmpl b/generator/aliases.tmpl
index e8c6d4ab..52a7176e 100644
--- a/generator/aliases.tmpl
+++ b/generator/aliases.tmpl
@@ -14,3 +14,15 @@ aliases:
- {{.GitHub}}
{{- end}}
{{- end}}
+ {{- range .UserGroups}}
+ {{.Dir}}-leads:
+ {{- range .Leadership.Chairs}}
+ - {{.GitHub}}
+ {{- end}}
+ {{- end}}
+ {{- range .Committees}}
+ {{.Dir}}:
+ {{- range .Leadership.Chairs}}
+ - {{.GitHub}}
+ {{- end}}
+ {{- end}}
diff --git a/generator/app.go b/generator/app.go
index da6b4a71..295077b3 100644
--- a/generator/app.go
+++ b/generator/app.go
@@ -73,9 +73,10 @@ type Meeting struct {
// Contact represents the various contact points for a group.
type Contact struct {
- Slack string
- MailingList string `yaml:"mailing_list"`
- GithubTeams []GithubTeams `yaml:"teams"`
+ Slack string
+ MailingList string `yaml:"mailing_list"`
+ PrivateMailingList string `yaml:"private_mailing_list"`
+ GithubTeams []GithubTeams `yaml:"teams"`
}
// GithubTeams represents a specific Github Team.
@@ -88,6 +89,7 @@ type GithubTeams struct {
type Subproject struct {
Name string
Description string
+ Contact *Contact
Owners []string
Meetings []Meeting
}
@@ -124,6 +126,8 @@ func (e *Group) DirName(prefix string) string {
type Context struct {
Sigs []Group
WorkingGroups []Group
+ UserGroups []Group
+ Committees []Group
}
func pathExists(path string) bool {
@@ -305,6 +309,14 @@ func main() {
return strings.ToLower(ctx.WorkingGroups[i].Name) <= strings.ToLower(ctx.WorkingGroups[j].Name)
})
+ sort.Slice(ctx.UserGroups, func(i, j int) bool {
+ return strings.ToLower(ctx.UserGroups[i].Name) <= strings.ToLower(ctx.UserGroups[j].Name)
+ })
+
+ sort.Slice(ctx.Committees, func(i, j int) bool {
+ return strings.ToLower(ctx.Committees[i].Name) <= strings.ToLower(ctx.Committees[j].Name)
+ })
+
err = createGroupReadme(ctx.Sigs, "sig")
if err != nil {
log.Fatal(err)
@@ -315,6 +327,16 @@ func main() {
log.Fatal(err)
}
+ err = createGroupReadme(ctx.UserGroups, "ug")
+ if err != nil {
+ log.Fatal(err)
+ }
+
+ err = createGroupReadme(ctx.Committees, "committee")
+ if err != nil {
+ log.Fatal(err)
+ }
+
fmt.Println("Generating sig-list.md")
outputPath := filepath.Join(baseGeneratorDir, sigListOutput)
err = writeTemplate(filepath.Join(baseGeneratorDir, templateDir, listTemplate), outputPath, "markdown", ctx)
diff --git a/generator/committee_readme.tmpl b/generator/committee_readme.tmpl
new file mode 100644
index 00000000..d84bd2b5
--- /dev/null
+++ b/generator/committee_readme.tmpl
@@ -0,0 +1,86 @@
+{{- template "header" }}
+# {{.Name}} Committee
+
+{{ .MissionStatement }}
+{{- if .CharterLink }}
+The [charter]({{.CharterLink}}) defines the scope and governance of the {{.Name}} Committee.
+{{- end }}
+{{- if .Meetings }}
+
+## Meetings
+{{- range .Meetings }}
+* {{.Description}}: [{{.Day}}s at {{.Time}} {{.TZ}}]({{.URL}}) ({{.Frequency}}). [Convert to your timezone](http://www.thetimezoneconverter.com/?t={{.Time}}&tz={{.TZ | tzUrlEncode}}).
+{{- if .ArchiveURL }}
+ * [Meeting notes and Agenda]({{.ArchiveURL}}).
+{{- end }}
+{{- if .RecordingsURL }}
+ * [Meeting recordings]({{.RecordingsURL}}).
+{{- end }}
+{{- end }}
+
+{{- end }}
+{{- if .Leadership }}
+{{- if .Leadership.Chairs }}
+
+## Members
+{{ range .Leadership.Chairs }}
+* {{.Name}} (**[@{{.GitHub}}](https://github.com/{{.GitHub}})**){{if .Company}}, {{.Company}}{{end}}
+{{- end }}
+{{- end }}
+{{- end }}
+
+## Contact
+
+{{- if .Contact.Slack }}
+* [Slack](https://kubernetes.slack.com/messages/{{.Contact.Slack}})
+{{- end }}
+{{- if .Contact.MailingList }}
+* [Mailing list]({{.Contact.MailingList}})
+{{- end }}
+{{- if .Contact.PrivateMailingList }}
+* Private Mailing List: {{.Contact.PrivateMailingList}}
+{{- end }}
+{{- if .Label }}
+* [Open Community Issues/PRs](https://github.com/kubernetes/community/labels/ug%2F{{.Label}})
+{{- end }}
+{{- if .Subprojects }}
+
+## Subprojects
+
+The following subprojects are owned by the {{.Name}} Committee:
+
+{{- range .Subprojects }}
+- **{{.Name}}**
+{{- if .Description }}
+ - Description: {{ trimSpace .Description }}
+{{- end }}
+ - Owners:
+{{- range .Owners }}
+ - {{.}}
+{{- end }}
+{{- if .Meetings }}
+ - Meetings:
+{{- range .Meetings }}
+ - {{.Description}}: [{{.Day}}s at {{.Time}} {{.TZ}}]({{.URL}}) ({{.Frequency}}). [Convert to your timezone](http://www.thetimezoneconverter.com/?t={{.Time}}&tz={{.TZ | tzUrlEncode}}).
+{{- if .ArchiveURL }}
+ - [Meeting notes and Agenda]({{.ArchiveURL}}).
+{{- end }}
+{{- if .RecordingsURL }}
+ - [Meeting recordings]({{.RecordingsURL}}).
+{{- end }}
+{{- end }}
+{{- end }}
+{{- end }}
+{{- end }}
+{{ if .Contact.GithubTeams }}
+## GitHub Teams
+
+The below teams can be mentioned on issues and PRs in order to get attention from the right people.
+Note that the links to display team membership will only work if you are a member of the org.
+
+| Team Name | Details | Description |
+| --------- |:-------:| ----------- |
+{{- range .Contact.GithubTeams }}
+| @kubernetes/{{.Name}} | [link](https://github.com/orgs/kubernetes/teams/{{.Name}}) | {{.Description}} |
+{{- end }}
+{{ end }}
diff --git a/generator/list.tmpl b/generator/list.tmpl
index f316f75d..d8970cea 100644
--- a/generator/list.tmpl
+++ b/generator/list.tmpl
@@ -2,14 +2,14 @@
# SIGs and Working Groups
Most community activity is organized into Special Interest Groups (SIGs),
-time bounded Working Groups, and the [community meeting](communication.md#weekly-meeting).
+time bounded Working Groups, and the [community meeting](communication/README.md#weekly-meeting).
SIGs follow these [guidelines](governance.md) although each of these groups may operate a little differently
depending on their needs and workflow.
Each group's material is in its subdirectory in this project.
-When the need arises, a [new SIG can be created](sig-creation-procedure.md)
+When the need arises, a [new SIG can be created](sig-wg-lifecycle.md)
### Master SIG List
@@ -34,3 +34,20 @@ When the need arises, a [new SIG can be created](sig-creation-procedure.md)
{{- range .WorkingGroups}}
|[{{.Name}}]({{.Dir}}/README.md)|{{range .StakeholderSIGs}}* {{.}}<br>{{end }}|{{range .Leadership.Chairs}}* [{{.Name}}](https://github.com/{{.GitHub}}){{if .Company}}, {{.Company}}{{end}}<br>{{end}}|* [Slack](https://kubernetes.slack.com/messages/{{.Contact.Slack}})<br>* [Mailing List]({{.Contact.MailingList}})|{{range .Meetings}}* {{.Description}}: [{{.Day}}s at {{.Time}} {{.TZ}} ({{.Frequency}})]({{.URL}})<br>{{end}}
{{- end }}
+{{- /* TODO: remove the below condition when at least one user group has been added */}}
+{{ if .UserGroups }}
+### Master User Group List
+
+| Name | Organizers | Contact | Meetings |
+|------|------------|---------|----------|
+{{- range .UserGroups}}
+|[{{.Name}}]({{.Dir}}/README.md)|{{range .Leadership.Chairs}}* [{{.Name}}](https://github.com/{{.GitHub}}){{if .Company}}, {{.Company}}{{end}}<br>{{end}}|* [Slack](https://kubernetes.slack.com/messages/{{.Contact.Slack}})<br>* [Mailing List]({{.Contact.MailingList}})|{{range .Meetings}}* {{.Description}}: [{{.Day}}s at {{.Time}} {{.TZ}} ({{.Frequency}})]({{.URL}})<br>{{end}}
+{{- end }}
+{{ end }}
+### Master Committee List
+
+| Name | Label | Members | Contact |
+|------|--------|---------|---------|
+{{- range .Committees}}
+|[{{.Name}}]({{.Dir}}/README.md)|{{.Label}}|{{range .Leadership.Chairs}}* [{{.Name}}](https://github.com/{{.GitHub}}){{if .Company}}, {{.Company}}{{end}}<br>{{end}}|{{ if .Contact.Slack }}* [Slack](https://kubernetes.slack.com/messages/{{.Contact.Slack}})<br>{{ end }}{{ if .Contact.MailingList }}* [Mailing List]({{.Contact.MailingList}})<br>{{ end }}{{ if .Contact.PrivateMailingList }}* [Private Mailing List]({{.Contact.PrivateMailingList}}){{ end }}
+{{- end }}
diff --git a/generator/sig_readme.tmpl b/generator/sig_readme.tmpl
index 0d4d347f..734c1512 100644
--- a/generator/sig_readme.tmpl
+++ b/generator/sig_readme.tmpl
@@ -68,6 +68,21 @@ The following subprojects are owned by sig-{{.Label}}:
{{- range .Owners }}
- {{.}}
{{- end }}
+{{- if .Contact }}
+ - Contact
+{{- if .Contact.Slack }}
+ - Slack: [#{{.Contact.Slack}}](https://kubernetes.slack.com/messages/{{.Contact.Slack}})
+{{- end }}
+{{- if .Contact.MailingList }}
+ - [Mailing List]({{.Contact.MailingList}})
+{{- end }}
+{{- if .Contact.GithubTeams }}
+ - GitHub Teams:
+{{- range .Contact.GithubTeams }}
+ - [@kubernetes/{{.Name}}](https://github.com/orgs/kubernetes/teams/{{.Name}}) {{- if .Description }}({{.Description}}){{- end}}
+{{- end }}
+{{- end }}
+{{- end }}
{{- if .Meetings }}
- Meetings:
{{- range .Meetings }}
diff --git a/generator/ug_readme.tmpl b/generator/ug_readme.tmpl
new file mode 100644
index 00000000..e665f0e8
--- /dev/null
+++ b/generator/ug_readme.tmpl
@@ -0,0 +1,49 @@
+{{- template "header" }}
+# {{.Name}} User Group
+
+{{ .MissionStatement }}
+{{- if .CharterLink }}
+The [charter]({{.CharterLink}}) defines the scope and governance of the {{.Name}} User Group.
+{{ end }}
+{{ if .Meetings -}}
+## Meetings
+{{- range .Meetings }}
+* {{.Description}}: [{{.Day}}s at {{.Time}} {{.TZ}}]({{.URL}}) ({{.Frequency}}). [Convert to your timezone](http://www.thetimezoneconverter.com/?t={{.Time}}&tz={{.TZ | tzUrlEncode}}).
+{{- if .ArchiveURL }}
+ * [Meeting notes and Agenda]({{.ArchiveURL}}).
+{{- end }}
+{{- if .RecordingsURL }}
+ * [Meeting recordings]({{.RecordingsURL}}).
+{{- end }}
+{{- end }}
+
+{{- end }}
+{{- if .Leadership }}
+{{- if .Leadership.Chairs }}
+
+## Organizers
+{{ range .Leadership.Chairs }}
+* {{.Name}} (**[@{{.GitHub}}](https://github.com/{{.GitHub}})**){{if .Company}}, {{.Company}}{{end}}
+{{- end }}
+{{- end }}
+{{- end }}
+
+## Contact
+* [Slack](https://kubernetes.slack.com/messages/{{.Contact.Slack}})
+* [Mailing list]({{.Contact.MailingList}})
+{{- if .Label }}
+* [Open Community Issues/PRs](https://github.com/kubernetes/community/labels/ug%2F{{.Label}})
+{{- end }}
+
+{{ if .Contact.GithubTeams }}
+## GitHub Teams
+
+The below teams can be mentioned on issues and PRs in order to get attention from the right people.
+Note that the links to display team membership will only work if you are a member of the org.
+
+| Team Name | Details | Description |
+| --------- |:-------:| ----------- |
+{{- range .Contact.GithubTeams }}
+| @kubernetes/{{.Name}} | [link](https://github.com/orgs/kubernetes/teams/{{.Name}}) | {{.Description}} |
+{{- end }}
+{{ end }}
diff --git a/github-management/README.md b/github-management/README.md
index 74394e41..1f869162 100644
--- a/github-management/README.md
+++ b/github-management/README.md
@@ -111,4 +111,4 @@ repositories and organizations:
and migrate labels across an entire organization based on a defined YAML
configuration
-[security embargo policy]: https://github.com/kubernetes/sig-release/blob/master/security-release-process-documentation/private-distributors-list.md#embargo-policy
+[security embargo policy]: https://git.k8s.io/security/private-distributors-list.md#embargo-policy
diff --git a/go.mod b/go.mod
new file mode 100644
index 00000000..60ce7117
--- /dev/null
+++ b/go.mod
@@ -0,0 +1,8 @@
+module k8s.io/community
+
+go 1.12
+
+require (
+ github.com/client9/misspell v0.3.4
+ gopkg.in/yaml.v2 v2.2.2
+)
diff --git a/go.sum b/go.sum
new file mode 100644
index 00000000..36e682e6
--- /dev/null
+++ b/go.sum
@@ -0,0 +1,6 @@
+github.com/client9/misspell v0.3.4 h1:ta993UF76GwbvJcIo3Y68y/M3WxlpEHPWIGDkJYwzJI=
+github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw=
+gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM=
+gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
+gopkg.in/yaml.v2 v2.2.2 h1:ZCJp+EgiOT7lHqUV2J862kp8Qj64Jo6az82+3Td9dZw=
+gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
diff --git a/governance.md b/governance.md
index 7cdee4cb..243d7a01 100644
--- a/governance.md
+++ b/governance.md
@@ -6,18 +6,22 @@ The Kubernetes community adheres to the following principles:
* Open: Kubernetes is open source. See repository guidelines and CLA, below.
* Welcoming and respectful: See Code of Conduct, below.
* Transparent and accessible: Work and collaboration should be done in public. See SIG governance, below.
-* Merit: Ideas and contributions are accepted according to their technical merit and alignment with project objectives, [scope](https://kubernetes.io/docs/concepts/overview/what-is-kubernetes/), and [design principles](contributors/design-proposals/architecture/principles.md).
+* Merit: Ideas and contributions are accepted according to their technical merit and alignment with project objectives, [scope], and [design principles].
# Code of Conduct
-The Kubernetes community abides by the [Kubernetes code of conduct](/code-of-conduct.md). Here is an excerpt:
+The Kubernetes community abides by the [Kubernetes code of conduct]. Here is an excerpt:
_As contributors and maintainers of this project, and in the interest of fostering an open and welcoming community, we pledge to respect all people who contribute through reporting issues, posting feature requests, updating documentation, submitting pull requests or patches, and other activities._
As a member of the Kubernetes project, you represent the project and your fellow contributors.
We value our community tremendously and we'd like to keep cultivating a friendly and collaborative
environment for our contributors and users. We want everyone in the community to have
-[positive experiences](https://www.cncf.io/blog/2016/12/14/diversity-scholarship-series-one-software-engineers-unexpected-cloudnativecon-kubecon-experience).
+[positive experiences].
+
+# Values
+
+[We have them!]
# Community membership
@@ -83,6 +87,10 @@ community.
See [sig governance] for more details about current SIG operating
mechanics, such as mailing lists, meeting times, etc.
+More information:
+[SIG Governance Requirements]
+[SIG Lifecycle] - for a tactical checklist on creation and retirement
+
### Subprojects
Specific work efforts within SIGs are divided into **subprojects**.
@@ -97,10 +105,9 @@ field technical escalations, etc.
Example subprojects for a few SIGs:
* SIG Network: pod networking (CNI, etc.), Service (incl. kube-proxy),
Ingress, DNS, and Network policy
-* SIG Apps: workload APIs, Helm, Kompose, ...
* SIG Cluster Lifecycle: kubeadm, kops, kubespray, minikube, ...
-Subprojects for each SIG are documented in [sigs.yaml](sigs.yaml).
+Subprojects for each SIG are documented in [sigs.yaml].
## Working Groups
@@ -115,7 +122,7 @@ forming a Working Group.
See [working group governance] for more details about forming and disbanding
Working Groups.
-Working groups are documented in [sigs.yaml](sigs.yaml).
+Working groups are documented in [sigs.yaml].
## Committees
@@ -134,16 +141,16 @@ charter.
Some topics have long term relevance to large groups of Kubernetes users, but
do not have clear deliverables or ownership of parts of the Kubernetes
code base. As such they are neither good fits for SIGs or Working Groups.
-An example of such a topic might be continuous delivery to Kubernetes.
+An example of such a topic might be continuous delivery to Kubernetes.
Though their central goal is not a a deliverable piece of work, as contributing
-members of the community working groups are expected to work with SIGs
+members of the community user groups are expected to work with SIGs
to either identify friction or usability issues that need to be addressed,
or to provide or improve documentation in their area of expertise. However
these activities are covered under general code contributions to the relevant
SIGs (e.g. SIG Docs) rather than as part of the user group. These contributions
-are expected to be more incremental and ad-hoc versus the more targeted
-output of a working group.
+are expected to be more incremental and ad-hoc versus the more targeted
+output of a user group.
User groups function as a centralized resource to facilitate communication
and discovery of information related to the topic of the user group. User
@@ -152,8 +159,8 @@ form working groups under the auspices of some SIG for such work. Likewise
they shouldn't take ownership of anything in the Kubernetes process, as
that is a role for SIGs.
-To facilitate discoverability and engagement,
-user groups are documented in [sigs.yaml](sigs.yaml)
+To facilitate discoverability and engagement,
+user groups are documented in [sigs.yaml]
## Cross-project Communication and Coordination
@@ -192,12 +199,19 @@ Note that "Kubernetes incubator" process has been deprecated in favor of the new
All contributors must sign the CNCF CLA, as described [here](CLA.md).
+[positive experiences]: https://www.cncf.io/blog/2016/12/14/diversity-scholarship-series-one-software-engineers-unexpected-cloudnativecon-kubecon-experience
+[sigs.yaml]: /sigs.yaml
+[SIG Lifecycle]: /sig-wg-lifecycle
+[We have them!]: /values.md
+[Kubernetes code of conduct]: /code-of-conduct.md
+[design principles]: /contributors/design-proposals/architecture/principles.md
+[scope]: https://kubernetes.io/docs/concepts/overview/what-is-kubernetes/
[community membership]: /community-membership.md
-[sig governance]: /sig-governance.md
+[sig governance]: /committee-steering/sig-governance.md
[owners]: /community-membership.md#subproject-owner
[sig charter process]: /committee-steering/governance/README.md
[short template]: /committee-steering/governance/sig-governance-template-short.md
[kubernetes repository guidelines]: /github-management/kubernetes-repositories.md
[working group governance]: /committee-steering/governance/wg-governance.md
-
+[SIG Governance Requirements]: /committee-steering/governance/sig-governance-requirements.md
[![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/governance.md?pixel)]()
diff --git a/hack/tools.go b/hack/tools.go
new file mode 100644
index 00000000..f5c5c532
--- /dev/null
+++ b/hack/tools.go
@@ -0,0 +1,22 @@
+// +build tools
+/*
+Copyright 2019 The Kubernetes Authors.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+package tools
+
+import (
+ _ "github.com/client9/misspell/cmd/misspell"
+)
diff --git a/hack/verify-generated-docs.sh b/hack/verify-generated-docs.sh
index 843541ba..73302358 100755
--- a/hack/verify-generated-docs.sh
+++ b/hack/verify-generated-docs.sh
@@ -37,7 +37,7 @@ make 1>/dev/null
mismatches=0
break=$(printf "=%.0s" $(seq 1 68))
-for file in $(ls ${CRT_DIR}/sig-*/README.md ${CRT_DIR}/wg-*/README.md ${CRT_DIR}/sig-list.md ${CRT_DIR}/OWNERS_ALIASES); do
+for file in $(ls ${CRT_DIR}/sig-*/README.md ${CRT_DIR}/wg-*/README.md ${CRT_DIR}/ug-*/README.md ${CRT_DIR}/committee-*/README.md ${CRT_DIR}/sig-list.md ${CRT_DIR}/OWNERS_ALIASES); do
real=${file#$CRT_DIR/}
if ! diff -q ${file} ${WORKING_DIR}/${real} &>/dev/null; then
echo "${file} does not match ${WORKING_DIR}/${real}";
diff --git a/sig-api-machinery/README.md b/sig-api-machinery/README.md
index 77896d3c..76aab707 100644
--- a/sig-api-machinery/README.md
+++ b/sig-api-machinery/README.md
@@ -14,6 +14,7 @@ Covers all aspects of API server, API registration and discovery, generic API CR
* Regular SIG Meeting: [Wednesdays at 11:00 PT (Pacific Time)](https://docs.google.com/document/d/1FQx0BPlkkl1Bn0c9ocVBxYIKojpmrS1CFP5h0DI68AE/edit) (biweekly). [Convert to your timezone](http://www.thetimezoneconverter.com/?t=11:00&tz=PT%20%28Pacific%20Time%29).
* [Meeting notes and Agenda](https://goo.gl/0lbiM9).
* [Meeting recordings](https://www.youtube.com/watch?v=Lj1ScbXpnpY&list=PL69nYSiGNLP21oW3hbLyjjj4XhrwKxH2R).
+* Kubebuilder and Controller Runtime Meeting: [Wednesdays at 10:00 PT (Pacific Time)]() (monthly - second Wednesday every month). [Convert to your timezone](http://www.thetimezoneconverter.com/?t=10:00&tz=PT%20%28Pacific%20Time%29).
## Leadership
@@ -67,7 +68,7 @@ The following subprojects are owned by sig-api-machinery:
- https://raw.githubusercontent.com/kubernetes/kubernetes/master/staging/src/k8s.io/sample-apiserver/OWNERS
- https://raw.githubusercontent.com/kubernetes/sample-controller/master/OWNERS
- https://raw.githubusercontent.com/kubernetes/kubernetes/master/staging/src/k8s.io/sample-controller/OWNERS
- - https://raw.githubusercontent.com/kubernetes-incubator/apiserver-builder/master/OWNERS
+ - https://raw.githubusercontent.com/kubernetes-incubator/apiserver-builder-alpha/master/OWNERS
- https://raw.githubusercontent.com/kubernetes-sigs/controller-runtime/master/OWNERS
- https://raw.githubusercontent.com/kubernetes-sigs/controller-tools/master/OWNERS
- https://raw.githubusercontent.com/kubernetes-sigs/kubebuilder/master/OWNERS
diff --git a/sig-architecture/README.md b/sig-architecture/README.md
index 8aad8025..43fd0401 100644
--- a/sig-architecture/README.md
+++ b/sig-architecture/README.md
@@ -13,9 +13,12 @@ The Architecture SIG maintains and evolves the design principles of Kubernetes,
The [charter](charter.md) defines the scope and governance of the Architecture Special Interest Group.
## Meetings
-* Regular SIG Meeting: [Thursdays at 19:00 UTC](https://docs.google.com/document/d/1FQx0BPlkkl1Bn0c9ocVBxYIKojpmrS1CFP5h0DI68AE/edit) (weekly). [Convert to your timezone](http://www.thetimezoneconverter.com/?t=19:00&tz=UTC).
+* Regular SIG Meeting: [Thursdays at 19:00 UTC](https://docs.google.com/document/d/1FQx0BPlkkl1Bn0c9ocVBxYIKojpmrS1CFP5h0DI68AE/edit) (biweekly). [Convert to your timezone](http://www.thetimezoneconverter.com/?t=19:00&tz=UTC).
* [Meeting notes and Agenda](https://docs.google.com/document/d/1BlmHq5uPyBUDlppYqAAzslVbAO8hilgjqZUTaNXUhKM/edit).
* [Meeting recordings](https://www.youtube.com/playlist?list=PL69nYSiGNLP2m6198LaLN6YahX7EEac5g).
+* conformance Office Hours: [Tuesdays at 12:00 PT (Pacific Time)](https://docs.google.com/document/d/1FQx0BPlkkl1Bn0c9ocVBxYIKojpmrS1CFP5h0DI68AE/edit) (weekly). [Convert to your timezone](http://www.thetimezoneconverter.com/?t=12:00&tz=PT%20%28Pacific%20Time%29).
+ * [Meeting notes and Agenda](https://docs.google.com/document/d/1W31nXh9RYAb_VaYkwuPLd1hFxuRX3iU0DmaQ4lkCsX8/edit#).
+ * [Meeting recordings](https://www.youtube.com/playlist?list=PL69nYSiGNLP2m6198LaLN6YahX7EEac5g).
## Leadership
@@ -25,6 +28,8 @@ The Chairs of the SIG run operations and processes governing the SIG.
* Brian Grant (**[@bgrant0607](https://github.com/bgrant0607)**), Google
* Jaice Singer DuMars (**[@jdumars](https://github.com/jdumars)**), Google
* Matt Farina (**[@mattfarina](https://github.com/mattfarina)**), Samsung SDS
+* Derek Carr (**[@derekwaynecarr](https://github.com/derekwaynecarr)**), Red Hat
+* Davanum Srinivas (**[@dims](https://github.com/dims)**), Huawei
## Contact
* [Slack](https://kubernetes.slack.com/messages/sig-architecture)
@@ -46,11 +51,10 @@ The following subprojects are owned by sig-architecture:
- Owners:
- https://raw.githubusercontent.com/kubernetes/kubernetes/master/test/conformance/testdata/OWNERS
- https://raw.githubusercontent.com/kubernetes/kubernetes/master/test/conformance/OWNERS
-- **kep-adoption-and-reviews**
- - Description: [Described below](#kep-adoption-and-reviews)
- - Owners:
- - https://raw.githubusercontent.com/kubernetes/community/master/keps/OWNERS
- - https://raw.githubusercontent.com/kubernetes/enhancements/master/keps/OWNERS
+ - Contact
+ - Slack: [#k8s-conformance](https://kubernetes.slack.com/messages/k8s-conformance)
+ - GitHub Teams:
+ - [@kubernetes/cncf-conformance-wg](https://github.com/orgs/kubernetes/teams/cncf-conformance-wg)
- **code-organization**
- Description: [Described below](#code-organization)
- Owners:
@@ -62,12 +66,6 @@ The following subprojects are owned by sig-architecture:
- **klog**
- Owners:
- https://raw.githubusercontent.com/kubernetes/klog/master/OWNERS
-- **steering**
- - Description: Placeholder until sigs.yaml supports committees as first-class groups. These repos are owned by the kubernetes steering committee, which is a wholly separate entity from SIG Architecture
- - Owners:
- - https://raw.githubusercontent.com/kubernetes/steering/master/OWNERS
- - https://raw.githubusercontent.com/kubernetes-incubator/spartakus/master/OWNERS
- - https://raw.githubusercontent.com/kubernetes/kubernetes-template-project/master/OWNERS
## GitHub Teams
@@ -86,10 +84,6 @@ Note that the links to display team membership will only work if you are a membe
<!-- BEGIN CUSTOM CONTENT -->
-## Additional materials
-
-* [Charter](charter.md)
-
# Details about SIG-Architecture sub-projects
## Architecture and API Governance
@@ -104,7 +98,7 @@ Establishing and documenting conventions for system and user-facing APIs, define
* [API Review process](https://github.com/kubernetes/community/blob/master/sig-architecture/api-review-process.md)
* [Deprecation policy](https://kubernetes.io/docs/reference/deprecation-policy/)
-Please see the [Design documentation](https://github.com/kubernetes-sigs/architecture-tracking/projects/4) and [API Reviews](https://github.com/kubernetes-sigs/architecture-tracking/projects/3) tracking boards to follow the work of this sub-project. Please reach out to folks in the [OWNERS](https://github.com/kubernetes/community/blob/master/contributors/design-proposals/architecture/OWNERS) file if you are interested in joining this effort.
+Please see the [API Reviews](https://github.com/orgs/kubernetes/projects/13) tracking board to follow the work of this sub-project. Please reach out to folks in the [OWNERS](https://github.com/kubernetes/community/blob/master/contributors/design-proposals/architecture/OWNERS) file if you are interested in joining this effort.
## Conformance Definition
@@ -115,15 +109,6 @@ Reviewing, approving, and driving changes to the conformance test suite; reviewi
Please see the [Conformance Test Review](https://github.com/kubernetes-sigs/architecture-tracking/projects/1) tracking board to follow the work for this sub-project. Please reach out to folks in the [OWNERS](https://github.com/kubernetes/kubernetes/blob/master/test/conformance/testdata/OWNERS) file if you are interested in joining this effort. There is a lot of overlap with the [Kubernetes Software Conformance Working Group](https://github.com/cncf/k8s-conformance/blob/master/README-WG.md) with this sub project as well. The github group [cncf-conformance-wg](https://github.com/orgs/kubernetes/teams/cncf-conformance-wg) enumerates the folks on this working group. Look for the `area/conformance` label in the kubernetes repositories to mark [issues](https://github.com/kubernetes/kubernetes/issues?q=is%3Aissue+is%3Aopen+label%3Aarea%2Fconformance) and [PRs](https://github.com/kubernetes/kubernetes/pulls?q=is%3Apr+is%3Aopen+label%3Aarea%2Fconformance)
-## KEP Adoption and Reviews
-
-Develop and drive technical enhancement review process
-
-* [KEP Process](https://github.com/kubernetes/community/blob/master/keps/0001-kubernetes-enhancement-proposal-process.md)
-* [Template](https://git.k8s.io/enhancements/keps/YYYYMMDD-kep-template.md)
-
-Please see the [KEP Tracking](https://github.com/kubernetes-sigs/architecture-tracking/projects/2) board to follow the work of this sub-project. Please reach out to folks in the [OWNERS](https://github.com/kubernetes/community/blob/master/keps/OWNERS) file if you are interested in joining this effort.
-
## Code Organization
Overall code organization, including github repositories and branching methodology, top-level and pkg OWNERS of kubernetes/kubernetes, vendoring
diff --git a/sig-architecture/charter.md b/sig-architecture/charter.md
index 066f0625..a0d87fbe 100644
--- a/sig-architecture/charter.md
+++ b/sig-architecture/charter.md
@@ -22,7 +22,6 @@ The Architecture SIG maintains and evolves the design principles of Kubernetes,
- API review process
- Conformance test review and management
-- The Kubernetes Enhancement Proposal (KEP) process and KEP reviews
- Design documentation management
- Deprecation policy management
- Architectural initiative backlog management
@@ -31,6 +30,7 @@ The Architecture SIG maintains and evolves the design principles of Kubernetes,
- KEPs that do not have architectural implications or impact are managed by their respective sponsoring SIG(s)
- The release enhancement delivery [process] that is part of the SIG-Release Release Team [subproject]
+- The KEP process itself is now managed by SIG-PM and architecture subprojects are stakeholders
## Roles and Organization Management
@@ -51,12 +51,6 @@ and opts-in to updates and modifications to [sig-governance].
Federation of Subprojects as defined in [sig-governance]
-### To do
-
-- There remains lack of consensus in this SIG regarding the need for company and other diversity in the leadership of this SIG and it's subprojects, beyond what is contained in [sig-governance]. This still needs to be resolved and documented in this charter. Further details may be found [here].
-
-- It remains unspecified whether and how SIG-Architecture gets involved in resolving technical [conflicts] within and between other SIG's, and this SIG's sub-projects. This still needs to be resolved and documented in this charter.
-
[sig-governance]: https://github.com/kubernetes/community/blob/master/committee-steering/governance/sig-governance.md
[sig-subprojects]: https://github.com/kubernetes/community/blob/master/sig-architecture/README.md#subprojects
[Kubernetes Charter README]: https://github.com/kubernetes/community/blob/master/committee-steering/governance/README.md
diff --git a/sig-auth/README.md b/sig-auth/README.md
index e3965335..f783eede 100644
--- a/sig-auth/README.md
+++ b/sig-auth/README.md
@@ -128,6 +128,10 @@ The following subprojects are owned by sig-auth:
- https://raw.githubusercontent.com/kubernetes/kubernetes/master/pkg/kubelet/token/OWNERS
- https://raw.githubusercontent.com/kubernetes/kubernetes/master/pkg/serviceaccount/OWNERS
- https://raw.githubusercontent.com/kubernetes/kubernetes/master/plugin/pkg/admission/serviceaccount/OWNERS
+- **multi-tenancy**
+ - Description: Proposals and prototypes for introducing tenant model to enable multi-tenant cluster
+ - Owners:
+ - https://raw.githubusercontent.com/kubernetes-sigs/multi-tenancy/master/OWNERS
## GitHub Teams
diff --git a/sig-auth/archive/meeting-notes-2018.md b/sig-auth/archive/meeting-notes-2018.md
index b67e1ec0..4b40c044 100644
--- a/sig-auth/archive/meeting-notes-2018.md
+++ b/sig-auth/archive/meeting-notes-2018.md
@@ -582,7 +582,7 @@ q2Xz68mF3_LggEY/edit?ts=5a68cdbc
* Tim Allclair (@tallclair, Google) nominated as replacement
* Long-term contributor to k8s auth/security
* Helped drive pod security policy and audit features
- * Member of kubernetes product security team
+ * Member of kubernetes product security committee
* Brings container/node security expertise
* Unanimous support from other leads (Jordan Liggitt, Red Hat; Eric Chiang, CoreOS)
* Feedback on the change welcome (either public or private)
diff --git a/sig-auth/charter.md b/sig-auth/charter.md
index 541c854e..7bd49bb5 100644
--- a/sig-auth/charter.md
+++ b/sig-auth/charter.md
@@ -49,7 +49,7 @@ Link to SIG section in [sigs.yaml]
- Protection of volume data, container ephemeral data, and other non-API data (prefer: sig-storage
and sig-node)
- Container isolation (prefer: sig-node and sig-networking)
- - Bug bounty (prefer: product security team)
+ - Bug bounty (prefer: product security committee)
- Resource quota (prefer: sig-scheduling)
- Resource availability / DOS protection (prefer: sig-apimachinery, sig-network, sig-node)
diff --git a/sig-azure/README.md b/sig-azure/README.md
index 78705b66..92139a16 100644
--- a/sig-azure/README.md
+++ b/sig-azure/README.md
@@ -46,6 +46,10 @@ The following subprojects are owned by sig-azure:
- **cluster-api-provider-azure**
- Owners:
- https://raw.githubusercontent.com/kubernetes-sigs/cluster-api-provider-azure/master/OWNERS
+- **csi-drivers-azure**
+ - Owners:
+ - https://raw.githubusercontent.com/kubernetes-sigs/azuredisk-csi-driver/master/OWNERS
+ - https://raw.githubusercontent.com/kubernetes-sigs/azurefile-csi-driver/master/OWNERS
## GitHub Teams
diff --git a/sig-cloud-provider/README.md b/sig-cloud-provider/README.md
index a4435dfb..7cad59a3 100644
--- a/sig-cloud-provider/README.md
+++ b/sig-cloud-provider/README.md
@@ -58,7 +58,7 @@ The following subprojects are owned by sig-cloud-provider:
- Owners:
- https://raw.githubusercontent.com/kubernetes/community/master/sig-cloud-provider/cloud-provider-extraction-migration/OWNERS
- Meetings:
- - Weekly Sync removing the in-tree cloud providers led by @cheftako and @andrewsykim: [Thursdays at 13:30 PT (Pacific Time)](https://docs.google.com/document/d/1KLsGGzNXQbsPeELCeF_q-f0h0CEGSe20xiwvcR2NlYM/edit) (weekly). [Convert to your timezone](http://www.thetimezoneconverter.com/?t=13:30&tz=PT%20%28Pacific%20Time%29).
+ - Weekly Sync removing the in-tree cloud providers led by @cheftako and @mcrute: [Thursdays at 13:30 PT (Pacific Time)](https://docs.google.com/document/d/1KLsGGzNXQbsPeELCeF_q-f0h0CEGSe20xiwvcR2NlYM/edit) (weekly). [Convert to your timezone](http://www.thetimezoneconverter.com/?t=13:30&tz=PT%20%28Pacific%20Time%29).
## GitHub Teams
diff --git a/sig-cloud-provider/cloud-provider-extraction-migration/OWNERS b/sig-cloud-provider/cloud-provider-extraction-migration/OWNERS
index 9b7ac0ea..681183fe 100644
--- a/sig-cloud-provider/cloud-provider-extraction-migration/OWNERS
+++ b/sig-cloud-provider/cloud-provider-extraction-migration/OWNERS
@@ -2,9 +2,9 @@
reviewers:
- cheftako
- - andrewsykim
+ - mcrute
approvers:
- cheftako
- - andrewsykim
+ - mcrute
labels:
- sig/cloud-provider
diff --git a/sig-cluster-lifecycle/README.md b/sig-cluster-lifecycle/README.md
index 9de1372a..650f9d86 100644
--- a/sig-cluster-lifecycle/README.md
+++ b/sig-cluster-lifecycle/README.md
@@ -31,11 +31,12 @@ The Cluster Lifecycle SIG examines how we should change Kubernetes to make it ea
* [Meeting recordings](https://www.youtube.com/playlist?list=PL69nYSiGNLP29D0nYgAGWt1ZFqS9Z7lw4).
* kops Office Hours: [Fridays at 09:00 PT (Pacific Time)](https://docs.google.com/document/d/1FQx0BPlkkl1Bn0c9ocVBxYIKojpmrS1CFP5h0DI68AE/edit) (biweekly). [Convert to your timezone](http://www.thetimezoneconverter.com/?t=09:00&tz=PT%20%28Pacific%20Time%29).
* [Meeting notes and Agenda](https://docs.google.com/document/d/12QkyL0FkNbWPcLFxxRGSPt_tNPBHbmni3YLY-lHny7E/edit).
-* Kubespray Office Hours: [Wednesdays at 07:00 PT (Pacific Time)](https://docs.google.com/document/d/1FQx0BPlkkl1Bn0c9ocVBxYIKojpmrS1CFP5h0DI68AE/edit) (biweekly). [Convert to your timezone](http://www.thetimezoneconverter.com/?t=07:00&tz=PT%20%28Pacific%20Time%29).
+* Kubespray Office Hours: [Wednesdays at 08:00 PT (Pacific Time)](https://docs.google.com/document/d/1FQx0BPlkkl1Bn0c9ocVBxYIKojpmrS1CFP5h0DI68AE/edit) (biweekly). [Convert to your timezone](http://www.thetimezoneconverter.com/?t=08:00&tz=PT%20%28Pacific%20Time%29).
* [Meeting notes and Agenda](https://docs.google.com/document/d/1oDI1rTwla393k6nEMkqz0RU9rUl3J1hov0kQfNcl-4o/edit).
+* Cluster Addons meeting: [Fridays at 10:00 PT (Pacific Time)](https://docs.google.com/document/d/1FQx0BPlkkl1Bn0c9ocVBxYIKojpmrS1CFP5h0DI68AE/edit) (biweekly). [Convert to your timezone](http://www.thetimezoneconverter.com/?t=10:00&tz=PT%20%28Pacific%20Time%29).
+ * [Meeting notes and Agenda](https://docs.google.com/document/d/10_tl_SXcFGb-2109QpcFVrdrfnVEuQ05MBrXtasB0vk/edit).
* minikube Office Hours: [Mondays at 10:00 PT (Pacific Time)](https://docs.google.com/document/d/1FQx0BPlkkl1Bn0c9ocVBxYIKojpmrS1CFP5h0DI68AE/edit) (biweekly). [Convert to your timezone](http://www.thetimezoneconverter.com/?t=10:00&tz=PT%20%28Pacific%20Time%29).
- * [Meeting notes and Agenda](https://docs.google.com/document/d/1jhfmL1gsgN39uCEgz5pW9tnIotFgHhxq2yfMK3KYE4w/edit#heading=h.pry1y79ou79l).
- * [Meeting recordings](https://www.youtube.com/playlist?list=PL69nYSiGNLP29D0nYgAGWt1ZFqS9Z7lw4).
+ * [Meeting notes and Agenda](https://docs.google.com/document/d/1jhfmL1gsgN39uCEgz5pW9tnIotFgHhxq2yfMK3KYE4w/edit).
## Leadership
@@ -72,6 +73,9 @@ The following subprojects are owned by sig-cluster-lifecycle:
- **cluster-api-provider-openstack**
- Owners:
- https://raw.githubusercontent.com/kubernetes-sigs/cluster-api-provider-openstack/master/OWNERS
+- **etcdadm**
+ - Owners:
+ - https://raw.githubusercontent.com/kubernetes-sigs/etcdadm/master/OWNERS
- **kops**
- Owners:
- https://raw.githubusercontent.com/kubernetes/kops/master/OWNERS
@@ -101,6 +105,9 @@ The following subprojects are owned by sig-cluster-lifecycle:
- **minikube**
- Owners:
- https://raw.githubusercontent.com/kubernetes/minikube/master/OWNERS
+- **cluster-addons**
+ - Owners:
+ - https://raw.githubusercontent.com/kubernetes-sigs/addon-operators/master/OWNERS
## GitHub Teams
diff --git a/sig-contributor-experience/README.md b/sig-contributor-experience/README.md
index b6b2eef7..43bbd5cb 100644
--- a/sig-contributor-experience/README.md
+++ b/sig-contributor-experience/README.md
@@ -13,23 +13,24 @@ Developing and sustaining a healthy community of contributors is critical to sca
The [charter](charter.md) defines the scope and governance of the Contributor Experience Special Interest Group.
## Meetings
-* Regular SIG Meeting: [Wednesdays at 9:30 PT (Pacific Time)](https://docs.google.com/document/d/1FQx0BPlkkl1Bn0c9ocVBxYIKojpmrS1CFP5h0DI68AE/edit) (weekly). [Convert to your timezone](http://www.thetimezoneconverter.com/?t=9:30&tz=PT%20%28Pacific%20Time%29).
+* Regular SIG Meeting: [Wednesdays at 9:30 PT (Pacific Time)](https://docs.google.com/document/d/1FQx0BPlkkl1Bn0c9ocVBxYIKojpmrS1CFP5h0DI68AE/edit) (weekly - except fourth Wednesday every month). [Convert to your timezone](http://www.thetimezoneconverter.com/?t=9:30&tz=PT%20%28Pacific%20Time%29).
* [Meeting notes and Agenda](https://docs.google.com/document/d/1qf-02B7EOrItQgwXFxgqZ5qjW0mtfu5qkYIF1Hl4ZLI/).
* [Meeting recordings](https://www.youtube.com/watch?v=EMGUdOKwSns&list=PL69nYSiGNLP2x_48wbOPO0vXQgNTm_xxr).
+* APAC SIG Meeting: [Wednesdays at 20:00 PT (Pacific Time)](https://docs.google.com/document/d/1FQx0BPlkkl1Bn0c9ocVBxYIKojpmrS1CFP5h0DI68AE/edit) (monthly - fourth Wednesday every month). [Convert to your timezone](http://www.thetimezoneconverter.com/?t=20:00&tz=PT%20%28Pacific%20Time%29).
## Leadership
### Chairs
The Chairs of the SIG run operations and processes governing the SIG.
-* Elsie Phillips (**[@Phillels](https://github.com/Phillels)**), CoreOS
+* Elsie Phillips (**[@Phillels](https://github.com/Phillels)**), Red Hat
* Paris Pittman (**[@parispittman](https://github.com/parispittman)**), Google
### Technical Leads
The Technical Leads of the SIG establish new subprojects, decommission existing
subprojects, and resolve cross-subproject technical issues and decisions.
-* Christoph Blecker (**[@cblecker](https://github.com/cblecker)**)
+* Christoph Blecker (**[@cblecker](https://github.com/cblecker)**), Red Hat
* Nikhita Raghunath (**[@nikhita](https://github.com/nikhita)**)
## Emeritus Leads
@@ -49,7 +50,7 @@ The following subprojects are owned by sig-contributor-experience:
- https://raw.githubusercontent.com/kubernetes/community/master/OWNERS
- **community-management**
- Owners:
- - https://raw.githubusercontent.com/kubernetes/community/master/communication/OWNERS https://raw.githubusercontent.com/kubernetes/community/master/events/OWNERS
+ - https://raw.githubusercontent.com/kubernetes/community/master/communication/OWNERS
- **github-management**
- Owners:
- https://raw.githubusercontent.com/kubernetes/community/master/github-management/OWNERS
diff --git a/sig-governance.md b/sig-governance.md
index 3551a102..8d6f3cc2 100644
--- a/sig-governance.md
+++ b/sig-governance.md
@@ -1,114 +1,3 @@
-# SIG Governance
+This document was spread into various sections of documents in the [committee-steering] folder. This tombstone should be deleted before the 1.15 release and verified there are no dependencies.
-In order to standardize Special Interest Group efforts, create maximum transparency, and route contributors to the appropriate SIG, SIGs should follow the guidelines stated below:
-
-* Create a charter and have it approved according to the [SIG charter process]
-* Meet regularly, at least for 30 minutes every 3 weeks, except November and December
-* Keep up-to-date meeting notes, linked from the SIG's page in the community repo
-* Announce meeting agenda and minutes after each meeting, on their SIG mailing list
-* Record SIG meeting and make it publicly available
-* Ensure the SIG's mailing list and slack channel are archived
-* Report activity in the weekly community meeting at least once every 6 weeks
-* Participate in release planning meetings and retrospectives, and burndown meetings, as needed
-* Ensure related work happens in a project-owned github org and repository, with code and tests explicitly owned and supported by the SIG, including issue triage, PR reviews, test-failure response, bug fixes, etc.
-* Use the above forums as the primary means of working, communicating, and collaborating, as opposed to private emails and meetings
-
-In addition, SIGs have the following responsibilities to SIG PM:
-* identify SIG annual roadmap
-* identify all SIG features in the current release
-* actively track / maintain SIG features within [k/features](https://github.com/kubernetes/features)
-* attend [SIG PM](/sig-pm/README.md) meetings, as needed / requested
-
-[SIG charter process]: /committee-steering/governance/README.md
-
-## SIG Roles
-
-Defining SIG Roles is a function of the SIG Charter.
-Guidelines for drafting a SIG Charter can be found [here](/committee-steering/governance/README.md).
-
-## SIG creation and maintenance procedure
-
-### Prerequisites
-
-* Work with the Steering Committee to scope the SIG and get provisional approval.
- Follow the [SIG charter process] to propose and obtain approval for a charter.
-* Ask a repo maintainer to create a github label, if one doesn't already exist: sig/foo
-* Request a new [kubernetes.slack.com](http://kubernetes.slack.com) channel (#sig-foo) from [@parispittman](https://github.com/parispittman) or [@castrojo](https://github.com/castrojo). New users can join at [slack.kubernetes.io](http://slack.kubernetes.io).
-* Organize video meetings as needed. No need to wait for the [Weekly Community Video Conference](community/README.md) to discuss. Please report summary of SIG activities there.
- * Request a Zoom account by emailing Paris Pittman(`parispittman@google.com`) and Jorge Castro(`jorgec@vmware.com`). You must set up a google group (see below) for the SIG leads so that all the SIG leads have the ability to reset the password if necessary.
- * Read [how to use YouTube](/communication/K8sYoutubeCollaboration.md) for publishing your videos to the Kubernetes channel.
- * Calendars
- 1. Create a calendar on your own account. Make it public.
- 2. Share it with all SIG leads with full ownership of the calendar - they can edit, rename, or even delete it.
- 3. Share it with `sc1@kubernetes.io`, `sc2@kubernetes.io`, `sc3@kubernetes.io`, with full ownership. This is just in case SIG leads ever disappear.
- 4. Share it with the SIG mailing list, lowest privileges.
- 5. Share individual events with `cgnt364vd8s86hr2phapfjc6uk@group.calendar.google.com` to publish on the universal calendar.
-* Use existing proposal and PR process (to be documented)
-* Announce new SIG on kubernetes-dev@googlegroups.com
-* Leads should [subscribe to the kubernetes-sig-leads mailing list](https://groups.google.com/forum/#!forum/kubernetes-sig-leads)
-* Submit a PR to add a row for the SIG to the table in the kubernetes/community README.md file, to create a kubernetes/community directory, and to add any SIG-related docs, schedules, roadmaps, etc. to your new kubernetes/community/SIG-foo directory.
-
-### Discussion Platforms
-
-Your SIG needs a place to discuss topics asynchronously. You have two options, a traditional mailing list via Google Groups, or a category on [discuss.kubernetes.io](discuss.kubernetes.io). The main difference is Groups is primarily email-based with a web UI tacked on, and Discuss is primarily a Web UI with email tacked-on. The other difference is that your SIG/WG is responsible for moderating your Google Group; with discuss you just depend on the usual community moderation.
-
-- Working Groups, due to their temporary nature, are strongly encouraged to consider using an existing SIG mailing list if appropriate, otherwise use a discuss category for less management overhead.
-- SIGs, due to their usage of calendars, and Zoom accounts, are strongly encouraged to use a traditional mailing list.
-
-Choose one:
-
-#### Create a Category
-
-Post a message asking for a category in the [Site Feedback and Help](https://discuss.kubernetes.io/c/site-feedback) section and a moderator will create your category for you and provide you with a URL and mail address to post to.
-
-#### Creating a Google Group
-
-Create a Google Group at [https://groups.google.com/forum/#!creategroup](https://groups.google.com/forum/#!creategroup), following the procedure:
-
-Each SIG must have two discussion groups with the following settings.
-
-- kubernetes-sig-foo (the discussion group):
- - Anyone can view content
- - Anyone can join
- - Anyone can post
- - Only members can view the list of members
-- kubernetes-sig-foo-leads (list for the leads, to be used with Zoom and Calendars)
- - Only members can view group content
- - Anyone can apply to join
- - Anyone can post
- - Only members can view the list of members
-- Groups should be created as e-mail lists with at least three owners (including parispittman at google.com and ihor.dvoretskyi at gmail.com);
-- To add the owners, visit the Group Settings (drop-down menu on the right side), select Direct Add Members on the left side and add Paris and Ihor via email address (with a suitable welcome message); in Members/All Members select Ihor and Paris and assign to an "owner role"
-- Set "View topics", "Post", "Join the Group" permissions to be "Public"
-
-## SIG/WG Retirement
-
-Sometimes it might be necessary to sunset a SIG or Working Group.
-SIGs/WGs may also merge with an existing SIG/WG if deemed appropriate, and would save project overhead in the long run.
-Working Groups in particular are more ephemeral than SIGs, so this process should be followed when the Working Group has accomplished it's mission.
-
-- Retiring a SIG for is covered in the [SIG Governance](https://github.com/kubernetes/community/blob/master/committee-steering/governance/sig-governance.md)
-- Retiring a Working Group is covered in [WG Governance](https://github.com/kubernetes/community/blob/master/committee-steering/governance/wg-governance.md)
-
-The process for closing a SIG/WG is as follows:
-
-- SIG Chairs agree to disband. This decision should follow the decision making process of the SIG's Charter.
-- Send a email to kubernetes-dev to let people know the SIG has either closed or merged with another SIG. This will let SIG Contributor Experience know that they need to help you archive/deactivate project resources.
- - Consider sending a [closing summary](https://docs.google.com/document/d/1qZcAvuWBznR_oEaPWtwm7U4JNT91m8r9YOUvInU-src/edit#heading=h.jsw0l2t0ra8) to the list.
-- Work with SIG Contributor Experience to:
- - Archive the mailing list/group
- - Archive the leads mailing list/group
- - Archive the slack channel
- - Deactivate the group's Zoom license
- - Move all appropriate github repositories to an appropriate archive or a repo outside of the Kubernetes org
- - Each subproject a SIG owns must transfer ownership to a new SIG, outside the project, or be retired
- - File an issue with kubernetes/org if multiple repos that need to be retired
- - Coordinate with SIG Testing on the following topics (if necessary)
- - Retire or transfer any test-infra jobs owned by the SIG
- - Retire or transfer any testgrid dashboards owned by the SIG
- - Clean up and remove all GitHub teams that refer to that SIG/WG
- - Migrate/Remove/Deprecate any SIG/WG labels in [labels.yaml](https://git.k8s.io/test-infra/label_sync/labels.yaml)
- - Ensure that the YouTube Collaboration links are removed
-- Remove SIG Calendar and events from the community calendar
-- Update `sigs.yaml` to reflect the removal of the SIG/WG
- - Move the existing SIG directory into the [archive](/archive) in kubernetes/community \ No newline at end of file
+[committee-steering]: /committee-steering
diff --git a/sig-list.md b/sig-list.md
index c5cb1bf3..0e9239b7 100644
--- a/sig-list.md
+++ b/sig-list.md
@@ -9,31 +9,31 @@ To understand how this file is generated, see https://git.k8s.io/community/gener
# SIGs and Working Groups
Most community activity is organized into Special Interest Groups (SIGs),
-time bounded Working Groups, and the [community meeting](communication.md#weekly-meeting).
+time bounded Working Groups, and the [community meeting](communication/README.md#weekly-meeting).
SIGs follow these [guidelines](governance.md) although each of these groups may operate a little differently
depending on their needs and workflow.
Each group's material is in its subdirectory in this project.
-When the need arises, a [new SIG can be created](sig-creation-procedure.md)
+When the need arises, a [new SIG can be created](sig-wg-lifecycle.md)
### Master SIG List
| Name | Label | Chairs | Contact | Meetings |
|------|-------|--------|---------|----------|
-|[API Machinery](sig-api-machinery/README.md)|api-machinery|* [Daniel Smith](https://github.com/lavalamp), Google<br>* [David Eads](https://github.com/deads2k), Red Hat<br>|* [Slack](https://kubernetes.slack.com/messages/sig-api-machinery)<br>* [Mailing List](https://groups.google.com/forum/#!forum/kubernetes-sig-api-machinery)|* Regular SIG Meeting: [Wednesdays at 11:00 PT (Pacific Time) (biweekly)](https://docs.google.com/document/d/1FQx0BPlkkl1Bn0c9ocVBxYIKojpmrS1CFP5h0DI68AE/edit)<br>
+|[API Machinery](sig-api-machinery/README.md)|api-machinery|* [Daniel Smith](https://github.com/lavalamp), Google<br>* [David Eads](https://github.com/deads2k), Red Hat<br>|* [Slack](https://kubernetes.slack.com/messages/sig-api-machinery)<br>* [Mailing List](https://groups.google.com/forum/#!forum/kubernetes-sig-api-machinery)|* Regular SIG Meeting: [Wednesdays at 11:00 PT (Pacific Time) (biweekly)](https://docs.google.com/document/d/1FQx0BPlkkl1Bn0c9ocVBxYIKojpmrS1CFP5h0DI68AE/edit)<br>* Kubebuilder and Controller Runtime Meeting: [Wednesdays at 10:00 PT (Pacific Time) (monthly - second Wednesday every month)]()<br>
|[Apps](sig-apps/README.md)|apps|* [Matt Farina](https://github.com/mattfarina), Samsung SDS<br>* [Adnan Abdulhussein](https://github.com/prydonius), Bitnami<br>* [Kenneth Owens](https://github.com/kow3ns), Google<br>|* [Slack](https://kubernetes.slack.com/messages/sig-apps)<br>* [Mailing List](https://groups.google.com/forum/#!forum/kubernetes-sig-apps)|* Regular SIG Meeting: [Mondays at 9:00 PT (Pacific Time) (weekly)](https://docs.google.com/document/d/1FQx0BPlkkl1Bn0c9ocVBxYIKojpmrS1CFP5h0DI68AE/edit)<br>
-|[Architecture](sig-architecture/README.md)|architecture|* [Brian Grant](https://github.com/bgrant0607), Google<br>* [Jaice Singer DuMars](https://github.com/jdumars), Google<br>* [Matt Farina](https://github.com/mattfarina), Samsung SDS<br>|* [Slack](https://kubernetes.slack.com/messages/sig-architecture)<br>* [Mailing List](https://groups.google.com/forum/#!forum/kubernetes-sig-architecture)|* Regular SIG Meeting: [Thursdays at 19:00 UTC (weekly)](https://docs.google.com/document/d/1FQx0BPlkkl1Bn0c9ocVBxYIKojpmrS1CFP5h0DI68AE/edit)<br>
+|[Architecture](sig-architecture/README.md)|architecture|* [Brian Grant](https://github.com/bgrant0607), Google<br>* [Jaice Singer DuMars](https://github.com/jdumars), Google<br>* [Matt Farina](https://github.com/mattfarina), Samsung SDS<br>* [Derek Carr](https://github.com/derekwaynecarr), Red Hat<br>* [Davanum Srinivas](https://github.com/dims), Huawei<br>|* [Slack](https://kubernetes.slack.com/messages/sig-architecture)<br>* [Mailing List](https://groups.google.com/forum/#!forum/kubernetes-sig-architecture)|* Regular SIG Meeting: [Thursdays at 19:00 UTC (biweekly)](https://docs.google.com/document/d/1FQx0BPlkkl1Bn0c9ocVBxYIKojpmrS1CFP5h0DI68AE/edit)<br>* conformance Office Hours: [Tuesdays at 12:00 PT (Pacific Time) (weekly)](https://docs.google.com/document/d/1FQx0BPlkkl1Bn0c9ocVBxYIKojpmrS1CFP5h0DI68AE/edit)<br>
|[Auth](sig-auth/README.md)|auth|* [Mike Danese](https://github.com/mikedanese), Google<br>* [Mo Khan](https://github.com/enj), Red Hat<br>* [Tim Allclair](https://github.com/tallclair), Google<br>|* [Slack](https://kubernetes.slack.com/messages/sig-auth)<br>* [Mailing List](https://groups.google.com/forum/#!forum/kubernetes-sig-auth)|* Regular SIG Meeting: [Wednesdays at 11:00 PT (Pacific Time) (biweekly)](https://docs.google.com/document/d/1FQx0BPlkkl1Bn0c9ocVBxYIKojpmrS1CFP5h0DI68AE/edit)<br>
|[Autoscaling](sig-autoscaling/README.md)|autoscaling|* [Marcin Wielgus](https://github.com/mwielgus), Google<br>|* [Slack](https://kubernetes.slack.com/messages/sig-autoscaling)<br>* [Mailing List](https://groups.google.com/forum/#!forum/kubernetes-sig-autoscaling)|* Regular SIG Meeting: [Mondays at 14:00 UTC (biweekly/triweekly)](https://docs.google.com/document/d/1FQx0BPlkkl1Bn0c9ocVBxYIKojpmrS1CFP5h0DI68AE/edit)<br>
|[AWS](sig-aws/README.md)|aws|* [Justin Santa Barbara](https://github.com/justinsb)<br>* [Kris Nova](https://github.com/kris-nova), VMware<br>* [Nishi Davidson](https://github.com/d-nishi), AWS<br>|* [Slack](https://kubernetes.slack.com/messages/sig-aws)<br>* [Mailing List](https://groups.google.com/forum/#!forum/kubernetes-sig-aws)|* Regular SIG Meeting: [Fridays at 9:00 PT (Pacific Time) (biweekly 2019 start date: Jan. 11th)](https://docs.google.com/document/d/1FQx0BPlkkl1Bn0c9ocVBxYIKojpmrS1CFP5h0DI68AE/edit)<br>
|[Azure](sig-azure/README.md)|azure|* [Stephen Augustus](https://github.com/justaugustus), VMware<br>* [Dave Strebel](https://github.com/dstrebel), Microsoft<br>|* [Slack](https://kubernetes.slack.com/messages/sig-azure)<br>* [Mailing List](https://groups.google.com/forum/#!forum/kubernetes-sig-azure)|* Regular SIG Meeting: [Wednesdays at 16:00 UTC (biweekly)](https://docs.google.com/document/d/1FQx0BPlkkl1Bn0c9ocVBxYIKojpmrS1CFP5h0DI68AE/edit)<br>
|[Big Data](sig-big-data/README.md)|big-data|* [Anirudh Ramanathan](https://github.com/foxish), Rockset<br>* [Erik Erlandson](https://github.com/erikerlandson), Red Hat<br>* [Yinan Li](https://github.com/liyinan926), Google<br>|* [Slack](https://kubernetes.slack.com/messages/sig-big-data)<br>* [Mailing List](https://groups.google.com/forum/#!forum/kubernetes-sig-big-data)|* Regular SIG Meeting: [Wednesdays at 17:00 UTC (biweekly)](https://docs.google.com/document/d/1FQx0BPlkkl1Bn0c9ocVBxYIKojpmrS1CFP5h0DI68AE/edit)<br>
|[CLI](sig-cli/README.md)|cli|* [Maciej Szulik](https://github.com/soltysh), Red Hat<br>* [Sean Sullivan](https://github.com/seans3), Google<br>|* [Slack](https://kubernetes.slack.com/messages/sig-cli)<br>* [Mailing List](https://groups.google.com/forum/#!forum/kubernetes-sig-cli)|* Regular SIG Meeting: [Wednesdays at 09:00 PT (Pacific Time) (biweekly)](https://docs.google.com/document/d/1FQx0BPlkkl1Bn0c9ocVBxYIKojpmrS1CFP5h0DI68AE/edit)<br>
-|[Cloud Provider](sig-cloud-provider/README.md)|cloud-provider|* [Andrew Sy Kim](https://github.com/andrewsykim), VMware<br>* [Chris Hoge](https://github.com/hogepodge), OpenStack Foundation<br>* [Jago Macleod](https://github.com/jagosan), Google<br>|* [Slack](https://kubernetes.slack.com/messages/sig-cloud-provider)<br>* [Mailing List](https://groups.google.com/forum/#!forum/kubernetes-sig-cloud-provider)|* Regular SIG Meeting: [Wednesdays at 1:00 PT (Pacific Time) (biweekly)](https://docs.google.com/document/d/1FQx0BPlkkl1Bn0c9ocVBxYIKojpmrS1CFP5h0DI68AE/edit)<br>* (cloud-provider-extraction-migration) Weekly Sync removing the in-tree cloud providers led by @cheftako and @andrewsykim: [Thursdays at 13:30 PT (Pacific Time) (weekly)](https://docs.google.com/document/d/1KLsGGzNXQbsPeELCeF_q-f0h0CEGSe20xiwvcR2NlYM/edit)<br>
-|[Cluster Lifecycle](sig-cluster-lifecycle/README.md)|cluster-lifecycle|* [Robert Bailey](https://github.com/roberthbailey), Google<br>* [Lucas Käldström](https://github.com/luxas), Luxas Labs (occasionally contracting for Weaveworks)<br>* [Timothy St. Clair](https://github.com/timothysc), VMware<br>|* [Slack](https://kubernetes.slack.com/messages/sig-cluster-lifecycle)<br>* [Mailing List](https://groups.google.com/forum/#!forum/kubernetes-sig-cluster-lifecycle)|* Regular SIG Meeting: [Tuesdays at 09:00 PT (Pacific Time) (biweekly)](https://docs.google.com/document/d/1FQx0BPlkkl1Bn0c9ocVBxYIKojpmrS1CFP5h0DI68AE/edit)<br>* kubeadm Office Hours: [Wednesdays at 09:00 PT (Pacific Time) (weekly)](https://docs.google.com/document/d/1FQx0BPlkkl1Bn0c9ocVBxYIKojpmrS1CFP5h0DI68AE/edit)<br>* Cluster API office hours: [Wednesdays at 10:00 PT (Pacific Time) (weekly)](https://docs.google.com/document/d/1FQx0BPlkkl1Bn0c9ocVBxYIKojpmrS1CFP5h0DI68AE/edit)<br>* Cluster API Provider Implementers' office hours (EMEA): [Wednesdays at 15:00 CEST (Central European Summer Time) (weekly)](https://docs.google.com/document/d/1FQx0BPlkkl1Bn0c9ocVBxYIKojpmrS1CFP5h0DI68AE/edit)<br>* Cluster API Provider Implementers' office hours (US West Coast): [Tuesdays at 12:00 PT (Pacific Time) (weekly)](https://docs.google.com/document/d/1FQx0BPlkkl1Bn0c9ocVBxYIKojpmrS1CFP5h0DI68AE/edit)<br>* Cluster API (AWS implementation) office hours: [Mondays at 10:00 PT (Pacific Time) (biweekly)](https://docs.google.com/document/d/1FQx0BPlkkl1Bn0c9ocVBxYIKojpmrS1CFP5h0DI68AE/edit)<br>* kops Office Hours: [Fridays at 09:00 PT (Pacific Time) (biweekly)](https://docs.google.com/document/d/1FQx0BPlkkl1Bn0c9ocVBxYIKojpmrS1CFP5h0DI68AE/edit)<br>* Kubespray Office Hours: [Wednesdays at 07:00 PT (Pacific Time) (biweekly)](https://docs.google.com/document/d/1FQx0BPlkkl1Bn0c9ocVBxYIKojpmrS1CFP5h0DI68AE/edit)<br>* minikube Office Hours: [Mondays at 10:00 PT (Pacific Time) (biweekly)](https://docs.google.com/document/d/1FQx0BPlkkl1Bn0c9ocVBxYIKojpmrS1CFP5h0DI68AE/edit)<br>
-|[Contributor Experience](sig-contributor-experience/README.md)|contributor-experience|* [Elsie Phillips](https://github.com/Phillels), CoreOS<br>* [Paris Pittman](https://github.com/parispittman), Google<br>|* [Slack](https://kubernetes.slack.com/messages/sig-contribex)<br>* [Mailing List](https://groups.google.com/forum/#!forum/kubernetes-sig-contribex)|* Regular SIG Meeting: [Wednesdays at 9:30 PT (Pacific Time) (weekly)](https://docs.google.com/document/d/1FQx0BPlkkl1Bn0c9ocVBxYIKojpmrS1CFP5h0DI68AE/edit)<br>* (contributors-documentation) Non-Code Contributors Meeting: [Wednesdays at 11:00 PT (Pacific Time) (biweekly)](https://docs.google.com/document/d/1gdFWfkrapQclZ4-z4Lx2JwqKsJjXXUOVoLhBzZiZgSk/edit)<br>* (events) Contributor Summit strategy, content and planning: [Mondays at 9:00 PT (Pacific Time) (weekly)]()<br>
+|[Cloud Provider](sig-cloud-provider/README.md)|cloud-provider|* [Andrew Sy Kim](https://github.com/andrewsykim), VMware<br>* [Chris Hoge](https://github.com/hogepodge), OpenStack Foundation<br>* [Jago Macleod](https://github.com/jagosan), Google<br>|* [Slack](https://kubernetes.slack.com/messages/sig-cloud-provider)<br>* [Mailing List](https://groups.google.com/forum/#!forum/kubernetes-sig-cloud-provider)|* Regular SIG Meeting: [Wednesdays at 1:00 PT (Pacific Time) (biweekly)](https://docs.google.com/document/d/1FQx0BPlkkl1Bn0c9ocVBxYIKojpmrS1CFP5h0DI68AE/edit)<br>* (cloud-provider-extraction-migration) Weekly Sync removing the in-tree cloud providers led by @cheftako and @mcrute: [Thursdays at 13:30 PT (Pacific Time) (weekly)](https://docs.google.com/document/d/1KLsGGzNXQbsPeELCeF_q-f0h0CEGSe20xiwvcR2NlYM/edit)<br>
+|[Cluster Lifecycle](sig-cluster-lifecycle/README.md)|cluster-lifecycle|* [Robert Bailey](https://github.com/roberthbailey), Google<br>* [Lucas Käldström](https://github.com/luxas), Luxas Labs (occasionally contracting for Weaveworks)<br>* [Timothy St. Clair](https://github.com/timothysc), VMware<br>|* [Slack](https://kubernetes.slack.com/messages/sig-cluster-lifecycle)<br>* [Mailing List](https://groups.google.com/forum/#!forum/kubernetes-sig-cluster-lifecycle)|* Regular SIG Meeting: [Tuesdays at 09:00 PT (Pacific Time) (biweekly)](https://docs.google.com/document/d/1FQx0BPlkkl1Bn0c9ocVBxYIKojpmrS1CFP5h0DI68AE/edit)<br>* kubeadm Office Hours: [Wednesdays at 09:00 PT (Pacific Time) (weekly)](https://docs.google.com/document/d/1FQx0BPlkkl1Bn0c9ocVBxYIKojpmrS1CFP5h0DI68AE/edit)<br>* Cluster API office hours: [Wednesdays at 10:00 PT (Pacific Time) (weekly)](https://docs.google.com/document/d/1FQx0BPlkkl1Bn0c9ocVBxYIKojpmrS1CFP5h0DI68AE/edit)<br>* Cluster API Provider Implementers' office hours (EMEA): [Wednesdays at 15:00 CEST (Central European Summer Time) (weekly)](https://docs.google.com/document/d/1FQx0BPlkkl1Bn0c9ocVBxYIKojpmrS1CFP5h0DI68AE/edit)<br>* Cluster API Provider Implementers' office hours (US West Coast): [Tuesdays at 12:00 PT (Pacific Time) (weekly)](https://docs.google.com/document/d/1FQx0BPlkkl1Bn0c9ocVBxYIKojpmrS1CFP5h0DI68AE/edit)<br>* Cluster API (AWS implementation) office hours: [Mondays at 10:00 PT (Pacific Time) (biweekly)](https://docs.google.com/document/d/1FQx0BPlkkl1Bn0c9ocVBxYIKojpmrS1CFP5h0DI68AE/edit)<br>* kops Office Hours: [Fridays at 09:00 PT (Pacific Time) (biweekly)](https://docs.google.com/document/d/1FQx0BPlkkl1Bn0c9ocVBxYIKojpmrS1CFP5h0DI68AE/edit)<br>* Kubespray Office Hours: [Wednesdays at 08:00 PT (Pacific Time) (biweekly)](https://docs.google.com/document/d/1FQx0BPlkkl1Bn0c9ocVBxYIKojpmrS1CFP5h0DI68AE/edit)<br>* Cluster Addons meeting: [Fridays at 10:00 PT (Pacific Time) (biweekly)](https://docs.google.com/document/d/1FQx0BPlkkl1Bn0c9ocVBxYIKojpmrS1CFP5h0DI68AE/edit)<br>* minikube Office Hours: [Mondays at 10:00 PT (Pacific Time) (biweekly)](https://docs.google.com/document/d/1FQx0BPlkkl1Bn0c9ocVBxYIKojpmrS1CFP5h0DI68AE/edit)<br>
+|[Contributor Experience](sig-contributor-experience/README.md)|contributor-experience|* [Elsie Phillips](https://github.com/Phillels), Red Hat<br>* [Paris Pittman](https://github.com/parispittman), Google<br>|* [Slack](https://kubernetes.slack.com/messages/sig-contribex)<br>* [Mailing List](https://groups.google.com/forum/#!forum/kubernetes-sig-contribex)|* Regular SIG Meeting: [Wednesdays at 9:30 PT (Pacific Time) (weekly - except fourth Wednesday every month)](https://docs.google.com/document/d/1FQx0BPlkkl1Bn0c9ocVBxYIKojpmrS1CFP5h0DI68AE/edit)<br>* APAC SIG Meeting: [Wednesdays at 20:00 PT (Pacific Time) (monthly - fourth Wednesday every month)](https://docs.google.com/document/d/1FQx0BPlkkl1Bn0c9ocVBxYIKojpmrS1CFP5h0DI68AE/edit)<br>* (contributors-documentation) Non-Code Contributors Meeting: [Wednesdays at 11:00 PT (Pacific Time) (biweekly)](https://docs.google.com/document/d/1gdFWfkrapQclZ4-z4Lx2JwqKsJjXXUOVoLhBzZiZgSk/edit)<br>* (events) Contributor Summit strategy, content and planning: [Mondays at 9:00 PT (Pacific Time) (weekly)]()<br>
|[Docs](sig-docs/README.md)|docs|* [Andrew Chen](https://github.com/chenopis), Google<br>* [Zach Corleissen](https://github.com/zacharysarah), Linux Foundation<br>* [Jennifer Rondeau](https://github.com/bradamant3), VMware<br>|* [Slack](https://kubernetes.slack.com/messages/sig-docs)<br>* [Mailing List](https://groups.google.com/forum/#!forum/kubernetes-sig-docs)|* Regular SIG Meeting: [Tuesdays at 17:30 UTC (weekly - except fourth Tuesday every month)](https://docs.google.com/document/d/1zg6By77SGg90EVUrhDIhopjZlSDg2jCebU-Ks9cYx0w/edit)<br>* APAC SIG Meeting: [Wednesdays at 02:00 UTC (monthly - fourth Wednesday every month)](https://docs.google.com/document/d/1zg6By77SGg90EVUrhDIhopjZlSDg2jCebU-Ks9cYx0w/edit)<br>
|[GCP](sig-gcp/README.md)|gcp|* [Adam Worrall](https://github.com/abgworrall), Google<br>|* [Slack](https://kubernetes.slack.com/messages/sig-gcp)<br>* [Mailing List](https://groups.google.com/forum/#!forum/kubernetes-sig-gcp)|* Regular SIG Meeting: [Thursdays at 16:00 UTC (biweekly)](https://docs.google.com/document/d/1FQx0BPlkkl1Bn0c9ocVBxYIKojpmrS1CFP5h0DI68AE/edit)<br>
|[IBMCloud](sig-ibmcloud/README.md)|ibmcloud|* [Khalid Ahmed](https://github.com/khahmed), IBM<br>* [Richard Theis](https://github.com/rtheis), IBM<br>* [Sahdev Zala](https://github.com/spzala), IBM<br>|* [Slack](https://kubernetes.slack.com/messages/sig-ibmcloud)<br>* [Mailing List](https://groups.google.com/forum/#!forum/kubernetes-sig-ibmcloud)|* Regular SIG Meeting: [Wednesdays at 14:00 EST (biweekly)](https://docs.google.com/document/d/1FQx0BPlkkl1Bn0c9ocVBxYIKojpmrS1CFP5h0DI68AE/edit)<br>
@@ -41,14 +41,14 @@ When the need arises, a [new SIG can be created](sig-creation-procedure.md)
|[Multicluster](sig-multicluster/README.md)|multicluster|* [Christian Bell](https://github.com/csbell), Google<br>* [Quinton Hoole](https://github.com/quinton-hoole-2), Huawei<br>|* [Slack](https://kubernetes.slack.com/messages/sig-multicluster)<br>* [Mailing List](https://groups.google.com/forum/#!forum/kubernetes-sig-multicluster)|* Regular SIG Meeting: [Tuesdays at 9:30 PT (Pacific Time) (biweekly)](https://docs.google.com/document/d/1FQx0BPlkkl1Bn0c9ocVBxYIKojpmrS1CFP5h0DI68AE/edit)<br>* Federation v2 Working Group: [Wednesdays at 7:30 PT (Pacific Time) (weekly)](https://docs.google.com/document/d/1FQx0BPlkkl1Bn0c9ocVBxYIKojpmrS1CFP5h0DI68AE/edit)<br>
|[Network](sig-network/README.md)|network|* [Tim Hockin](https://github.com/thockin), Google<br>* [Dan Williams](https://github.com/dcbw), Red Hat<br>* [Casey Davenport](https://github.com/caseydavenport), Tigera<br>|* [Slack](https://kubernetes.slack.com/messages/sig-network)<br>* [Mailing List](https://groups.google.com/forum/#!forum/kubernetes-sig-network)|* Regular SIG Meeting: [Thursdays at 14:00 PT (Pacific Time) (biweekly)](https://docs.google.com/document/d/1FQx0BPlkkl1Bn0c9ocVBxYIKojpmrS1CFP5h0DI68AE/edit)<br>
|[Node](sig-node/README.md)|node|* [Dawn Chen](https://github.com/dchen1107), Google<br>* [Derek Carr](https://github.com/derekwaynecarr), Red Hat<br>|* [Slack](https://kubernetes.slack.com/messages/sig-node)<br>* [Mailing List](https://groups.google.com/forum/#!forum/kubernetes-sig-node)|* Regular SIG Meeting: [Tuesdays at 10:00 PT (Pacific Time) (weekly)](https://docs.google.com/document/d/1FQx0BPlkkl1Bn0c9ocVBxYIKojpmrS1CFP5h0DI68AE/edit)<br>
-|[OpenStack](sig-openstack/README.md)|openstack|* [Chris Hoge](https://github.com/hogepodge), OpenStack Foundation<br>|* [Slack](https://kubernetes.slack.com/messages/sig-openstack)<br>* [Mailing List](https://groups.google.com/forum/#!forum/kubernetes-sig-openstack)|* Regular SIG Meeting: [Wednesdays at 16:00 PT (Pacific Time) (biweekly)](https://docs.google.com/document/d/15UwgLbEyZyXXxVtsThcSuPiJru4CuqU9p3ttZSfTaY4/edit)<br>
+|[OpenStack](sig-openstack/README.md)|openstack|* [Chris Hoge](https://github.com/hogepodge), OpenStack Foundation<br>* [Aditi Sharma](https://github.com/adisky), NEC Technologies India<br>* [Christoph Glaubitz](https://github.com/chrigl), iNNOVO Cloud<br>|* [Slack](https://kubernetes.slack.com/messages/sig-openstack)<br>* [Mailing List](https://groups.google.com/forum/#!forum/kubernetes-sig-openstack)|* Regular SIG Meeting: [Wednesdays at 08:00 PT (Pacific Time) (biweekly starting Wednesday March 20, 2019)](https://docs.google.com/document/d/1bW3j4hFN4D8rv2LFv-DybB3gcE5ISAaOO_OpvDCgrGg/edit)<br>
|[PM](sig-pm/README.md)|pm|* [Aparna Sinha](https://github.com/apsinha), Google<br>* [Ihor Dvoretskyi](https://github.com/idvoretskyi), CNCF<br>* [Caleb Miles](https://github.com/calebamiles), Google<br>|* [Slack](https://kubernetes.slack.com/messages/sig-pm)<br>* [Mailing List](https://groups.google.com/forum/#!forum/kubernetes-pm)|* Regular SIG Meeting: [Tuesdays at 18:30 UTC (biweekly)](https://docs.google.com/document/d/1FQx0BPlkkl1Bn0c9ocVBxYIKojpmrS1CFP5h0DI68AE/edit)<br>
|[Release](sig-release/README.md)|release|* [Caleb Miles](https://github.com/calebamiles), Google<br>* [Stephen Augustus](https://github.com/justaugustus), VMware<br>* [Tim Pepper](https://github.com/tpepper), VMware<br>|* [Slack](https://kubernetes.slack.com/messages/sig-release)<br>* [Mailing List](https://groups.google.com/forum/#!forum/kubernetes-sig-release)|* Regular SIG Meeting: [Tuesdays at 21:00 UTC (biweekly)](https://docs.google.com/document/d/1FQx0BPlkkl1Bn0c9ocVBxYIKojpmrS1CFP5h0DI68AE/edit)<br>
|[Scalability](sig-scalability/README.md)|scalability|* [Wojciech Tyczynski](https://github.com/wojtek-t), Google<br>* [Shyam Jeedigunta](https://github.com/shyamjvs), AWS<br>|* [Slack](https://kubernetes.slack.com/messages/sig-scalability)<br>* [Mailing List](https://groups.google.com/forum/#!forum/kubernetes-sig-scale)|* Regular SIG Meeting: [Thursdays at 17:30 UTC (bi-weekly)](https://docs.google.com/document/d/1FQx0BPlkkl1Bn0c9ocVBxYIKojpmrS1CFP5h0DI68AE/edit)<br>
|[Scheduling](sig-scheduling/README.md)|scheduling|* [Bobby (Babak) Salamat](https://github.com/bsalamat), Google<br>* [Klaus Ma](https://github.com/k82cn), Huawei<br>|* [Slack](https://kubernetes.slack.com/messages/sig-scheduling)<br>* [Mailing List](https://groups.google.com/forum/#!forum/kubernetes-sig-scheduling)|* 10AM PT Meeting: [Thursdays at 17:00 UTC (biweekly starting Thursday June 7, 2018)](https://docs.google.com/document/d/1FQx0BPlkkl1Bn0c9ocVBxYIKojpmrS1CFP5h0DI68AE/edit)<br>* 5PM PT Meeting: [Thursdays at 24:00 UTC (biweekly starting Thursday June 14, 2018)](https://docs.google.com/document/d/1FQx0BPlkkl1Bn0c9ocVBxYIKojpmrS1CFP5h0DI68AE/edit)<br>
-|[Service Catalog](sig-service-catalog/README.md)|service-catalog|* [Carolyn Van Slyck](https://github.com/carolynvs), Microsoft<br>* [Michael Kibbe](https://github.com/kibbles-n-bytes), Google<br>* [Jonathan Berkhahn](https://github.com/jberkhahn), IBM<br>* [Jay Boyd](https://github.com/jboyd01), Red Hat<br>|* [Slack](https://kubernetes.slack.com/messages/sig-service-catalog)<br>* [Mailing List](https://groups.google.com/forum/#!forum/kubernetes-sig-service-catalog)|* Regular SIG Meeting: [Mondays at 13:00 PT (Pacific Time) (weekly)](https://docs.google.com/document/d/1FQx0BPlkkl1Bn0c9ocVBxYIKojpmrS1CFP5h0DI68AE/edit)<br>
+|[Service Catalog](sig-service-catalog/README.md)|service-catalog|* [Michael Kibbe](https://github.com/kibbles-n-bytes), Google<br>* [Jonathan Berkhahn](https://github.com/jberkhahn), IBM<br>* [Jay Boyd](https://github.com/jboyd01), Red Hat<br>|* [Slack](https://kubernetes.slack.com/messages/sig-service-catalog)<br>* [Mailing List](https://groups.google.com/forum/#!forum/kubernetes-sig-service-catalog)|* Regular SIG Meeting: [Mondays at 13:00 PT (Pacific Time) (weekly)](https://docs.google.com/document/d/1FQx0BPlkkl1Bn0c9ocVBxYIKojpmrS1CFP5h0DI68AE/edit)<br>
|[Storage](sig-storage/README.md)|storage|* [Saad Ali](https://github.com/saad-ali), Google<br>* [Bradley Childs](https://github.com/childsb), Red Hat<br>|* [Slack](https://kubernetes.slack.com/messages/sig-storage)<br>* [Mailing List](https://groups.google.com/forum/#!forum/kubernetes-sig-storage)|* Regular SIG Meeting: [Thursdays at 9:00 PT (Pacific Time) (biweekly)](https://docs.google.com/document/d/1FQx0BPlkkl1Bn0c9ocVBxYIKojpmrS1CFP5h0DI68AE/edit)<br>
-|[Testing](sig-testing/README.md)|testing|* [Aaron Crickenberger](https://github.com/spiffxp), Google<br>* [Erick Feja](https://github.com/fejta), Google<br>* [Steve Kuznetsov](https://github.com/stevekuznetsov), Red Hat<br>* [Timothy St. Clair](https://github.com/timothysc), VMware<br>|* [Slack](https://kubernetes.slack.com/messages/sig-testing)<br>* [Mailing List](https://groups.google.com/forum/#!forum/kubernetes-sig-testing)|* Regular SIG Meeting: [Tuesdays at 13:00 PT (Pacific Time) (weekly)](https://docs.google.com/document/d/1FQx0BPlkkl1Bn0c9ocVBxYIKojpmrS1CFP5h0DI68AE/edit)<br>* (kind) sigs.k8s.io/kind weekly meeting: [Mondays at 11:00 PT (Pacific Time) (weekly)](https://docs.google.com/document/d/1FQx0BPlkkl1Bn0c9ocVBxYIKojpmrS1CFP5h0DI68AE/edit)<br>* (testing-commons) Testing Commons: [Wednesdays at 07:30 PT (Pacific Time) (bi-weekly)](https://docs.google.com/document/d/1FQx0BPlkkl1Bn0c9ocVBxYIKojpmrS1CFP5h0DI68AE/edit)<br>
+|[Testing](sig-testing/README.md)|testing|* [Aaron Crickenberger](https://github.com/spiffxp), Google<br>* [Erick Fejta](https://github.com/fejta), Google<br>* [Steve Kuznetsov](https://github.com/stevekuznetsov), Red Hat<br>* [Timothy St. Clair](https://github.com/timothysc), VMware<br>|* [Slack](https://kubernetes.slack.com/messages/sig-testing)<br>* [Mailing List](https://groups.google.com/forum/#!forum/kubernetes-sig-testing)|* Regular SIG Meeting: [Tuesdays at 13:00 PT (Pacific Time) (weekly)](https://docs.google.com/document/d/1FQx0BPlkkl1Bn0c9ocVBxYIKojpmrS1CFP5h0DI68AE/edit)<br>* (kind) sigs.k8s.io/kind bi-weekly meeting: [Mondays at 11:00 PT (Pacific Time) (bi-weekly)](https://docs.google.com/document/d/1FQx0BPlkkl1Bn0c9ocVBxYIKojpmrS1CFP5h0DI68AE/edit)<br>* (testing-commons) Testing Commons: [Fridays at 07:30 PT (Pacific Time) (bi-weekly)](https://docs.google.com/document/d/1FQx0BPlkkl1Bn0c9ocVBxYIKojpmrS1CFP5h0DI68AE/edit)<br>
|[UI](sig-ui/README.md)|ui|* [Sebastian Florek](https://github.com/floreks), Loodse<br>* [Marcin Maciaszczyk](https://github.com/maciaszczykm), Loodse<br>* [Dan Romlein](https://github.com/danielromlein), Google<br>* [Jeffrey Sica](https://github.com/jeefy), University of Michigan<br>|* [Slack](https://kubernetes.slack.com/messages/sig-ui)<br>* [Mailing List](https://groups.google.com/forum/#!forum/kubernetes-sig-ui)|* Regular SIG Meeting: [Thursdays at 18:00 CET (Central European Time) (bi-weekly)](https://groups.google.com/forum/#!forum/kubernetes-sig-ui)<br>
|[VMware](sig-vmware/README.md)|vmware|* [Fabio Rapposelli](https://github.com/frapposelli), VMware<br>* [Steve Wong](https://github.com/cantbewong), VMware<br>|* [Slack](https://kubernetes.slack.com/messages/sig-vmware)<br>* [Mailing List](https://groups.google.com/forum/#!forum/kubernetes-sig-vmware)|* Regular SIG Meeting: [Thursdays at 11:00 PT (Pacific Time) (bi-weekly)](https://docs.google.com/document/d/1FQx0BPlkkl1Bn0c9ocVBxYIKojpmrS1CFP5h0DI68AE/edit)<br>* Cloud Provider vSphere monthly syncup: [Wednesdays at 09:00 PT (Pacific Time) (monthly - first Wednesday every month)](https://docs.google.com/document/d/1FQx0BPlkkl1Bn0c9ocVBxYIKojpmrS1CFP5h0DI68AE/edit)<br>* Cluster API Provider vSphere bi-weekly syncup: [Wednesdays at 13:00 PT (Pacific Time) (bi-weekly)](https://docs.google.com/document/d/1FQx0BPlkkl1Bn0c9ocVBxYIKojpmrS1CFP5h0DI68AE/edit)<br>
|[Windows](sig-windows/README.md)|windows|* [Michael Michael](https://github.com/michmike), VMware<br>* [Patrick Lang](https://github.com/patricklang), Microsoft<br>|* [Slack](https://kubernetes.slack.com/messages/sig-windows)<br>* [Mailing List](https://groups.google.com/forum/#!forum/kubernetes-sig-windows)|* Regular SIG Meeting: [Tuesdays at 12:30 Eastern Standard Time (EST) (weekly)](https://docs.google.com/document/d/1FQx0BPlkkl1Bn0c9ocVBxYIKojpmrS1CFP5h0DI68AE/edit)<br>
@@ -59,14 +59,22 @@ When the need arises, a [new SIG can be created](sig-creation-procedure.md)
|------|------------------|-----------|---------|----------|
|[Apply](wg-apply/README.md)||* [Daniel Smith](https://github.com/lavalamp), Google<br>|* [Slack](https://kubernetes.slack.com/messages/wg-apply)<br>* [Mailing List](https://groups.google.com/forum/#!forum/kubernetes-wg-apply)|* Regular WG Meeting: [Tuesdays at 9:30 PT (Pacific Time) (weekly)](https://docs.google.com/document/d/1FQx0BPlkkl1Bn0c9ocVBxYIKojpmrS1CFP5h0DI68AE/edit)<br>
|[Component Standard](wg-component-standard/README.md)|* Architecture<br>* API Machinery<br>* Cluster Lifecycle<br>|* [Lucas Käldström](https://github.com/luxas), Luxas Labs (occasionally contracting for Weaveworks)<br>* [Dr. Stefan Schimanski](https://github.com/sttts), Red Hat<br>* [Michael Taufen](https://github.com/mtaufen), Google<br>|* [Slack](https://kubernetes.slack.com/messages/wg-component-standard)<br>* [Mailing List](https://groups.google.com/forum/#!forum/kubernetes-wg-component-standard)|* Regular WG Meeting: [Tuesdays at 08:30 PT (Pacific Time) (weekly)](https://zoom.us/j/705540322)<br>
-|[IoT Edge](wg-iot-edge/README.md)||* [Cindy Xing](https://github.com/cindyxing), Huawei<br>* [Dejan Bosanac](https://github.com/dejanb), Red Hat<br>* [Preston Holmes](https://github.com/ptone), Google<br>* [Steve Wong](https://github.com/cantbewong), VMWare<br>|* [Slack](https://kubernetes.slack.com/messages/wg-iot-edge)<br>* [Mailing List](https://groups.google.com/forum/#!forum/kubernetes-wg-iot-edge)|* Regular WG Meeting: [Wednesdays at 17:00 UTC (every four weeks)](https://docs.google.com/document/d/1FQx0BPlkkl1Bn0c9ocVBxYIKojpmrS1CFP5h0DI68AE/edit)<br>* APAC WG Meeting: [Wednesdays at 5:00 UTC (every four weeks)](https://docs.google.com/document/d/1FQx0BPlkkl1Bn0c9ocVBxYIKojpmrS1CFP5h0DI68AE/edit)<br>
+|[IoT Edge](wg-iot-edge/README.md)|* Multicluster<br>* Networking<br>|* [Cindy Xing](https://github.com/cindyxing), Huawei<br>* [Dejan Bosanac](https://github.com/dejanb), Red Hat<br>* [Preston Holmes](https://github.com/ptone), Google<br>* [Steve Wong](https://github.com/cantbewong), VMWare<br>|* [Slack](https://kubernetes.slack.com/messages/wg-iot-edge)<br>* [Mailing List](https://groups.google.com/forum/#!forum/kubernetes-wg-iot-edge)|* Regular WG Meeting: [Wednesdays at 17:00 UTC (every four weeks)](https://docs.google.com/document/d/1FQx0BPlkkl1Bn0c9ocVBxYIKojpmrS1CFP5h0DI68AE/edit)<br>* APAC WG Meeting: [Wednesdays at 5:00 UTC (every four weeks)](https://docs.google.com/document/d/1FQx0BPlkkl1Bn0c9ocVBxYIKojpmrS1CFP5h0DI68AE/edit)<br>
|[K8s Infra](wg-k8s-infra/README.md)|* Architecture<br>* Contributor Experience<br>* Release<br>* Testing<br>|* [Davanum Srinivas](https://github.com/dims), Huawei<br>* [Aaron Crickenberger](https://github.com/spiffxp), Google<br>|* [Slack](https://kubernetes.slack.com/messages/wg-k8s-infra)<br>* [Mailing List](https://groups.google.com/forum/#!forum/kubernetes-wg-k8s-infra)|* Regular WG Meeting: [Wednesdays at 8:30 PT (Pacific Time) (bi-weekly)](https://docs.google.com/document/d/1FQx0BPlkkl1Bn0c9ocVBxYIKojpmrS1CFP5h0DI68AE/edit)<br>
|[LTS](wg-lts/README.md)|* API Machinery<br>* CLI<br>* Node<br>|* [Tim Pepper](https://github.com/tpepper), VMware<br>* [Dhawal Yogesh Bhanusali](https://github.com/imkin), VMware<br>* [Quinton Hoole](https://github.com/quinton-hoole-2), Huawei<br>* [Nick Young](https://github.com/youngnick), Atlassian<br>|* [Slack](https://kubernetes.slack.com/messages/wg-lts)<br>* [Mailing List](https://groups.google.com/forum/#!forum/kubernetes-wg-lts)|* Regular WG Meeting: [Tuesdays at 09:00 PT (Pacific Time) (bi-weekly)](https://docs.google.com/document/d/1FQx0BPlkkl1Bn0c9ocVBxYIKojpmrS1CFP5h0DI68AE/edit)<br>
|[Machine Learning](wg-machine-learning/README.md)||* [Vishnu Kannan](https://github.com/vishh), Google<br>* [Kenneth Owens](https://github.com/kow3ns), Google<br>* [Balaji Subramaniam](https://github.com/balajismaniam), Intel<br>* [Connor Doyle](https://github.com/ConnorDoyle), Intel<br>|* [Slack](https://kubernetes.slack.com/messages/wg-machine-learning)<br>* [Mailing List](https://groups.google.com/forum/#!forum/kubernetes-wg-machine-learning)|* Regular WG Meeting: [Thursdays at 13:00 PT (Pacific Time) (biweekly)](https://docs.google.com/document/d/1FQx0BPlkkl1Bn0c9ocVBxYIKojpmrS1CFP5h0DI68AE/edit)<br>
|[Multitenancy](wg-multitenancy/README.md)||* [David Oppenheimer](https://github.com/davidopp), Google<br>* [Tasha Drew](https://github.com/tashimi), VMware<br>|* [Slack](https://kubernetes.slack.com/messages/wg-multitenancy)<br>* [Mailing List](https://groups.google.com/forum/#!forum/kubernetes-wg-multitenancy)|* Regular WG Meeting: [Tuesdays at 11:00 PT (Pacific Time) (biweekly)](https://docs.google.com/document/d/1FQx0BPlkkl1Bn0c9ocVBxYIKojpmrS1CFP5h0DI68AE/edit)<br>
|[Policy](wg-policy/README.md)||* [Howard Huang](https://github.com/hannibalhuang), Huawei<br>* [Torin Sandall](https://github.com/tsandall), Styra<br>* [Yisui Hu](https://github.com/easeway), Google<br>* [Erica von Buelow](https://github.com/ericavonb), Red Hat<br>* [Michael Elder](https://github.com/mdelder), IBM<br>|* [Slack](https://kubernetes.slack.com/messages/wg-policy)<br>* [Mailing List](https://groups.google.com/forum/#!forum/kubernetes-wg-policy)|* Regular WG Meeting: [Wednesdays at 16:00 PT (Pacific Time) (weekly)](https://docs.google.com/document/d/1FQx0BPlkkl1Bn0c9ocVBxYIKojpmrS1CFP5h0DI68AE/edit)<br>
|[Resource Management](wg-resource-management/README.md)||* [Vishnu Kannan](https://github.com/vishh), Google<br>* [Derek Carr](https://github.com/derekwaynecarr), Red Hat<br>|* [Slack](https://kubernetes.slack.com/messages/wg-resource-mgmt)<br>* [Mailing List](https://groups.google.com/forum/#!forum/kubernetes-wg-resource-management)|* Regular WG Meeting: [Wednesdays at 11:00 PT (Pacific Time) (biweekly (On demand))](https://docs.google.com/document/d/1FQx0BPlkkl1Bn0c9ocVBxYIKojpmrS1CFP5h0DI68AE/edit)<br>
-|[Security Audit](wg-security-audit/README.md)||* [Aaron Small](https://github.com/aasmall), Google<br>* [Joel Smith](https://github.com/joelsmith), Red Hat<br>* [Craig Ingram](https://github.com/cji), Salesforce<br>|* [Slack](https://kubernetes.slack.com/messages/wg-security-audit)<br>* [Mailing List](https://groups.google.com/forum/#!forum/kubernetes-wg-security-audit)|* Regular WG Meeting: [Mondays at 13:00 PT (Pacific Time) (weekly)](https://docs.google.com/document/d/1RbC4SBZBlKth7IjYv_NaEpnmLGwMJ0ElpUOmsG-bdRA/edit)<br>
+|[Security Audit](wg-security-audit/README.md)||* [Aaron Small](https://github.com/aasmall), Google<br>* [Joel Smith](https://github.com/joelsmith), Red Hat<br>* [Craig Ingram](https://github.com/cji), Salesforce<br>* [Jay Beale](https://github.com/jaybeale), InGuardians<br>|* [Slack](https://kubernetes.slack.com/messages/wg-security-audit)<br>* [Mailing List](https://groups.google.com/forum/#!forum/kubernetes-wg-security-audit)|* Regular WG Meeting: [Mondays at 13:00 PT (Pacific Time) (weekly)](https://docs.google.com/document/d/1RbC4SBZBlKth7IjYv_NaEpnmLGwMJ0ElpUOmsG-bdRA/edit)<br>
+
+### Master Committee List
+
+| Name | Label | Members | Contact |
+|------|--------|---------|---------|
+|[Code of Conduct](committee-code-of-conduct/README.md)|conduct|* [Jaice Singer Dumars](https://github.com/jdumars), Google<br>* [Paris Pittman](https://github.com/parispittman), Google<br>* [Carolyn Van Slyck](https://github.com/carolynvs), Microsoft<br>* [Eric Paris](https://github.com/eparis), Red Hat<br>* [Jennifer Rondeau](https://github.com/bradamant3), VMware<br>|* [Private Mailing List](conduct@kubernetes.io)
+|[Product Security](committee-product-security/README.md)|product-security|* [Brandon Philips](https://github.com/philips), Red Hat<br>* [Jess Frazelle](https://github.com/jessfraz)<br>* [CJ Cullen](https://github.com/cjcullen), Google<br>* [Tim Allclair](https://github.com/tallclair), Google<br>* [Jordan Liggitt](https://github.com/liggitt), Google<br>* [Joel Smith](https://github.com/joelsmith), Red Hat<br>|* [Private Mailing List](security@kubernetes.io)
+|[Steering](committee-steering/README.md)|steering|* [Brian Grant](https://github.com/bgrant0607), Google<br>* [Brendan Burns](https://github.com/brendanburns), Microsoft<br>* [Derek Carr](https://github.com/derekwaynecarr), Red Hat<br>* [Davanum Srinivas](https://github.com/dims), Huawei<br>* [Joe Beda](https://github.com/jbeda), VMware<br>* [Michelle Noorali](https://github.com/michelleN), Microsoft<br>* [Brandon Philips](https://github.com/philips), Red Hat<br>* [Phillip Wittrock](https://github.com/pwittrock), Google<br>* [Sarah Novotny](https://github.com/sarahnovotny), Google<br>* [Clayton Coleman](https://github.com/smarterclayton), Red Hat<br>* [Aaron Crickenberger](https://github.com/spiffxp), Google<br>* [Timothy St. Clair](https://github.com/timothysc), VMware<br>|* [Mailing List](https://groups.google.com/a/kubernetes.io/forum/#!forum/steering)<br>* [Private Mailing List](steering-private@kubernetes.io)
<!-- BEGIN CUSTOM CONTENT -->
<!-- END CUSTOM CONTENT -->
diff --git a/sig-openstack/README.md b/sig-openstack/README.md
index 09be8a1a..b1718631 100644
--- a/sig-openstack/README.md
+++ b/sig-openstack/README.md
@@ -11,8 +11,8 @@ To understand how this file is generated, see https://git.k8s.io/community/gener
Coordinates the cross-community efforts of the OpenStack and Kubernetes communities. This includes OpenStack-related contributions to Kubernetes projects with OpenStack as: a deployment platform for Kubernetes; a service provider for Kubernetes; a collection of applications to run on Kubernetes.
## Meetings
-* Regular SIG Meeting: [Wednesdays at 16:00 PT (Pacific Time)](https://docs.google.com/document/d/15UwgLbEyZyXXxVtsThcSuPiJru4CuqU9p3ttZSfTaY4/edit) (biweekly). [Convert to your timezone](http://www.thetimezoneconverter.com/?t=16:00&tz=PT%20%28Pacific%20Time%29).
- * [Meeting notes and Agenda](https://docs.google.com/document/d/1iAQ3LSF_Ky6uZdFtEZPD_8i6HXeFxIeW4XtGcUJtPyU/edit?usp=sharing_eixpa_nl&ts=588b986f).
+* Regular SIG Meeting: [Wednesdays at 08:00 PT (Pacific Time)](https://docs.google.com/document/d/1bW3j4hFN4D8rv2LFv-DybB3gcE5ISAaOO_OpvDCgrGg/edit) (biweekly starting Wednesday March 20, 2019). [Convert to your timezone](http://www.thetimezoneconverter.com/?t=08:00&tz=PT%20%28Pacific%20Time%29).
+ * [Meeting notes and Agenda](https://docs.google.com/document/d/15UwgLbEyZyXXxVtsThcSuPiJru4CuqU9p3ttZSfTaY4/edit).
* [Meeting recordings](https://www.youtube.com/watch?v=iCfUx7ilh0E&list=PL69nYSiGNLP20iTSChQ_i2QQmTBl3M7ax).
## Leadership
@@ -21,6 +21,8 @@ Coordinates the cross-community efforts of the OpenStack and Kubernetes communit
The Chairs of the SIG run operations and processes governing the SIG.
* Chris Hoge (**[@hogepodge](https://github.com/hogepodge)**), OpenStack Foundation
+* Aditi Sharma (**[@adisky](https://github.com/adisky)**), NEC Technologies India
+* Christoph Glaubitz (**[@chrigl](https://github.com/chrigl)**), iNNOVO Cloud
## Emeritus Leads
diff --git a/sig-release/README.md b/sig-release/README.md
index 630ed0d6..595c78ff 100644
--- a/sig-release/README.md
+++ b/sig-release/README.md
@@ -51,6 +51,7 @@ The following subprojects are owned by sig-release:
- Owners:
- https://raw.githubusercontent.com/kubernetes/release/master/OWNERS
- https://raw.githubusercontent.com/kubernetes/sig-release/master/release-engineering/OWNERS
+ - https://raw.githubusercontent.com/kubernetes-sigs/k8s-container-image-promoter/master/OWNERS
- **release-team**
- Description: The Kubernetes Release Team is responsible for the day-to-day work required to successfully create releases of Kubernetes.
- Owners:
diff --git a/sig-scalability/slos/dns_programming_latency.md b/sig-scalability/slos/dns_programming_latency.md
index bec37dfb..d2844af3 100644
--- a/sig-scalability/slos/dns_programming_latency.md
+++ b/sig-scalability/slos/dns_programming_latency.md
@@ -1,10 +1,14 @@
-## Network programming latency SLIs/SLOs details
+## DNS programming latency SLIs/SLOs details
### Definition
| Status | SLI | SLO |
| --- | --- | --- |
-| __WIP__ | Latency of programming a single in-cluster dns instance, measured from when service spec or list of its `Ready` pods change to when it is reflected in that dns instance, measured as 99th percentile over last 5 minutes | In default Kubernetes installation, 99th percentile of (99th percentiles across all dns instances) per cluster-day <= X |
+| __WIP__ | Latency of programming dns instance, measured from when service spec or list of its `Ready` pods change to when it is reflected in that dns instance, measured as 99th percentile over last 5 minutes aggregated across all dns instances<sup>[1](#footnote1)</sup> | In default Kubernetes installation, 99th percentile per cluster-day <= X |
+
+<a name="footnote1">[1\]</a>Aggregation across all programmers means that all
+samples from all programmers go into one large pool, and SLI is percentile
+from all of them.
### User stories
- As a user of vanilla Kubernetes, I want some guarantee how quickly in-cluster
@@ -20,22 +24,18 @@ as external DNS resolution clearly depends on cloud provider or environment
in which the cluster is running (it hard to set the SLO for it).
### Caveats
-- The SLI is formulated for a single DNS instance, even though that value
-itself is not very interesting for the user.
-If there are multiple DNS instances in the cluster, the aggregation across
-them is done only at the SLO level (and only that gives a value that is
-interesting for the user). The reason for doing it this is feasibility for
-efficiently computing that:
+- The SLI is aggregated across all DNS instances, which is what is interesting
+for the end-user. It may happen that small percentage of DNS instances are
+completely unresponsive (if all others are fast), but that is desired - we need
+to allow slower/unresponsive ones because at some scale it will be happening.
+The reason for doing it this way is feasibility for efficiently computing that:
- if we would be doing aggregation at the SLI level (i.e. the SLI would be
- formulated like "... reflected in in-cluster DNS and visible from 99%
- of DNS instances"), computing that SLI would be extremely
+ formulated like "... reflected in in-cluster load-balancing mechanism and
+ visible from 99% of programmers"), computing that SLI would be extremely
difficult. It's because in order to decide e.g. whether pod transition to
Ready state is reflected, we would have to know when exactly it was reflected
- in 99% of DNS instances. That requires tracking metrics on
+ in 99% of programmers (e.g. iptables). That requires tracking metrics on
per-change base (which we can't do efficiently).
- - we admit that the SLO is a bit weaker in that form (i.e. it doesn't necessary
- force that a given change is reflected in 99% of programmers with a given
- 99th percentile latency), but it's close enough approximation.
### How to measure the SLI.
There [network programming latency](./network_programming_latency.md) is
diff --git a/sig-scalability/slos/network_programming_latency.md b/sig-scalability/slos/network_programming_latency.md
index dc1dace2..7cf5882c 100644
--- a/sig-scalability/slos/network_programming_latency.md
+++ b/sig-scalability/slos/network_programming_latency.md
@@ -4,7 +4,11 @@
| Status | SLI | SLO |
| --- | --- | --- |
-| __WIP__ | Latency of programming a single (e.g. iptables on a given node) in-cluster load balancing mechanism, measured from when service spec or list of its `Ready` pods change to when it is reflected in load balancing mechanism, measured as 99th percentile over last 5 minutes | In default Kubernetes installation, 99th percentile of (99th percentiles across all programmers (e.g. iptables)) per cluster-day <= X |
+| __WIP__ | Latency of programming in-cluster load balancing mechanism (e.g. iptables), measured from when service spec or list of its `Ready` pods change to when it is reflected in load balancing mechanism, measured as 99th percentile over last 5 minutes aggregated across all programmers<sup>[1](#footnote1)</sup> | In default Kubernetes installation, 99th percentile per cluster-day <= X |
+
+<a name="footnote1">[1\]</a>Aggregation across all programmers means that all
+samples from all programmers go into one large pool, and SLI is percentile
+from all of them.
### User stories
- As a user of vanilla Kubernetes, I want some guarantee how quickly new backends
@@ -27,12 +31,11 @@ but rejected due to being application specific, and thus introducing SLO would
be impossible.
### Caveats
-- The SLI is formulated for a single "programmer" (e.g. iptables on a single
-node), even though that value itself is not very interesting for the user.
-In case there are multiple programmers in the cluster, the aggregation across
-them is done only at the SLO level (and only that gives a value that is somehow
-interesting for the user). The reason for doing it this is feasibility for
-efficiently computing that:
+- The SLI is aggregated across all "programmers", which is what is interesting
+for the end-user. It may happen that small percentage of programmers are
+completely unresponsive (if all others are fast), but that is desired - we need
+to allow slower/unresponsive nodes because at some scale it will be happening.
+The reason for doing it this way is feasibility for efficiently computing that:
- if we would be doing aggregation at the SLI level (i.e. the SLI would be
formulated like "... reflected in in-cluster load-balancing mechanism and
visible from 99% of programmers"), computing that SLI would be extremely
@@ -40,9 +43,6 @@ efficiently computing that:
Ready state is reflected, we would have to know when exactly it was reflected
in 99% of programmers (e.g. iptables). That requires tracking metrics on
per-change base (which we can't do efficiently).
- - we admit that the SLO is a bit weaker in that form (i.e. it doesn't necessary
- force that a given change is reflected in 99% of programmers with a given
- 99th percentile latency), but it's close enough approximation.
### How to measure the SLI.
The method of measuring this SLI is not obvious, so for completeness we describe
diff --git a/sig-scalability/slos/pod_startup_latency.md b/sig-scalability/slos/pod_startup_latency.md
index 7c52777e..84bde2fe 100644
--- a/sig-scalability/slos/pod_startup_latency.md
+++ b/sig-scalability/slos/pod_startup_latency.md
@@ -4,29 +4,48 @@
| Status | SLI | SLO |
| --- | --- | --- |
-| __Official__ | Startup latency of stateless<sup>[1](#footnote1)</sup> and schedulable<sup>[2](#footnote2)</sup> pods, excluding time to pull images and run init containers, measured from pod creation timestamp to when all its containers are reported as started and observed via watch, measured as 99th percentile over last 5 minutes | In default Kubernetes installation, 99th percentile per cluster-day <= 5s |
+| __Official__ | Startup latency of schedulable<sup>[1](#footnote1)</sup> stateless<sup>[2](#footnote2)</sup> pods, excluding time to pull images and run init containers, measured from pod creation timestamp to when all its containers are reported as started and observed via watch, measured as 99th percentile over last 5 minutes | In default Kubernetes installation, 99th percentile per cluster-day <= 5s |
+| __WIP__ | Startup latency of schedulable<sup>[1](#footnote1)</sup> stateful<sup>[3](#footnote3)</sup> pods, excluding time to pull images, run init containers, provision volumes (in delayed binding mode) and unmount/detach volumes (from previous pod if needed), measured from pod creation timestamp to when all its containers are reported as started and observed via watch, measured as 99th percentile over last 5 minutes | In default Kubernetes installation, 99th percentile per cluster-day <= X where X depends on storage provider |
-<a name="footnote1">[1\]</a>A `stateless pod` is defined as a pod that doesn't
+<a name="footnote1">[1\]</a>By schedulable pod we mean a pod that can be
+scheduled in the cluster without causing any preemption.
+
+<a name="footnote2">[2\]</a>A `stateless pod` is defined as a pod that doesn't
mount volumes with sources other than secrets, config maps, downward API and
empty dir.
-<a name="footnote2">[2\]</a>By schedulable pod we mean a pod that can be
-scheduled in the cluster without causing any preemption.
+<a name="footnote3">[3\]</a>A `stateful pod` is defined as a pod that mounts
+at least one volume with sources other than secrets, config maps, downward API
+and empty dir.
### User stories
- As a user of vanilla Kubernetes, I want some guarantee how quickly my pods
will be started.
### Other notes
-- Only schedulable and stateless pods contribute to the SLI:
+- Only schedulable pods contribute to the SLIs:
- If there is no space in the cluster to place the pod, there is not much
we can do about it (it is task for Cluster Autoscaler which should have
separate SLIs/SLOs).
- If placing a pod requires preempting other pods, that may heavily depend
on the application (e.g. on their graceful termination period). We don't
want that to contribute to this SLI.
- - Mounting disks required by non-stateless pods may potentially also require
- non-negligible time, not fully dependent on Kubernetes.
+- We are explicitly splitting stateless and stateful pods from each other:
+ - Starting a stateful pod requires attaching and mounting volumes, that
+ takes non-negligible amount of time and doesn't even fully depend on
+ Kubernetes. However, even though it depends on chosen storage provider,
+ it isn't application specific, thus we make that part of the SLI
+ (though the exact SLO threshold may depend on chosen storage provider).
+ - We also explicitly exclude time to provision a volume (in delayed volume
+ binding mode), even though that also only depends on storage provider,
+ not on the application itself. However, volume provisioning can be
+ perceived as a bootstrapping operation in the lifetime of a stateful
+ workload, being done only once at the beginning, not everytime a pod is
+ created. As a result, we decided to exclude it.
+ - We also explicitly exclude time to unmount and detach the volume (if it
+ was previously mounted to a different pod). This situation is symetric to
+ excluding pods that need to preempt others (it's kind of cleaning after
+ predecessors).
- We are explicitly excluding image pulling from time the SLI. This is
because it highly depends on locality of the image, image registry performance
characteristic (e.g. throughput), image size itself, etc. Since we have
@@ -58,10 +77,18 @@ reported as started and observed via watch", because:
can potentially be fired).
### TODOs
-- We should try to provide guarantees for non-stateless pods (the threshold
-may be higher for them though).
- Revisit whether we want "watch pod status" part to be included in the SLI.
+- Consider creating an SLI for pod deletion latency, given that for stateful
+pods, detaching RWO volume is required before it can be attached to a
+different node (i.e. slow pod deletion may block pod startup).
+- While it's easy to exclude pods that require preempting other pods or
+volume unmounting in tests (where we fully control the environment), we need
+to figure out how to do that properly in production environments.
### Test scenario
__TODO: Descibe test scenario.__
+
+Note: when running tests against clusters with nodes in multiple zones, the
+preprovisioned volumes should be balanced across zones so that we don't make
+pods unschedulable due to lack of resources in a single zone.
diff --git a/sig-scalability/slos/slos.md b/sig-scalability/slos/slos.md
index 2b13c48b..de52ccc2 100644
--- a/sig-scalability/slos/slos.md
+++ b/sig-scalability/slos/slos.md
@@ -105,15 +105,16 @@ Prerequisite: Kubernetes cluster is available and serving.
| --- | --- | --- | --- |
| __Official__ | Latency of mutating API calls for single objects for every (resource, verb) pair, measured as 99th percentile over last 5 minutes | In default Kubernetes installation, for every (resource, verb) pair, excluding virtual and aggregated resources and Custom Resource Definitions, 99th percentile per cluster-day<sup>[1](#footnote1)</sup> <= 1s | [Details](./api_call_latency.md) |
| __Official__ | Latency of non-streaming read-only API calls for every (resource, scope pair, measured as 99th percentile over last 5 minutes | In default Kubernetes installation, for every (resource, scope) pair, excluding virtual and aggregated resources and Custom Resource Definitions, 99th percentile per cluster-day<sup>[1](#footnote1)</sup> (a) <= 1s if `scope=resource` (b) <= 5s if `scope=namespace` (c) <= 30s if `scope=cluster` | [Details](./api_call_latency.md) |
-| __Official__ | Startup latency of stateless and schedulable pods, excluding time to pull images and run init containers, measured from pod creation timestamp to when all its containers are reported as started and observed via watch, measured as 99th percentile over last 5 minutes | In default Kubernetes installation, 99th percentile per cluster-day<sup>[1](#footnote1)</sup> <= 5s | [Details](./pod_startup_latency.md) |
-| __WIP__ | Latency of programming a single (e.g. iptables on a given node) in-cluster load balancing mechanism, measured from when service spec or list of its `Ready` pods change to when it is reflected in load balancing mechanism, measured as 99th percentile over last 5 minutes | In default Kubernetes installation, 99th percentile of (99th percentiles across all programmers (e.g. iptables)) per cluster-day<sup>[1](#footnote1)</sup> <= X | [Details](./network_programming_latency.md) |
-| __WIP__ | Latency of programming a single in-cluster dns instance, measured from when service spec or list of its `Ready` pods change to when it is reflected in that dns instance, measured as 99th percentile over last 5 minutes | In default Kubernetes installation, 99th percentile of (99th percentiles across all dns instances) per cluster-day<sup>[1](#footnote1)</sup> <= X | [Details](./dns_programming_latency.md) |
+| __Official__ | Startup latency of schedulable stateless pods, excluding time to pull images and run init containers, measured from pod creation timestamp to when all its containers are reported as started and observed via watch, measured as 99th percentile over last 5 minutes | In default Kubernetes installation, 99th percentile per cluster-day<sup>[1](#footnote1)</sup> <= 5s | [Details](./pod_startup_latency.md) |
+| __WIP__ | Startup latency of schedulable stateful pods, excluding time to pull images, run init containers, provision volumes (in delayed binding mode) and unmount/detach volumes (from previous pod if needed), measured from pod creation timestamp to when all its containers are reported as started and observed via watch, measured as 99th percentile over last 5 minutes | In default Kubernetes installation, 99th percentile per cluster-day<sup>[1](#footnote1)</sup> <= X where X depends on storage provider | | [Details](./pod_startup_latency.md) |
+| __WIP__ | Latency of programming in-cluster load balancing mechanism (e.g. iptables), measured from when service spec or list of its `Ready` pods change to when it is reflected in load balancing mechanism, measured as 99th percentile over last 5 minutes aggregated across all programmers | In default Kubernetes installation, 99th percentile per cluster-day<sup>[1](#footnote1)</sup> <= X | [Details](./network_programming_latency.md) |
+| __WIP__ | Latency of programming dns instance, measured from when service spec or list of its `Ready` pods change to when it is reflected in that dns instance, measured as 99th percentile over last 5 minutes aggregated across all dns instances | In default Kubernetes installation, 99th percentile per cluster-day<sup>[1](#footnote1)</sup> <= X | [Details](./dns_programming_latency.md) |
| __WIP__ | In-cluster network latency from a single prober pod, measured as latency of per second ping from that pod to "null service", measured as 99th percentile over last 5 minutes. | In default Kubernetes installataion with RTT between nodes <= Y, 99th percentile of (99th percentile over all prober pods) per cluster-day<sup>[1](#footnote1)</sup> <= X | [Details](./network_latency.md) |
| __WIP__ | In-cluster dns latency from a single prober pod, measured as latency of per second DNS lookup for "null service" from that pod, measured as 99th percentile over last 5 minutes. | In default Kubernetes installataion with RTT between nodes <= Y, 99th percentile of (99th percentile over all prober pods) per cluster-day<sup>[1](#footnote1)</sup> <= X | [Details](./dns_latency.md) |
<a name="footnote1">\[1\]</a> For the purpose of visualization it will be a
-sliding window. However, for the purpose of reporting the SLO, it means one
-point per day (whether SLO was satisfied on a given day or not).
+sliding window. However, for the purpose of SLO itself, it basically means
+"fraction of good minutes per day" being within threshold.
### Burst SLIs/SLOs
diff --git a/sig-service-catalog/README.md b/sig-service-catalog/README.md
index bb92d7e7..c7dcaa09 100644
--- a/sig-service-catalog/README.md
+++ b/sig-service-catalog/README.md
@@ -22,7 +22,6 @@ The [charter](charter.md) defines the scope and governance of the Service Catalo
### Chairs
The Chairs of the SIG run operations and processes governing the SIG.
-* Carolyn Van Slyck (**[@carolynvs](https://github.com/carolynvs)**), Microsoft
* Michael Kibbe (**[@kibbles-n-bytes](https://github.com/kibbles-n-bytes)**), Google
* Jonathan Berkhahn (**[@jberkhahn](https://github.com/jberkhahn)**), IBM
* Jay Boyd (**[@jboyd01](https://github.com/jboyd01)**), Red Hat
@@ -33,6 +32,7 @@ The Chairs of the SIG run operations and processes governing the SIG.
* Aaron Schlesinger (**[@arschles](https://github.com/arschles)**), Microsoft
* Ville Aikas (**[@vaikas-google](https://github.com/vaikas-google)**), Google
* Doug Davis (**[@duglin](https://github.com/duglin)**), IBM
+* Carolyn Van Slyck (**[@carolynvs](https://github.com/carolynvs)**), Microsoft
## Contact
* [Slack](https://kubernetes.slack.com/messages/sig-service-catalog)
diff --git a/sig-service-catalog/charter.md b/sig-service-catalog/charter.md
index 6597ad82..6ecd0dfe 100644
--- a/sig-service-catalog/charter.md
+++ b/sig-service-catalog/charter.md
@@ -109,11 +109,11 @@ roles. We do not have the Tech Lead role, and have a honorary Emeritus Chair rol
related events, such as KubeCon.
- Security Contacts
- - Are a contact point for the Product Security Team to reach out to for
+ - Are a contact point for the Product Security Committee to reach out to for
triaging and handling of incoming issues.
- Must be a maintainer.
- Must accept and adhere to the Kubernetes [Embargo
- Policy](https://github.com/kubernetes/sig-release/blob/master/security-release-process-documentation/security-release-process.md#embargo-policy).
+ Policy](https://git.k8s.io/security/private-distributors-list.md#embargo-policy).
- Defined in
[SECURITY_CONTACTS](https://github.com/kubernetes-incubator/service-catalog/blob/master/SECURITY_CONTACTS)
file.
diff --git a/sig-storage/README.md b/sig-storage/README.md
index 2af09a56..f3f51394 100644
--- a/sig-storage/README.md
+++ b/sig-storage/README.md
@@ -103,7 +103,7 @@ We hold a public meeting every two weeks, on Thursdays at 9 AM (PT).
* Recordings of past meetings: https://www.youtube.com/playlist?list=PLb1_clREIGYVaqvKaUsVyXxjfcSQDBnmB
### Contributing
-Interested in contributing to storage features in Kubernetes? [Please read our guide for new contributors](https://github.com/kubernetes/community/blob/master/sig-storage/contributing.md)
+Interested in contributing to storage features in Kubernetes? [Please read our guide for new contributors](https://github.com/kubernetes/community/blob/master/sig-storage/CONTRIBUTING.md)
### Links
* Public Slack Channel: https://kubernetes.slack.com/messages/sig-storage/details/
diff --git a/sig-testing/README.md b/sig-testing/README.md
index 392dc82b..17aa031d 100644
--- a/sig-testing/README.md
+++ b/sig-testing/README.md
@@ -21,7 +21,7 @@ Interested in how we can most effectively test Kubernetes. We're interested spec
The Chairs of the SIG run operations and processes governing the SIG.
* Aaron Crickenberger (**[@spiffxp](https://github.com/spiffxp)**), Google
-* Erick Feja (**[@fejta](https://github.com/fejta)**), Google
+* Erick Fejta (**[@fejta](https://github.com/fejta)**), Google
* Steve Kuznetsov (**[@stevekuznetsov](https://github.com/stevekuznetsov)**), Red Hat
* Timothy St. Clair (**[@timothysc](https://github.com/timothysc)**), VMware
@@ -49,21 +49,27 @@ The following subprojects are owned by sig-testing:
- Description: Kubernetes IN Docker. Run Kubernetes test clusters on your local machine using Docker containers as nodes.
- Owners:
- https://raw.githubusercontent.com/kubernetes-sigs/kind/master/OWNERS
+ - Contact
+ - Slack: [#kind](https://kubernetes.slack.com/messages/kind)
- Meetings:
- - sigs.k8s.io/kind weekly meeting: [Mondays at 11:00 PT (Pacific Time)](https://docs.google.com/document/d/1FQx0BPlkkl1Bn0c9ocVBxYIKojpmrS1CFP5h0DI68AE/edit) (weekly). [Convert to your timezone](http://www.thetimezoneconverter.com/?t=11:00&tz=PT%20%28Pacific%20Time%29).
+ - sigs.k8s.io/kind bi-weekly meeting: [Mondays at 11:00 PT (Pacific Time)](https://docs.google.com/document/d/1FQx0BPlkkl1Bn0c9ocVBxYIKojpmrS1CFP5h0DI68AE/edit) (bi-weekly). [Convert to your timezone](http://www.thetimezoneconverter.com/?t=11:00&tz=PT%20%28Pacific%20Time%29).
- [Meeting notes and Agenda](https://docs.google.com/document/d/1b9Ppm7ZT_tMWRs5Ph1zGJJKb5nF9c3ZHzMwg1olJIrc/edit).
- [Meeting recordings](https://bit.ly/k8s-sig-testing-videos).
- **prow**
- Description: Prow is a CI/CD system based on Kubernetes. See prow.k8s.io to see it in action for the Kubernetes project
- Owners:
- https://raw.githubusercontent.com/kubernetes/test-infra/master/prow/OWNERS
+ - Contact
+ - Slack: [#prow](https://kubernetes.slack.com/messages/prow)
- **testing-commons**
- Description: The Testing Commons is a subproject within the Kubernetes sig-testing community interested code structure, layout, and execution of common test code used throughout the kubernetes project
- Owners:
- https://raw.githubusercontent.com/kubernetes-sigs/testing_frameworks/master/OWNERS
- https://raw.githubusercontent.com/kubernetes/kubernetes/master/test/OWNERS
+ - Contact
+ - Slack: [#testing-commons](https://kubernetes.slack.com/messages/testing-commons)
- Meetings:
- - Testing Commons: [Wednesdays at 07:30 PT (Pacific Time)](https://docs.google.com/document/d/1FQx0BPlkkl1Bn0c9ocVBxYIKojpmrS1CFP5h0DI68AE/edit) (bi-weekly). [Convert to your timezone](http://www.thetimezoneconverter.com/?t=07:30&tz=PT%20%28Pacific%20Time%29).
+ - Testing Commons: [Fridays at 07:30 PT (Pacific Time)](https://docs.google.com/document/d/1FQx0BPlkkl1Bn0c9ocVBxYIKojpmrS1CFP5h0DI68AE/edit) (bi-weekly). [Convert to your timezone](http://www.thetimezoneconverter.com/?t=07:30&tz=PT%20%28Pacific%20Time%29).
- [Meeting notes and Agenda](https://docs.google.com/document/d/1TOC8vnmlkWw6HRNHoe5xSv5-qv7LelX6XK3UVCHuwb0/edit#heading=h.tnoevy5f439o).
- **test-infra**
- Description: Miscellaneous tools and configuration to run the testing infrastructure for the Kubernetes project
diff --git a/sig-wg-lifecycle.md b/sig-wg-lifecycle.md
new file mode 100644
index 00000000..1c0d0102
--- /dev/null
+++ b/sig-wg-lifecycle.md
@@ -0,0 +1,117 @@
+# SUMMARY:
+
+This document covers everything you need to know about the creation and retirement (“lifecycle”) of a special interest or working group within the Kubernetes project. General project governance information can be found in the [steering committee repo].
+Out of scope for this document: [subproject] creation.
+
+[Creation]
+[Retirement]
+
+# [Creation]
+## Prerequisites for a SIG
+- [ ] Read [sig-governance.md]
+- [ ] Send an email to the Steering Committee <steering@kubernetes.io> to scope the SIG and get provisional approval.
+- [ ] Look at the checklist below for processes and tips that you will need to do while this is going on. It's best to collect this information upfront so you have a smoother process to launch
+- [ ] Follow the [SIG charter process] to propose and obtain approval for a charter
+- [ ] Announce new SIG on kubernetes-dev@googlegroups.com
+
+## Prerequisites for a WG
+- [ ] Read [wg-governance.md]
+- [ ] Send email to [kubernetes-dev@googlegroups.com] titled "WG-Creation-Request: WG Foo" with some of the questions answered from wg-goverance.md and wait for community discourse; ask for SIG sponsorship
+- [ ] Do the first checklist item in the #GitHub section below and add a row to the WG section:
+ - [ ] Label with committee/steering and wait for a simple majority
+ - [ ] Also add sponsoring SIG Chair/Tech Leads as approvers; you'll get this from the community email above
+ - [ ] Place a `/hold` on it until the members that need to review have; a contributor experience member will do this for you if they don't see one already
+- [ ] Send an email to the stakeholder SIG mailing lists and steering committee with the sigs.yaml pull request
+
+## GitHub:
+- [ ] Submit a PR that will add rows to [sigs.yaml] using the [generator doc]; this will create README files and OWNERS_ALIASES files for your new directory in `kubernetes/community`
+- You’ll need:
+ - SIG Name
+ - Directory URL
+ - Mission Statement
+ - Chair Information
+ - Meeting Information
+ - Contact Methods
+ - Any SIG Stakeholders
+ - Any Subproject Stakeholders
+- [ ] Add SIG-related docs like charter.md, schedules, roadmaps, etc. to your new kubernetes/community/SIG-foo directory once the above PR is merged.
+- [ ] File a [Kubernetes/Org] Issue for a label; read about our [GitHub management] services
+
+## Communicate:
+Each one of these has a linked canonical source guideline from set up to moderation and your role and responsibilities for each. We are all responsible for enforcing our [code of conduct].
+- [ ] Read [moderation.md] and understand your role in keeping our community safe
+- [ ] Create your mailing lists - One for your members and another for your chairs/leads
+- Either [GoogleGroups] OR [discuss.kubernetes.io]
+- Example: kubernetes-[sig/wg]-foo@googlegroups.com and kubernetes-[sig/wg]-foo-leads@googlegroups.com
+- The chairs/leads email will be used for activation of certain platforms (eg zoom)
+- [ ] Request a slack channel. [slack-guidelines.md]
+- [ ] Request a YouTube playlist link [youtube-guidelines.md]
+- [ ] Request a zoom account [zoom-guidelines.md]
+
+## Engage:
+...as a chair/tech lead with other chairs/tech leads
+- [ ] Subscribe to the kubernetes-sig-leads@googlegroups.com group
+- [ ] Join the #chairs-and-techleads slack channel
+
+...with the community as part of [sig-governance.md]
+- [ ] Get on the schedule for [Thursday community updates]; info at the top of the agenda
+- [ ] Schedule your weekly/biweekly/at least every 3 weeks update meetings [TODO - THIS MAY CHANGE ONCE WE EXPLORE GSUITE]
+- Use a poll service like doodle.com that will help you get a good pulse on your community and when they can meet
+- This calendar creation process will allow all of your leads to edit SIG/WG Meetings. This is important as we all change jobs, email addresses, and take breaks from the project. Shared calendars will also provide consistenacy with contributors looking for your subproject meetings, office hours, and anything else that the SIG/WGs contributors should know about.
+- Create a shared calendar on your own account. [example with google calendars: https://support.google.com/calendar/answer/37095?hl=en] Note: If you are creating from a corporate account like Google, it will not be public. Do a test first and ask a friend that doesn't work at your company.
+ - Name it “SIG/WG Foo [Time Cadence] Meetings”
+ - Sharing / access settings: Make it public
+ - Share it with full rights ("make changes and manage sharing”) with: cgnt364vd8s86hr2phapfjc6uk@group.calendar.google.com (Why this weird address? This is a public calendar that will be used to populate calendars on various sites)
+ - Your SIG/WG lead email distro (see second bullet in Communicate)
+ - Share it with lowest level of shown details (“see all event details”):
+ - SIG/WG membership distro (example: kubernetes-sig-foo@)
+
+# [Retirement] (merging or disbandment)
+Sometimes it might be necessary to sunset a SIG or Working Group. SIGs/WGs may also merge with an existing SIG/WG if deemed appropriate, and would save project overhead in the long run. Working Groups in particular are more ephemeral than SIGs, so this process should be followed when the Working Group has accomplished it's mission.
+
+## Prerequisites for SIG Retirement
+- [ ] SIG’s retirement decision follows the decision making and communication processes as outlined in their charter
+
+## Prerequisites for WG Retirement
+- [ ] Have completed the mission of the WG or have another reason as outlined in [wg-governance.md]
+
+## Steps:
+- [ ] Send an email to kubernetes-dev@googlegroups.com and community@kubernetes.io alerting the community of your intentions to disband or merge. [example]
+- This kicks off the process for Contributor Experience’s community managers who will reach out and set an issue against `kubernetes/community` with exact next steps covered below. We can help walk through this when you get there. Most of this is covered in the same creation communication docs as above.
+- [ ] Archive the member and lead/chair mailing lists/[GoogleGroups]
+- [ ] Check the [slack-guidelines.md] for latest process on archiving the slack channel
+- [ ] Deactivate the zoom license
+- [ ] Delete your shared SIG/WG calendar
+- [ ] Ensure that the [youtube-guidelines.md] links are removed and you've uploaded all SIG/WG meetings to date
+- [ ] Move the existing SIG directory into the archive in `kubernetes/community`
+- [ ] GitHub archiving/removing/other transactions:
+ - [ ] Move all appropriate github repositories to an appropriate archive or a repo outside of the Kubernetes org
+ - [ ] Each subproject a SIG owns must transfer ownership to a new SIG, outside the project, or be retired
+ - [ ] File an issue with kubernetes/org if there are multiple repos
+ - [ ] Retire or transfer any test-infra jobs or testgrid dashboards, if applicable, owned by the SIG. Work with SIG-Testing on this.
+ - [ ] Migrate/Remove/Deprecate any SIG/WG labels in labels.yaml
+ - [ ] Remove or rename any GitHub teams that refer to the SIG
+ - [ ] Update sigs.yaml to remove or rename
+
+
+[steering committee repo]: https://github.com/kubernetes/steering
+[discuss.kubernetes.io]: https://discuss.kubernetes.io
+[subproject]: /governance.md#subprojects
+[Creation]: (#Creation)
+[Retirement]: (#Retirement)
+[sig-governance.md]: /committee-steering/governance/sig-governance.md
+[SIG charter process]: /committee-steering/governance
+[wg-governance.md]: /committee-steering/governance/wg-governance.md
+[sigs.yaml]: /sigs.yaml
+[generator doc]: /generator
+[Kubernetes/Org]: https://github.com/kubernetes/org/issues/new/choose
+[GitHub management]: /github-management
+[code of conduct]: /code-of-conduct.md
+[moderation.md]: /communication/moderation.md
+[GoogleGroups]: /communication/mailing-list-guidelines.md
+[slack-guidelines.md]: /communication/slack-guidelines.md
+[youtube-guidelines.md]: /communication/youtube-guidelines.md
+[zoom-guidelines.md]: /communication/zoom-guidelines.md
+[discuss-guidelines.md]: /communication/discuss-guidelines.md
+[Thursday community updates]: /events/community-meeting.md
+[example]: https://docs.google.com/document/d/1qZcAvuWBznR_oEaPWtwm7U4JNT91m8r9YOUvInU-src/edit#heading=h.jsw0l2t0ra8
diff --git a/sig-windows/CONTRIBUTING.md b/sig-windows/CONTRIBUTING.md
new file mode 100644
index 00000000..a31f282b
--- /dev/null
+++ b/sig-windows/CONTRIBUTING.md
@@ -0,0 +1,116 @@
+# Contributing on Windows Node support
+
+Contains a list of common resources when contributing in the effort to support Windows Node and Windows Server containers in Kubernetes.
+
+- [Joining the community of other contributors](#joining-the-community-of-other-contributors)
+- [Find work in progress](#find-work-in-progress)
+- [Building Kubernetes for Windows from Source](#building-kubernetes-for-windows-from-source)
+ - [Build Prerequisites](#build-prerequisites)
+ - [Building Kubernetes binaries for Windows](#building-kubernetes-binaries-for-windows)
+ - [Updating the Node binaries](#updating-the-node-binaries)
+- [Creating a PR](#creating-a-pr)
+- [Running Tests](#running-tests)
+- [Reporting Issues and Feature Requests](#reporting-issues-and-feature-requests)
+- [Gathering Logs](#gathering-logs)
+ - [Collecting Networking Logs](#collecting-networking-logs)
+
+## Joining the community of other contributors
+
+The best way to get in contact with the contributors working on Windows support is through the Kubernetes Slack. To get a Slack invite, visit [http://slack.k8s.io/](http://slack.k8s.io/) . Once you're logged in, join us in the [#SIG-Windows](https://kubernetes.slack.com/messages/sig-windows) channel. You can also use the [Kubernetes Community Forums](https://discuss.kubernetes.io/c/general-discussions/windows) to chat about Windows containers on Kubernetes.
+
+To get access to shared documents, meeting calendar, and additional discussions, be sure to also join the [SIG-Windows Google Group](https://groups.google.com/forum/#!forum/kubernetes-sig-windows).
+
+View the leadership team in SIG-Windows and other subprojects in the [getting started](https://github.com/kubernetes/community/tree/master/sig-windows) guide.
+
+## Find work in progress
+
+To get a handle on current work, you can view [outstanding PRs](https://github.com/kubernetes/kubernetes/pulls?q=is%3Apr+is%3Aopen+label%3Asig%2Fwindows+is%3Apr).
+
+View the SIG-Windows project board, tracking detailed [issues across Kubernetes releases](https://github.com/orgs/kubernetes/projects/8).
+
+## Building Kubernetes for Windows from Source
+
+The Kubernetes build scripts have not been ported to Windows, so it's best to run in a Linux VM where you can run the same Docker container used in the official Kubernetes builds. This simplifies the steps, but means that you cannot build under Windows Subsystem for Linux (WSL).
+
+It's best to skim over the [Building Kubernetes](https://github.com/kubernetes/kubernetes/blob/master/build/README.md) guide if you have never built Kubernetes before to get the latest info. These steps are a summary focused on cross-building the Windows node binaries (kubelet & kube-proxy).
+
+### Build Prerequisites
+
+At least 60GB of disk space is required, and 16GB of memory (or memory + swap).
+
+Once you have a VM, install Git, [Docker-CE](https://docs.docker.com/install/), and make. The build scripts will pull a Docker container with the required version of golang and other needed tools preinstalled.
+
+If you're using Ubuntu, then install the following packages: git, build-essential, [Docker-CE](https://docs.docker.com/install/linux/docker-ce/ubuntu/).
+
+### Building Kubernetes binaries for Windows
+
+You can build individual components such as kubelet, kube-proxy, or kubectl by running `./build/run.sh make <binary name> KUBE_BUILD_PLATFORMS=windows/amd64` such as `./build/run.sh make kubelet KUBE_BUILD_PLATFORMS=windows/amd64`
+
+If you would like to build all binaries at once, then run `./build/run.sh make cross KUBE_BUILD_PLATFORMS=windows/amd64`
+
+Once the build completes, the files will be in `_output/dockerized/bin`.
+
+### Updating the Node binaries
+
+Once you have binaries built, the easiest way to test them is to replace them on an existing cluster. This section assumes you already have a cluster in the cloud of your choice. To update the binaries on an existing node, follow these steps:
+
+1. Drain & cordon a node with `kubectl drain <nodename>`
+2. Connect to the node with SSH or Windows Remote Desktop, and start PowerShell
+3. On the node, run `Stop-Service kubelet -Force`
+4. Copy kubelet.exe and kube-proxy.exe to a cloud storage account, or use SSH to copy them directly to the node.
+5. Overwrite the existing kubelet & kube-proxy binaries. If you don't know where they are, run `sc.exe qc kubelet` or `sc.exe qc kube-proxy` and look at the BINARY_PATH_NAME returned.
+6. Start the updated kubelet & kube-proxy with `Start-Service kubelet`
+
+## Creating a PR
+
+Congratulations on contributing to the SIG-Windows ecosystem. If there is a PR you would like to build, it's easy. You can create a working branch, pull the changes from GitHub in a patch, apply, then build.
+
+The detailed steps here are based off an example PR on GitHub: [https://github.com/kubernetes/kubernetes/pull/74788](https://github.com/kubernetes/kubernetes/pull/74788). Be sure to replace the URL and steps with the PR you want to test.
+
+1. Make sure your local clone is up-to-date with master: `git checkout master ; git pull master`
+2. Create a branch in your repo: `git checkout -b pr74788`
+3. Get the patch for the PR you want. Append `.patch` to the URL, and download it with curl: `curl -L -o pr74788.patch https://github.com/kubernetes/kubernetes/pull/74788.patch`
+4. Merge it with `patch -p1 < pr74788.patch`
+5. If there are errors, fix them as needed. Once you're done, delete the `.patch` file and then `git commit` the rest to your local branch.
+6. Deploy your own cluster, including Windows Nodes
+7. Test Your Changes
+
+## Running Tests
+
+For the most up-to-date steps on how to build and run tests, please go to [https://github.com/kubernetes-sigs/windows-testing](https://github.com/kubernetes-sigs/windows-testing). It has everything you need to build and run tests, as well as links to the SIG-Windows configurations used on [TestGrid](https://testgrid.k8s.io/sig-windows).
+
+## Reporting Issues and Feature Requests
+
+If you have what looks like a bug, or you would like to make a feature request, please use the [Github issue tracking system](https://github.com/kubernetes/kubernetes/issues). You can open issues on [GitHub](https://github.com/kubernetes/kubernetes/issues/new/choose) and assign them to SIG-Windows. You should first search the list of issues in case it was reported previously and comment with your experience on the issue and add additional logs. SIG-Windows Slack is also a great avenue to get some initial support and troubleshooting ideas prior to creating a ticket.
+
+If filing a bug, please include detailed information about how to reproduce the problem, such as:
+
+* Kubernetes version: kubectl version
+* Environment details: Cloud provider, OS distro, networking choice and configuration, and Docker version
+* Detailed steps to reproduce the problem
+* Relevant logs
+* Tag the issue sig/windows by commenting on the issue with `/sig windows` to bring it to a SIG-Windows member's attention
+
+## Gathering Logs
+
+Logs are an important element of troubleshooting issues in Kubernetes. Make sure to include them any time you seek troubleshooting assistance from other contributors.
+
+### Collecting kubelet and kube-proxy Logs
+There are a few different ways to run the node binaries (kubelet, kube-proxy, etc) and the execution method also dictates how logs will be collected. [Issue 75319](https://github.com/kubernetes/kubernetes/issues/75319) tracks pending work for better log management on Windows (for example using the Windows Event Log for higher log throughput and log rotation). If you end up logging to a file, you can use [fluentd](https://docs.fluentd.org/v0.12/articles/windows) or [Splunk](https://docs.splunk.com/Documentation/Splunk/7.2.4/Data/HowtogetWindowsdataintoSplunk) to ship logs to a syslog server for search and analytics.
+1. Windows Service Manager services - You may have to introduce your own log consumption and log rotation service if you are logging to a file. We will investigate if journald is an option
+2. nssm.exe services - nssm.exe provides support for forwarding stdout/stderr logs to a file (use the `AppStdout` and `AppStderr` options) and also supports logs file rotation (See the `File rotation` and `I/O redirection` sections in the [documentation](https://nssm.cc/usage)). You can see more examples on using nssm.exe for the Kubernetes components of the Windows node in the services and background processes section under [troubleshooting](https://kubernetes.io/docs/getting-started-guides/windows/#troubleshooting)
+```Powershell
+# Example nssm command line for the kubelet
+nssm set kubelet AppStdout C:\k\kubelet.log
+nssm set kubelet AppStderr C:\k\kubelet.log
+```
+
+### Collecting Networking Logs
+1. On the node before creating the pod for the first time.
+2. `start-bitstransfer https://raw.githubusercontent.com/Microsoft/SDN/master/Kubernetes/windows/debug/collectlogs.ps1`
+3. Execute collectlogs.ps1 in a PowerShell window
+4 Start the trace by running `C:\k\debug\starthnstrace.cmd`
+5. Reproduce the issue
+6. Run `netsh trace stop`
+7. Execute collectlogs.ps1 in a PowerShell window again
+8. Include in your ticket `C:\server.etl`
diff --git a/sig-windows/README.md b/sig-windows/README.md
index 91dcaac9..b4040323 100644
--- a/sig-windows/README.md
+++ b/sig-windows/README.md
@@ -8,7 +8,7 @@ To understand how this file is generated, see https://git.k8s.io/community/gener
--->
# Windows Special Interest Group
-Focuses on supporting Windows Server Containers for Kubernetes.
+Focuses on supporting Windows Node and scheduling Windows Server containers on Kubernetes.
## Meetings
* Regular SIG Meeting: [Tuesdays at 12:30 Eastern Standard Time (EST)](https://docs.google.com/document/d/1FQx0BPlkkl1Bn0c9ocVBxYIKojpmrS1CFP5h0DI68AE/edit) (weekly). [Convert to your timezone](http://www.thetimezoneconverter.com/?t=12:30&tz=Eastern%20Standard%20Time%20%28EST%29).
@@ -52,23 +52,22 @@ Note that the links to display team membership will only work if you are a membe
<!-- BEGIN CUSTOM CONTENT -->
## Getting Started
-If you're looking for information on building and running containers on Windows, you can get started at http://aka.ms/windowscontainers .
+If you're looking for information on building and running containers on Windows, you can get started at http://aka.ms/windowscontainers.
-Kubernetes 1.9 includes beta support for Windows Server containers and has an up-to-date [Getting Started Guide for Windows](https://kubernetes.io/docs/getting-started-guides/windows/) .
+Kubernetes 1.14 includes stable support for Windows Server containers and has up-to-date [documentation](https://kubernetes.io/docs/setup/windows/intro-windows-in-kubernetes/) .
-Some additional guides are available, but may refer to older releases:
+Additional information and guides are available in the [KEPs for SIG-Windows](https://github.com/kubernetes/enhancements/tree/master/keps/sig-windows)
-* Using host gateway networking: https://docs.microsoft.com/en-us/virtualization/windowscontainers/kubernetes/getting-started-kubernetes-windows
-* Using OVN as demonstrated at Google Cloud Next '17: https://github.com/apprenda/kubernetes-ovn-heterogeneous-cluster
+## Discuss
+Join us on [Slack](https://kubernetes.slack.com/messages/sig-windows) or the [Kubernetes Community Forums](https://discuss.kubernetes.io/c/general-discussions/windows) to chat about Windows containers on Kubernetes.
## Contributing
-We're currently using a public [Trello board](https://trello.com/b/rjTqrwjl/windows-k8s-roadmap) in the weekly SIG-Windows meeting to track items with active progress for each release. That's a great place to start to get the most up-to-date status, then feel free to join us on the Slack channel anytime with questions.
+To get yourself familiar with contributing, please read the [Kubernetes Contributor Guide](../contributors/guide/README.md) and the [SIG-Windows Contributor guide](./CONTRIBUTING.md)
-As always, you can also find the active list of open issues and proposals [Open Code Issues and PRs for SIG/Windows](https://github.com/kubernetes/kubernetes/labels/sig%2Fwindows) on GitHub.
+We're currently using a [GitHub project](https://github.com/orgs/kubernetes/projects/8) in the weekly SIG-Windows meeting to track items with active progress for each release. That's a great place to start to get the most up-to-date status, then feel free to join us on the Slack channel anytime with questions.
-## API tracking
-We also have an [API tracking](https://github.com/kubernetes/community/blob/master/sig-windows/api-tracking.md) document that we're building out to track areas where the APIs may not be implemented or need to change for Windows.
+As always, you can also find the active list of open issues and proposals [Open Code Issues and PRs for SIG/Windows](https://github.com/kubernetes/kubernetes/labels/sig%2Fwindows) on GitHub.
## Meeting Recordings
diff --git a/sig-windows/api-tracking.md b/sig-windows/api-tracking.md
deleted file mode 100644
index 34052adc..00000000
--- a/sig-windows/api-tracking.md
+++ /dev/null
@@ -1,76 +0,0 @@
-# Windows & Kubernetes APIs
-
-This document will grow into an API by API list of work that needs to be done to clarify Windows & Linux differences. This will be used to help clarify what needs to be eventually implemented (need a tracking issue), or not implemented (need a doc note).
-
-
-## Volumes
-
-`V1.Pod.Volumes`
-
-Out of the various volume types, these should all be possible on Windows but tests are lacking:
-
-- EmptyDirVolumeSource
-- Secret
-- hostPath
-
-The main gaps in Windows Server 2016 & 1709 are that symlinks are pretty much broken. The only ones that work are SMB/CIFS mount points. Workarounds need to be investigated.
-
-`V1.Container.volumeMounts`
-Mounting volumes across some (but not all) containers will need changes to Windows. Not ready in Windows Server 2016/1709.
-
-### Links
-
-- [FlexVolume does not work on Windows node](https://github.com/kubernetes/kubernetes/issues/56875)
-- [feature proposal add SMB(cifs) volume plugin](https://github.com/kubernetes/kubernetes/issues/56005)
-- [add NFS volume support for Windows](https://github.com/kubernetes/kubernetes/issues/56188)
-
-## V1.Pod.Resources & V1.Container.ResourceRequirements
-
-`V1.Container.ResourceRequirements.limits.cpu`
-`V1.Container.ResourceRequirements.limits.memory`
-
-Windows schedules CPU based on CPU count & percentage of cores. We need this represented because it can help optimize app performance. CPU count is immutable once set but you can change % of core allocations.
-
-`V1.Container.ResourceRequirements.requests.cpu`
-`V1.Container.ResourceRequirements.requests.memory`
-
-Also of note, requests aren't supported. Will pod eviction policies in the kubelet ensure reserves are met by not overprovisioning the node?
-
-Windows can either expose a NUMA topology matching the host (best performance) or fake it to be 1 big NUMA node (suboptimal). We should think of a way to turn this on/off later - probably q2 2018
-
-### Links
-[Kubernetes Container Runtime Interface (CRI) doesn't support WindowsContainerConfig and WindowsContainerResources](https://github.com/kubernetes/kubernetes/issues/56734)
-
-
-
-## Networking features
-
-`V1.Pod.dnsPolicy` - I think only ClusterFirst is implemented
-
-`V1.Pod.hostNetwork` - Not feasible on Windows Server 2016 / 1709
-
-## IPC & Pid
-
-`V1.Pod.hostIPC`, `v1.pod.hostpid`
-
-How important are these? They're not implemented in Windows Server 2016 / 1709, and I'm not too sure if they'd be helpful or not.
-
-For cases where a pod/container need to talk to the host docker / containerd daemon we could map a named pipe as a volume which would offer the same functionality as the unix socket to the Linux daemons. It works in moby but isn't hooked up in the kubelet yet.
-
-## Security
-
-- `V1.Container.SecurityContext.Capabilities`
-- `V1.Container.SecurityContext.seLinuxOptions`
-
-These don't have Windows equivalents since the permissions model is substantially different
-
-`V1.Container.SecurityContext.readOnlyRootFilesystem`
-
-This is probably doable if needed but not possible in Windows Server 2016 / 1709.
-
-### User Mapping
-
-There are a few fields that refer to uid/gid. These probably need to be supplemented with a Windows SID (string) and username (string)
-
-`V1.podSecurityContext.runAsUser` provides a UID
-`V1.podSecurityContext.supplementalGroups` provides GID \ No newline at end of file
diff --git a/sigs.yaml b/sigs.yaml
index de242060..c9e994c1 100644
--- a/sigs.yaml
+++ b/sigs.yaml
@@ -25,6 +25,11 @@ sigs:
url: https://docs.google.com/document/d/1FQx0BPlkkl1Bn0c9ocVBxYIKojpmrS1CFP5h0DI68AE/edit
archive_url: https://goo.gl/0lbiM9
recordings_url: https://www.youtube.com/watch?v=Lj1ScbXpnpY&list=PL69nYSiGNLP21oW3hbLyjjj4XhrwKxH2R
+ - description: Kubebuilder and Controller Runtime Meeting
+ day: Wednesday
+ time: "10:00"
+ tz: "PT (Pacific Time)"
+ frequency: monthly - second Wednesday every month
contact:
slack: sig-api-machinery
mailing_list: https://groups.google.com/forum/#!forum/kubernetes-sig-api-machinery
@@ -80,7 +85,7 @@ sigs:
- https://raw.githubusercontent.com/kubernetes/kubernetes/master/staging/src/k8s.io/sample-apiserver/OWNERS
- https://raw.githubusercontent.com/kubernetes/sample-controller/master/OWNERS
- https://raw.githubusercontent.com/kubernetes/kubernetes/master/staging/src/k8s.io/sample-controller/OWNERS
- - https://raw.githubusercontent.com/kubernetes-incubator/apiserver-builder/master/OWNERS
+ - https://raw.githubusercontent.com/kubernetes-incubator/apiserver-builder-alpha/master/OWNERS
- https://raw.githubusercontent.com/kubernetes-sigs/controller-runtime/master/OWNERS
- https://raw.githubusercontent.com/kubernetes-sigs/controller-tools/master/OWNERS
- https://raw.githubusercontent.com/kubernetes-sigs/kubebuilder/master/OWNERS
@@ -216,15 +221,29 @@ sigs:
- name: Matt Farina
github: mattfarina
company: Samsung SDS
+ - name: Derek Carr
+ github: derekwaynecarr
+ company: Red Hat
+ - name: Davanum Srinivas
+ github: dims
+ company: Huawei
meetings:
- description: Regular SIG Meeting
day: Thursday
time: "19:00"
tz: "UTC"
- frequency: weekly
+ frequency: biweekly
url: https://docs.google.com/document/d/1FQx0BPlkkl1Bn0c9ocVBxYIKojpmrS1CFP5h0DI68AE/edit
archive_url: https://docs.google.com/document/d/1BlmHq5uPyBUDlppYqAAzslVbAO8hilgjqZUTaNXUhKM/edit
recordings_url: https://www.youtube.com/playlist?list=PL69nYSiGNLP2m6198LaLN6YahX7EEac5g
+ - description: conformance Office Hours
+ day: Tuesday
+ time: "12:00"
+ tz: "PT (Pacific Time)"
+ frequency: weekly
+ url: https://docs.google.com/document/d/1FQx0BPlkkl1Bn0c9ocVBxYIKojpmrS1CFP5h0DI68AE/edit
+ archive_url: https://docs.google.com/document/d/1W31nXh9RYAb_VaYkwuPLd1hFxuRX3iU0DmaQ4lkCsX8/edit#
+ recordings_url: https://www.youtube.com/playlist?list=PL69nYSiGNLP2m6198LaLN6YahX7EEac5g
contact:
slack: sig-architecture
mailing_list: https://groups.google.com/forum/#!forum/kubernetes-sig-architecture
@@ -253,14 +272,13 @@ sigs:
- https://raw.githubusercontent.com/kubernetes/kubernetes/master/staging/src/k8s.io/api/OWNERS
- name: conformance-definition
description: "[Described below](#conformance-definition)"
+ contact:
+ slack: k8s-conformance
+ teams:
+ - name: cncf-conformance-wg
owners:
- https://raw.githubusercontent.com/kubernetes/kubernetes/master/test/conformance/testdata/OWNERS
- https://raw.githubusercontent.com/kubernetes/kubernetes/master/test/conformance/OWNERS
- - name: kep-adoption-and-reviews
- description: "[Described below](#kep-adoption-and-reviews)"
- owners:
- - https://raw.githubusercontent.com/kubernetes/community/master/keps/OWNERS
- - https://raw.githubusercontent.com/kubernetes/enhancements/master/keps/OWNERS
- name: code-organization
description: "[Described below](#code-organization)"
owners:
@@ -272,12 +290,6 @@ sigs:
- name: klog
owners:
- https://raw.githubusercontent.com/kubernetes/klog/master/OWNERS
- - name: steering
- description: Placeholder until sigs.yaml supports committees as first-class groups. These repos are owned by the kubernetes steering committee, which is a wholly separate entity from SIG Architecture
- owners:
- - https://raw.githubusercontent.com/kubernetes/steering/master/OWNERS
- - https://raw.githubusercontent.com/kubernetes-incubator/spartakus/master/OWNERS
- - https://raw.githubusercontent.com/kubernetes/kubernetes-template-project/master/OWNERS
- name: Auth
dir: sig-auth
@@ -437,6 +449,11 @@ sigs:
- https://raw.githubusercontent.com/kubernetes/kubernetes/master/pkg/kubelet/token/OWNERS
- https://raw.githubusercontent.com/kubernetes/kubernetes/master/pkg/serviceaccount/OWNERS
- https://raw.githubusercontent.com/kubernetes/kubernetes/master/plugin/pkg/admission/serviceaccount/OWNERS
+ - name: multi-tenancy
+ description: >
+ Proposals and prototypes for introducing tenant model to enable multi-tenant cluster
+ owners:
+ - https://raw.githubusercontent.com/kubernetes-sigs/multi-tenancy/master/OWNERS
- name: Autoscaling
dir: sig-autoscaling
mission_statement: >
@@ -590,6 +607,10 @@ sigs:
- name: cluster-api-provider-azure
owners:
- https://raw.githubusercontent.com/kubernetes-sigs/cluster-api-provider-azure/master/OWNERS
+ - name: csi-drivers-azure
+ owners:
+ - https://raw.githubusercontent.com/kubernetes-sigs/azuredisk-csi-driver/master/OWNERS
+ - https://raw.githubusercontent.com/kubernetes-sigs/azurefile-csi-driver/master/OWNERS
- name: Big Data
dir: sig-big-data
mission_statement: >
@@ -786,7 +807,7 @@ sigs:
owners:
- https://raw.githubusercontent.com/kubernetes/community/master/sig-cloud-provider/cloud-provider-extraction-migration/OWNERS
meetings:
- - description: Weekly Sync removing the in-tree cloud providers led by @cheftako and @andrewsykim
+ - description: Weekly Sync removing the in-tree cloud providers led by @cheftako and @mcrute
day: Thursday
time: "13:30"
tz: "PT (Pacific Time)"
@@ -868,19 +889,25 @@ sigs:
archive_url: https://docs.google.com/document/d/12QkyL0FkNbWPcLFxxRGSPt_tNPBHbmni3YLY-lHny7E/edit
- description: Kubespray Office Hours
day: Wednesday
- time: "07:00"
+ time: "08:00"
tz: "PT (Pacific Time)"
frequency: biweekly
url: https://docs.google.com/document/d/1FQx0BPlkkl1Bn0c9ocVBxYIKojpmrS1CFP5h0DI68AE/edit
archive_url: https://docs.google.com/document/d/1oDI1rTwla393k6nEMkqz0RU9rUl3J1hov0kQfNcl-4o/edit
+ - description: Cluster Addons meeting
+ day: Friday
+ time: "10:00"
+ tz: "PT (Pacific Time)"
+ frequency: biweekly
+ url: https://docs.google.com/document/d/1FQx0BPlkkl1Bn0c9ocVBxYIKojpmrS1CFP5h0DI68AE/edit
+ archive_url: https://docs.google.com/document/d/10_tl_SXcFGb-2109QpcFVrdrfnVEuQ05MBrXtasB0vk/edit
- description: minikube Office Hours
day: Monday
time: "10:00"
tz: "PT (Pacific Time)"
frequency: biweekly
url: https://docs.google.com/document/d/1FQx0BPlkkl1Bn0c9ocVBxYIKojpmrS1CFP5h0DI68AE/edit
- archive_url: https://docs.google.com/document/d/1jhfmL1gsgN39uCEgz5pW9tnIotFgHhxq2yfMK3KYE4w/edit#heading=h.pry1y79ou79l
- recordings_url: https://www.youtube.com/playlist?list=PL69nYSiGNLP29D0nYgAGWt1ZFqS9Z7lw4
+ archive_url: https://docs.google.com/document/d/1jhfmL1gsgN39uCEgz5pW9tnIotFgHhxq2yfMK3KYE4w/edit
contact:
slack: sig-cluster-lifecycle
mailing_list: https://groups.google.com/forum/#!forum/kubernetes-sig-cluster-lifecycle
@@ -908,6 +935,9 @@ sigs:
- name: cluster-api-provider-openstack
owners:
- https://raw.githubusercontent.com/kubernetes-sigs/cluster-api-provider-openstack/master/OWNERS
+ - name: etcdadm
+ owners:
+ - https://raw.githubusercontent.com/kubernetes-sigs/etcdadm/master/OWNERS
- name: kops
owners:
- https://raw.githubusercontent.com/kubernetes/kops/master/OWNERS
@@ -937,6 +967,9 @@ sigs:
- name: minikube
owners:
- https://raw.githubusercontent.com/kubernetes/minikube/master/OWNERS
+ - name: cluster-addons
+ owners:
+ - https://raw.githubusercontent.com/kubernetes-sigs/addon-operators/master/OWNERS
- name: Contributor Experience
dir: sig-contributor-experience
mission_statement: >
@@ -953,13 +986,14 @@ sigs:
chairs:
- name: Elsie Phillips
github: Phillels
- company: CoreOS
+ company: Red Hat
- name: Paris Pittman
github: parispittman
company: Google
tech_leads:
- name: Christoph Blecker
github: cblecker
+ company: Red Hat
- name: Nikhita Raghunath
github: nikhita
emeritus_leads:
@@ -971,10 +1005,16 @@ sigs:
day: Wednesday
time: "9:30"
tz: "PT (Pacific Time)"
- frequency: weekly
+ frequency: weekly - except fourth Wednesday every month
url: https://docs.google.com/document/d/1FQx0BPlkkl1Bn0c9ocVBxYIKojpmrS1CFP5h0DI68AE/edit
archive_url: https://docs.google.com/document/d/1qf-02B7EOrItQgwXFxgqZ5qjW0mtfu5qkYIF1Hl4ZLI/
recordings_url: https://www.youtube.com/watch?v=EMGUdOKwSns&list=PL69nYSiGNLP2x_48wbOPO0vXQgNTm_xxr
+ - description: APAC SIG Meeting
+ day: Wednesday
+ time: "20:00"
+ tz: "PT (Pacific Time)"
+ frequency: monthly - fourth Wednesday every month
+ url: https://docs.google.com/document/d/1FQx0BPlkkl1Bn0c9ocVBxYIKojpmrS1CFP5h0DI68AE/edit
contact:
slack: sig-contribex
mailing_list: https://groups.google.com/forum/#!forum/kubernetes-sig-contribex
@@ -998,7 +1038,6 @@ sigs:
- name: community-management
owners:
- https://raw.githubusercontent.com/kubernetes/community/master/communication/OWNERS
- https://raw.githubusercontent.com/kubernetes/community/master/events/OWNERS
- name: github-management
owners:
- https://raw.githubusercontent.com/kubernetes/community/master/github-management/OWNERS
@@ -1450,6 +1489,12 @@ sigs:
- name: Chris Hoge
github: hogepodge
company: OpenStack Foundation
+ - name: Aditi Sharma
+ github: adisky
+ company: NEC Technologies India
+ - name: Christoph Glaubitz
+ github: chrigl
+ company: iNNOVO Cloud
emeritus_leads:
- name: David Lyle
github: dklyle
@@ -1466,11 +1511,11 @@ sigs:
meetings:
- description: Regular SIG Meeting
day: Wednesday
- time: "16:00"
+ time: "08:00"
tz: "PT (Pacific Time)"
- frequency: biweekly
- url: https://docs.google.com/document/d/15UwgLbEyZyXXxVtsThcSuPiJru4CuqU9p3ttZSfTaY4/edit
- archive_url: https://docs.google.com/document/d/1iAQ3LSF_Ky6uZdFtEZPD_8i6HXeFxIeW4XtGcUJtPyU/edit?usp=sharing_eixpa_nl&ts=588b986f
+ frequency: "biweekly starting Wednesday March 20, 2019"
+ url: https://docs.google.com/document/d/1bW3j4hFN4D8rv2LFv-DybB3gcE5ISAaOO_OpvDCgrGg/edit
+ archive_url: https://docs.google.com/document/d/15UwgLbEyZyXXxVtsThcSuPiJru4CuqU9p3ttZSfTaY4/edit
recordings_url: https://www.youtube.com/watch?v=iCfUx7ilh0E&list=PL69nYSiGNLP20iTSChQ_i2QQmTBl3M7ax
contact:
slack: sig-openstack
@@ -1602,6 +1647,7 @@ sigs:
owners:
- https://raw.githubusercontent.com/kubernetes/release/master/OWNERS
- https://raw.githubusercontent.com/kubernetes/sig-release/master/release-engineering/OWNERS
+ - https://raw.githubusercontent.com/kubernetes-sigs/k8s-container-image-promoter/master/OWNERS
- name: release-team
description: >
The Kubernetes Release Team is responsible for the day-to-day work
@@ -1773,9 +1819,6 @@ sigs:
label: service-catalog
leadership:
chairs:
- - name: Carolyn Van Slyck
- github: carolynvs
- company: Microsoft
- name: Michael Kibbe
github: kibbles-n-bytes
company: Google
@@ -1798,6 +1841,9 @@ sigs:
- name: Doug Davis
github: duglin
company: IBM
+ - name: Carolyn Van Slyck
+ github: carolynvs
+ company: Microsoft
meetings:
- description: Regular SIG Meeting
day: Monday
@@ -1933,7 +1979,7 @@ sigs:
- name: Aaron Crickenberger
github: spiffxp
company: Google
- - name: Erick Feja
+ - name: Erick Fejta
github: fejta
company: Google
- name: Steve Kuznetsov
@@ -1984,12 +2030,14 @@ sigs:
description: >
Kubernetes IN Docker. Run Kubernetes test clusters on your local
machine using Docker containers as nodes.
+ contact:
+ slack: kind
meetings:
- - description: sigs.k8s.io/kind weekly meeting
+ - description: sigs.k8s.io/kind bi-weekly meeting
day: Monday
time: "11:00"
tz: "PT (Pacific Time)"
- frequency: weekly
+ frequency: bi-weekly
url: https://docs.google.com/document/d/1FQx0BPlkkl1Bn0c9ocVBxYIKojpmrS1CFP5h0DI68AE/edit
archive_url: https://docs.google.com/document/d/1b9Ppm7ZT_tMWRs5Ph1zGJJKb5nF9c3ZHzMwg1olJIrc/edit
recordings_url: https://bit.ly/k8s-sig-testing-videos
@@ -1999,6 +2047,8 @@ sigs:
description: >
Prow is a CI/CD system based on Kubernetes. See prow.k8s.io to see it
in action for the Kubernetes project
+ contact:
+ slack: prow
owners:
- https://raw.githubusercontent.com/kubernetes/test-infra/master/prow/OWNERS
- name: testing-commons
@@ -2006,12 +2056,14 @@ sigs:
The Testing Commons is a subproject within the Kubernetes sig-testing community
interested code structure, layout, and execution of common test code used
throughout the kubernetes project
+ contact:
+ slack: testing-commons
owners:
- https://raw.githubusercontent.com/kubernetes-sigs/testing_frameworks/master/OWNERS
- https://raw.githubusercontent.com/kubernetes/kubernetes/master/test/OWNERS
meetings:
- description: Testing Commons
- day: Wednesday
+ day: Friday
time: "07:30"
tz: "PT (Pacific Time)"
frequency: bi-weekly
@@ -2130,7 +2182,7 @@ sigs:
- name: Windows
dir: sig-windows
mission_statement: >
- Focuses on supporting Windows Server Containers for Kubernetes.
+ Focuses on supporting Windows Node and scheduling Windows Server containers on Kubernetes.
charter_link:
label: windows
leadership:
@@ -2355,6 +2407,9 @@ workinggroups:
dir: wg-iot-edge
mission_statement: >
A Working Group dedicated to discussing, designing and documenting using Kubernetes for developing and deploying IoT and Edge specific applications
+ stakeholder_sigs:
+ - Multicluster
+ - Networking
leadership:
chairs:
- name: Cindy Xing
@@ -2403,6 +2458,9 @@ workinggroups:
- name: Craig Ingram
github: cji
company: Salesforce
+ - name: Jay Beale
+ github: jaybeale
+ company: InGuardians
meetings:
- description: Regular WG Meeting
day: Monday
@@ -2482,3 +2540,144 @@ workinggroups:
contact:
slack: wg-k8s-infra
mailing_list: https://groups.google.com/forum/#!forum/kubernetes-wg-k8s-infra
+committees:
+ - name: Steering
+ dir: committee-steering
+ mission_statement: >
+ The Kubernetes Steering Committee is the governing body of the Kubernetes
+ project, providing decision-making and oversight pertaining to the
+ Kubernetes project bylaws, sub-organizations, and financial planning.
+ The Steering Committee also defines the project values and structure.
+ label: steering
+ charter_link: https://git.k8s.io/steering/charter.md
+ leadership:
+ chairs:
+ - name: Brian Grant
+ github: bgrant0607
+ company: Google
+ - name: Brendan Burns
+ github: brendanburns
+ company: Microsoft
+ - name: Derek Carr
+ github: derekwaynecarr
+ company: Red Hat
+ - name: Davanum Srinivas
+ github: dims
+ company: Huawei
+ - name: Joe Beda
+ github: jbeda
+ company: VMware
+ - name: Michelle Noorali
+ github: michelleN
+ company: Microsoft
+ - name: Brandon Philips
+ github: philips
+ company: Red Hat
+ - name: Phillip Wittrock
+ github: pwittrock
+ company: Google
+ - name: Sarah Novotny
+ github: sarahnovotny
+ company: Google
+ - name: Clayton Coleman
+ github: smarterclayton
+ company: Red Hat
+ - name: Aaron Crickenberger
+ github: spiffxp
+ company: Google
+ - name: Timothy St. Clair
+ github: timothysc
+ company: VMware
+ meetings:
+ - description: Public Steering Committee Meeting
+ day: Wednesday
+ time: "13:00"
+ tz: "PT (Pacific Time)"
+ frequency: biweekly
+ url: https://bit.ly/k8s-steering-wd
+ recordings_url: https://www.youtube.com/watch?v=YAzgJRQxsdc&list=PL69nYSiGNLP1yP1B_nd9-drjoxp0Q14qM
+ contact:
+ mailing_list: https://groups.google.com/a/kubernetes.io/forum/#!forum/steering
+ private_mailing_list: steering-private@kubernetes.io
+ teams:
+ - name: steering-committee
+ description: General Discussion
+ subprojects:
+ - name: steering
+ description: Steering Committee policy and documentation
+ owners:
+ - https://raw.githubusercontent.com/kubernetes/steering/master/OWNERS
+ - name: kubernetes-template-project
+ description: Template for starting new projects in the GitHub organizations owned by Kubernetes.
+ owners:
+ - https://raw.githubusercontent.com/kubernetes/kubernetes-template-project/master/OWNERS
+ - name: spartakus
+ description: Collection of usage information about Kubernetes clusters.
+ owners:
+ - https://raw.githubusercontent.com/kubernetes-incubator/spartakus/master/OWNERS
+
+ - name: Code of Conduct
+ dir: committee-code-of-conduct
+ mission_statement: >
+ The Kubernetes Code of Conduct Committee (CoCC) is the body that is
+ responsible for enforcing and maintaining the Kubernetes Code of Conduct.
+ label: conduct
+ charter_link:
+ leadership:
+ chairs:
+ - name: Jaice Singer Dumars
+ github: jdumars
+ company: Google
+ - name: Paris Pittman
+ github: parispittman
+ company: Google
+ - name: Carolyn Van Slyck
+ github: carolynvs
+ company: Microsoft
+ - name: Eric Paris
+ github: eparis
+ company: Red Hat
+ - name: Jennifer Rondeau
+ github: bradamant3
+ company: VMware
+ contact:
+ private_mailing_list: conduct@kubernetes.io
+ teams:
+ - name: code-of-conduct-committee
+ description: General Discussion
+ - name: Product Security
+ dir: committee-product-security
+ mission_statement: >
+ The Kubernetes Product Security Committee is the body that is responsible
+ for receiving and responding to reports of security issues in Kubernetes
+ products.
+ label: product-security
+ leadership:
+ chairs:
+ - name: Brandon Philips
+ github: philips
+ company: Red Hat
+ - name: Jess Frazelle
+ github: jessfraz
+ - name: CJ Cullen
+ github: cjcullen
+ company: Google
+ - name: Tim Allclair
+ github: tallclair
+ company: Google
+ - name: Jordan Liggitt
+ github: liggitt
+ company: Google
+ - name: Joel Smith
+ github: joelsmith
+ company: Red Hat
+ contact:
+ private_mailing_list: security@kubernetes.io
+ teams:
+ - name: product-security-committee
+ description: General Discussion
+ subprojects:
+ - name: security
+ description: Policies and documentation for the Product Security Committee
+ owners:
+ - https://raw.githubusercontent.com/kubernetes/security/master/OWNERS
diff --git a/vendor/github.com/client9/misspell/.gitignore b/vendor/github.com/client9/misspell/.gitignore
new file mode 100644
index 00000000..b1b707e3
--- /dev/null
+++ b/vendor/github.com/client9/misspell/.gitignore
@@ -0,0 +1,34 @@
+dist/
+bin/
+vendor/
+
+# editor turds
+*~
+*.gz
+*.bz2
+*.csv
+
+# Compiled Object files, Static and Dynamic libs (Shared Objects)
+*.o
+*.a
+*.so
+
+# Folders
+_obj
+_test
+
+# Architecture specific extensions/prefixes
+*.[568vq]
+[568vq].out
+
+*.cgo1.go
+*.cgo2.c
+_cgo_defun.c
+_cgo_gotypes.go
+_cgo_export.*
+
+_testmain.go
+
+*.exe
+*.test
+*.prof
diff --git a/vendor/github.com/client9/misspell/.travis.yml b/vendor/github.com/client9/misspell/.travis.yml
new file mode 100644
index 00000000..e63e6c2b
--- /dev/null
+++ b/vendor/github.com/client9/misspell/.travis.yml
@@ -0,0 +1,20 @@
+sudo: required
+dist: trusty
+group: edge
+language: go
+go:
+ - "1.10"
+git:
+ depth: 1
+
+script:
+ - ./scripts/travis.sh
+
+# calls goreleaser when a new tag is pushed
+deploy:
+- provider: script
+ skip_cleanup: true
+ script: curl -sL http://git.io/goreleaser | bash
+ on:
+ tags: true
+ condition: $TRAVIS_OS_NAME = linux
diff --git a/vendor/github.com/client9/misspell/Dockerfile b/vendor/github.com/client9/misspell/Dockerfile
new file mode 100644
index 00000000..b8ea37b4
--- /dev/null
+++ b/vendor/github.com/client9/misspell/Dockerfile
@@ -0,0 +1,37 @@
+FROM golang:1.10.0-alpine
+
+# cache buster
+RUN echo 4
+
+# git is needed for "go get" below
+RUN apk add --no-cache git make
+
+# these are my standard testing / linting tools
+RUN /bin/true \
+ && go get -u github.com/golang/dep/cmd/dep \
+ && go get -u github.com/alecthomas/gometalinter \
+ && gometalinter --install \
+ && rm -rf /go/src /go/pkg
+#
+# * SCOWL word list
+#
+# Downloads
+# http://wordlist.aspell.net/dicts/
+# --> http://app.aspell.net/create
+#
+
+# use en_US large size
+# use regular size for others
+ENV SOURCE_US_BIG http://app.aspell.net/create?max_size=70&spelling=US&max_variant=2&diacritic=both&special=hacker&special=roman-numerals&download=wordlist&encoding=utf-8&format=inline
+
+# should be able tell difference between English variations using this
+ENV SOURCE_US http://app.aspell.net/create?max_size=60&spelling=US&max_variant=1&diacritic=both&download=wordlist&encoding=utf-8&format=inline
+ENV SOURCE_GB_ISE http://app.aspell.net/create?max_size=60&spelling=GBs&max_variant=2&diacritic=both&download=wordlist&encoding=utf-8&format=inline
+ENV SOURCE_GB_IZE http://app.aspell.net/create?max_size=60&spelling=GBz&max_variant=2&diacritic=both&download=wordlist&encoding=utf-8&format=inline
+ENV SOURCE_CA http://app.aspell.net/create?max_size=60&spelling=CA&max_variant=2&diacritic=both&download=wordlist&encoding=utf-8&format=inline
+
+RUN /bin/true \
+ && mkdir /scowl-wl \
+ && wget -O /scowl-wl/words-US-60.txt ${SOURCE_US} \
+ && wget -O /scowl-wl/words-GB-ise-60.txt ${SOURCE_GB_ISE}
+
diff --git a/vendor/github.com/client9/misspell/Gopkg.lock b/vendor/github.com/client9/misspell/Gopkg.lock
new file mode 100644
index 00000000..90ed4511
--- /dev/null
+++ b/vendor/github.com/client9/misspell/Gopkg.lock
@@ -0,0 +1,24 @@
+# This file is autogenerated, do not edit; changes may be undone by the next 'dep ensure'.
+
+
+[[projects]]
+ name = "github.com/gobwas/glob"
+ packages = [
+ ".",
+ "compiler",
+ "match",
+ "syntax",
+ "syntax/ast",
+ "syntax/lexer",
+ "util/runes",
+ "util/strings"
+ ]
+ revision = "5ccd90ef52e1e632236f7326478d4faa74f99438"
+ version = "v0.2.3"
+
+[solve-meta]
+ analyzer-name = "dep"
+ analyzer-version = 1
+ inputs-digest = "087ea4c49358ea8258ad9edfe514cd5ce9975c889c258e5ec7b5d2b720aae113"
+ solver-name = "gps-cdcl"
+ solver-version = 1
diff --git a/vendor/github.com/client9/misspell/Gopkg.toml b/vendor/github.com/client9/misspell/Gopkg.toml
new file mode 100644
index 00000000..e9b8e6a4
--- /dev/null
+++ b/vendor/github.com/client9/misspell/Gopkg.toml
@@ -0,0 +1,34 @@
+# Gopkg.toml example
+#
+# Refer to https://golang.github.io/dep/docs/Gopkg.toml.html
+# for detailed Gopkg.toml documentation.
+#
+# required = ["github.com/user/thing/cmd/thing"]
+# ignored = ["github.com/user/project/pkgX", "bitbucket.org/user/project/pkgA/pkgY"]
+#
+# [[constraint]]
+# name = "github.com/user/project"
+# version = "1.0.0"
+#
+# [[constraint]]
+# name = "github.com/user/project2"
+# branch = "dev"
+# source = "github.com/myfork/project2"
+#
+# [[override]]
+# name = "github.com/x/y"
+# version = "2.4.0"
+#
+# [prune]
+# non-go = false
+# go-tests = true
+# unused-packages = true
+
+
+[[constraint]]
+ name = "github.com/gobwas/glob"
+ version = "0.2.3"
+
+[prune]
+ go-tests = true
+ unused-packages = true
diff --git a/vendor/github.com/client9/misspell/Makefile b/vendor/github.com/client9/misspell/Makefile
new file mode 100644
index 00000000..862ab77b
--- /dev/null
+++ b/vendor/github.com/client9/misspell/Makefile
@@ -0,0 +1,74 @@
+CONTAINER=nickg/misspell
+
+install: ## install misspell into GOPATH/bin
+ go install ./cmd/misspell
+
+build: hooks ## build and lint misspell
+ ./scripts/build.sh
+
+test: ## run all tests
+ go test .
+
+# real publishing is done only by travis
+publish: ## test goreleaser
+ ./scripts/goreleaser-dryrun.sh
+
+# the grep in line 2 is to remove misspellings in the spelling dictionary
+# that trigger false positives!!
+falsepositives: /scowl-wl
+ cat /scowl-wl/words-US-60.txt | \
+ grep -i -v -E "payed|Tyre|Euclidian|nonoccurence|dependancy|reenforced|accidently|surprize|dependance|idealogy|binominal|causalities|conquerer|withing|casette|analyse|analogue|dialogue|paralyse|catalogue|archaeolog|clarinettist|catalyses|cancell|chisell|ageing|cataloguing" | \
+ misspell -debug -error
+ cat /scowl-wl/words-GB-ise-60.txt | \
+ grep -v -E "payed|nonoccurence|withing" | \
+ misspell -locale=UK -debug -error
+# cat /scowl-wl/words-GB-ize-60.txt | \
+# grep -v -E "withing" | \
+# misspell -debug -error
+# cat /scowl-wl/words-CA-60.txt | \
+# grep -v -E "withing" | \
+# misspell -debug -error
+
+bench: ## run benchmarks
+ go test -bench '.*'
+
+clean: ## clean up time
+ rm -rf dist/ bin/
+ go clean ./...
+ git gc --aggressive
+
+ci: ## run test like travis-ci does, requires docker
+ docker run --rm \
+ -v $(PWD):/go/src/github.com/client9/misspell \
+ -w /go/src/github.com/client9/misspell \
+ ${CONTAINER} \
+ make build falsepositives
+
+docker-build: ## build a docker test image
+ docker build -t ${CONTAINER} .
+
+docker-pull: ## pull latest test image
+ docker pull ${CONTAINER}
+
+docker-console: ## log into the test image
+ docker run --rm -it \
+ -v $(PWD):/go/src/github.com/client9/misspell \
+ -w /go/src/github.com/client9/misspell \
+ ${CONTAINER} sh
+
+.git/hooks/pre-commit: scripts/pre-commit.sh
+ cp -f scripts/pre-commit.sh .git/hooks/pre-commit
+.git/hooks/commit-msg: scripts/commit-msg.sh
+ cp -f scripts/commit-msg.sh .git/hooks/commit-msg
+hooks: .git/hooks/pre-commit .git/hooks/commit-msg ## install git precommit hooks
+
+.PHONY: help ci console docker-build bench
+
+# https://www.client9.com/self-documenting-makefiles/
+help:
+ @awk -F ':|##' '/^[^\t].+?:.*?##/ {\
+ printf "\033[36m%-30s\033[0m %s\n", $$1, $$NF \
+ }' $(MAKEFILE_LIST)
+.DEFAULT_GOAL=help
+.PHONY=help
+
diff --git a/vendor/github.com/client9/misspell/README.md b/vendor/github.com/client9/misspell/README.md
new file mode 100644
index 00000000..5b68af04
--- /dev/null
+++ b/vendor/github.com/client9/misspell/README.md
@@ -0,0 +1,424 @@
+[![Build Status](https://travis-ci.org/client9/misspell.svg?branch=master)](https://travis-ci.org/client9/misspell) [![Go Report Card](https://goreportcard.com/badge/github.com/client9/misspell)](https://goreportcard.com/report/github.com/client9/misspell) [![GoDoc](https://godoc.org/github.com/client9/misspell?status.svg)](https://godoc.org/github.com/client9/misspell) [![Coverage](http://gocover.io/_badge/github.com/client9/misspell)](http://gocover.io/github.com/client9/misspell) [![license](https://img.shields.io/badge/license-MIT-blue.svg?style=flat)](https://raw.githubusercontent.com/client9/misspell/master/LICENSE)
+
+Correct commonly misspelled English words... quickly.
+
+### Install
+
+
+If you just want a binary and to start using `misspell`:
+
+```
+curl -L -o ./install-misspell.sh https://git.io/misspell
+sh ./install-misspell.sh
+```
+
+
+Both will install as `./bin/misspell`. You can adjust the download location using the `-b` flag. File a ticket if you want another platform supported.
+
+
+If you use [Go](https://golang.org/), the best way to run `misspell` is by using [gometalinter](#gometalinter). Otherwise, install `misspell` the old-fashioned way:
+
+```
+go get -u github.com/client9/misspell/cmd/misspell
+```
+
+and misspell will be in your `GOPATH`
+
+
+Also if you like to live dangerously, one could do
+
+```bash
+curl -L https://git.io/misspell | bash
+```
+
+### Usage
+
+
+```bash
+$ misspell all.html your.txt important.md files.go
+your.txt:42:10 found "langauge" a misspelling of "language"
+
+# ^ file, line, column
+```
+
+```
+$ misspell -help
+Usage of misspell:
+ -debug
+ Debug matching, very slow
+ -error
+ Exit with 2 if misspelling found
+ -f string
+ 'csv', 'sqlite3' or custom Golang template for output
+ -i string
+ ignore the following corrections, comma separated
+ -j int
+ Number of workers, 0 = number of CPUs
+ -legal
+ Show legal information and exit
+ -locale string
+ Correct spellings using locale perferances for US or UK. Default is to use a neutral variety of English. Setting locale to US will correct the British spelling of 'colour' to 'color'
+ -o string
+ output file or [stderr|stdout|] (default "stdout")
+ -q Do not emit misspelling output
+ -source string
+ Source mode: auto=guess, go=golang source, text=plain or markdown-like text (default "auto")
+ -w Overwrite file with corrections (default is just to display)
+```
+
+## FAQ
+
+* [Automatic Corrections](#correct)
+* [Converting UK spellings to US](#locale)
+* [Using pipes and stdin](#stdin)
+* [Golang special support](#golang)
+* [gometalinter support](#gometalinter)
+* [CSV Output](#csv)
+* [Using SQLite3](#sqlite)
+* [Changing output format](#output)
+* [Checking a folder recursively](#recursive)
+* [Performance](#performance)
+* [Known Issues](#issues)
+* [Debugging](#debug)
+* [False Negatives and missing words](#missing)
+* [Origin of Word Lists](#words)
+* [Software License](#license)
+* [Problem statement](#problem)
+* [Other spelling correctors](#others)
+* [Other ideas](#otherideas)
+
+<a name="correct"></a>
+### How can I make the corrections automatically?
+
+Just add the `-w` flag!
+
+```
+$ misspell -w all.html your.txt important.md files.go
+your.txt:9:21:corrected "langauge" to "language"
+
+# ^ File is rewritten only if a misspelling is found
+```
+
+<a name="locale"></a>
+### How do I convert British spellings to American (or vice-versa)?
+
+Add the `-locale US` flag!
+
+```bash
+$ misspell -locale US important.txt
+important.txt:10:20 found "colour" a misspelling of "color"
+```
+
+Add the `-locale UK` flag!
+
+```bash
+$ echo "My favorite color is blue" | misspell -locale UK
+stdin:1:3:found "favorite color" a misspelling of "favourite colour"
+```
+
+Help is appreciated as I'm neither British nor an
+expert in the English language.
+
+<a name="recursive"></a>
+### How do you check an entire folder recursively?
+
+Just list a directory you'd like to check
+
+```bash
+misspell .
+misspell aDirectory anotherDirectory aFile
+```
+
+You can also run misspell recursively using the following shell tricks:
+
+```bash
+misspell directory/**/*
+```
+
+or
+
+```bash
+find . -type f | xargs misspell
+```
+
+You can select a type of file as well. The following examples selects all `.txt` files that are *not* in the `vendor` directory:
+
+```bash
+find . -type f -name '*.txt' | grep -v vendor/ | xargs misspell -error
+```
+
+<a name="stdin"></a>
+### Can I use pipes or `stdin` for input?
+
+Yes!
+
+Print messages to `stderr` only:
+
+```bash
+$ echo "zeebra" | misspell
+stdin:1:0:found "zeebra" a misspelling of "zebra"
+```
+
+Print messages to `stderr`, and corrected text to `stdout`:
+
+```bash
+$ echo "zeebra" | misspell -w
+stdin:1:0:corrected "zeebra" to "zebra"
+zebra
+```
+
+Only print the corrected text to `stdout`:
+
+```bash
+$ echo "zeebra" | misspell -w -q
+zebra
+```
+
+<a name="golang"></a>
+### Are there special rules for golang source files?
+
+Yes! If the file ends in `.go`, then misspell will only check spelling in
+comments.
+
+If you want to force a file to be checked as a golang source, use `-source=go`
+on the command line. Conversely, you can check a golang source as if it were
+pure text by using `-source=text`. You might want to do this since many
+variable names have misspellings in them!
+
+### Can I check only-comments in other other programming languages?
+
+I'm told the using `-source=go` works well for ruby, javascript, java, c and
+c++.
+
+It doesn't work well for python and bash.
+
+<a name="gometalinter"></a>
+### Does this work with gometalinter?
+
+[gometalinter](https://github.com/alecthomas/gometalinter) runs
+multiple golang linters. Starting on [2016-06-12](https://github.com/alecthomas/gometalinter/pull/134)
+gometalinter supports `misspell` natively but it is disabled by default.
+
+```bash
+# update your copy of gometalinter
+go get -u github.com/alecthomas/gometalinter
+
+# install updates and misspell
+gometalinter --install --update
+```
+
+To use, just enable `misspell`
+
+```
+gometalinter --enable misspell ./...
+```
+
+Note that gometalinter only checks golang files, and uses the default options
+of `misspell`
+
+You may wish to run this on your plaintext (.txt) and/or markdown files too.
+
+
+<a name="csv"></a>
+### How Can I Get CSV Output?
+
+Using `-f csv`, the output is standard comma-seprated values with headers in the first row.
+
+```
+misspell -f csv *
+file,line,column,typo,corrected
+"README.md",9,22,langauge,language
+"README.md",47,25,langauge,language
+```
+
+<a name="sqlite"></a>
+### How can I export to SQLite3?
+
+Using `-f sqlite`, the output is a [sqlite3](https://www.sqlite.org/index.html) dump-file.
+
+```bash
+$ misspell -f sqlite * > /tmp/misspell.sql
+$ cat /tmp/misspell.sql
+
+PRAGMA foreign_keys=OFF;
+BEGIN TRANSACTION;
+CREATE TABLE misspell(
+ "file" TEXT,
+ "line" INTEGER,i
+ "column" INTEGER,i
+ "typo" TEXT,
+ "corrected" TEXT
+);
+INSERT INTO misspell VALUES("install.txt",202,31,"immediatly","immediately");
+# etc...
+COMMIT;
+```
+
+```bash
+$ sqlite3 -init /tmp/misspell.sql :memory: 'select count(*) from misspell'
+1
+```
+
+With some tricks you can directly pipe output to sqlite3 by using `-init /dev/stdin`:
+
+```
+misspell -f sqlite * | sqlite3 -init /dev/stdin -column -cmd '.width 60 15' ':memory' \
+ 'select substr(file,35),typo,count(*) as count from misspell group by file, typo order by count desc;'
+```
+
+<a name="ignore"></a>
+### How can I ignore rules?
+
+Using the `-i "comma,separated,rules"` flag you can specify corrections to ignore.
+
+For example, if you were to run `misspell -w -error -source=text` against document that contains the string `Guy Finkelshteyn Braswell`, misspell would change the text to `Guy Finkelstheyn Bras well`. You can then
+determine the rules to ignore by reverting the change and running the with the `-debug` flag. You can then see
+that the corrections were `htey -> they` and `aswell -> as well`. To ignore these two rules, you add `-i "htey,aswell"` to
+your command. With debug mode on, you can see it print the corrections, but it will no longer make them.
+
+<a name="output"></a>
+### How can I change the output format?
+
+Using the `-f template` flag you can pass in a
+[golang text template](https://golang.org/pkg/text/template/) to format the output.
+
+One can use `printf "%q" VALUE` to safely quote a value.
+
+The default template is compatible with [gometalinter](https://github.com/alecthomas/gometalinter)
+```
+{{ .Filename }}:{{ .Line }}:{{ .Column }}:corrected {{ printf "%q" .Original }} to "{{ printf "%q" .Corrected }}"
+```
+
+To just print probable misspellings:
+
+```
+-f '{{ .Original }}'
+```
+
+<a name="problem"></a>
+### What problem does this solve?
+
+This corrects commonly misspelled English words in computer source
+code, and other text-based formats (`.txt`, `.md`, etc).
+
+It is designed to run quickly so it can be
+used as a [pre-commit hook](https://git-scm.com/book/en/v2/Customizing-Git-Git-Hooks)
+with minimal burden on the developer.
+
+It does not work with binary formats (e.g. Word, etc).
+
+It is not a complete spell-checking program nor a grammar checker.
+
+<a name="others"></a>
+### What are other misspelling correctors and what's wrong with them?
+
+Some other misspelling correctors:
+
+* https://github.com/vlajos/misspell_fixer
+* https://github.com/lyda/misspell-check
+* https://github.com/lucasdemarchi/codespell
+
+They all work but had problems that prevented me from using them at scale:
+
+* slow, all of the above check one misspelling at a time (i.e. linear) using regexps
+* not MIT/Apache2 licensed (or equivalent)
+* have dependencies that don't work for me (python3, bash, linux sed, etc)
+* don't understand American vs. British English and sometimes makes unwelcome "corrections"
+
+That said, they might be perfect for you and many have more features
+than this project!
+
+<a name="performance"></a>
+### How fast is it?
+
+Misspell is easily 100x to 1000x faster than other spelling correctors. You
+should be able to check and correct 1000 files in under 250ms.
+
+This uses the mighty power of golang's
+[strings.Replacer](https://golang.org/pkg/strings/#Replacer) which is
+a implementation or variation of the
+[Aho–Corasick algorithm](https://en.wikipedia.org/wiki/Aho–Corasick_algorithm).
+This makes multiple substring matches *simultaneously*.
+
+In addition this uses multiple CPU cores to work on multiple files.
+
+<a name="issues"></a>
+### What problems does it have?
+
+Unlike the other projects, this doesn't know what a "word" is. There may be
+more false positives and false negatives due to this. On the other hand, it
+sometimes catches things others don't.
+
+Either way, please file bugs and we'll fix them!
+
+Since it operates in parallel to make corrections, it can be non-obvious to
+determine exactly what word was corrected.
+
+<a name="debug"></a>
+### It's making mistakes. How can I debug?
+
+Run using `-debug` flag on the file you want. It should then print what word
+it is trying to correct. Then [file a
+bug](https://github.com/client9/misspell/issues) describing the problem.
+Thanks!
+
+<a name="missing"></a>
+### Why is it making mistakes or missing items in golang files?
+
+The matching function is *case-sensitive*, so variable names that are multiple
+worlds either in all-upper or all-lower case sometimes can cause false
+positives. For instance a variable named `bodyreader` could trigger a false
+positive since `yrea` is in the middle that could be corrected to `year`.
+Other problems happen if the variable name uses a English contraction that
+should use an apostrophe. The best way of fixing this is to use the
+[Effective Go naming
+conventions](https://golang.org/doc/effective_go.html#mixed-caps) and use
+[camelCase](https://en.wikipedia.org/wiki/CamelCase) for variable names. You
+can check your code using [golint](https://github.com/golang/lint)
+
+<a name="license"></a>
+### What license is this?
+
+The main code is [MIT](https://github.com/client9/misspell/blob/master/LICENSE).
+
+Misspell also makes uses of the Golang standard library and contains a modified version of Golang's [strings.Replacer](https://golang.org/pkg/strings/#Replacer)
+which are covered under a [BSD License](https://github.com/golang/go/blob/master/LICENSE). Type `misspell -legal` for more details or see [legal.go](https://github.com/client9/misspell/blob/master/legal.go)
+
+<a name="words"></a>
+### Where do the word lists come from?
+
+It started with a word list from
+[Wikipedia](https://en.wikipedia.org/wiki/Wikipedia:Lists_of_common_misspellings/For_machines).
+Unfortunately, this list had to be highly edited as many of the words are
+obsolete or based from mistakes on mechanical typewriters (I'm guessing).
+
+Additional words were added based on actually mistakes seen in
+the wild (meaning self-generated).
+
+Variations of UK and US spellings are based on many sources including:
+
+* http://www.tysto.com/uk-us-spelling-list.html (with heavy editing, many are incorrect)
+* http://www.oxforddictionaries.com/us/words/american-and-british-spelling-american (excellent site but incomplete)
+* Diffing US and UK [scowl dictionaries](http://wordlist.aspell.net)
+
+American English is more accepting of spelling variations than is British
+English, so "what is American or not" is subject to opinion. Corrections and help welcome.
+
+<a name="otherideas"></a>
+### What are some other enhancements that could be done?
+
+Here's some ideas for enhancements:
+
+*Capitalization of proper nouns* could be done (e.g. weekday and month names, country names, language names)
+
+*Opinionated US spellings* US English has a number of words with alternate
+spellings. Think [adviser vs.
+advisor](http://grammarist.com/spelling/adviser-advisor/). While "advisor" is not wrong, the opinionated US
+locale would correct "advisor" to "adviser".
+
+*Versioning* Some type of versioning is needed so reporting mistakes and errors is easier.
+
+*Feedback* Mistakes would be sent to some server for agregation and feedback review.
+
+*Contractions and Apostrophes* This would optionally correct "isnt" to
+"isn't", etc.
diff --git a/vendor/github.com/client9/misspell/RELEASE-HOWTO.md b/vendor/github.com/client9/misspell/RELEASE-HOWTO.md
new file mode 100644
index 00000000..55b52d96
--- /dev/null
+++ b/vendor/github.com/client9/misspell/RELEASE-HOWTO.md
@@ -0,0 +1,38 @@
+# Release HOWTO
+
+since I forget.
+
+
+1. Review existing tags and pick new release number
+
+ ```sh
+ git tag
+ ```
+
+2. Tag locally
+
+ ```sh
+ git tag -a v0.1.0 -m "First release"
+ ```
+
+ If things get screwed up, delete the tag with
+
+ ```sh
+ git tag -d v0.1.0
+ ```
+
+3. Test goreleaser
+
+ TODO: how to install goreleaser
+
+ ```sh
+ ./scripts/goreleaser-dryrun.sh
+ ```
+
+4. Push
+
+ ```bash
+ git push origin v0.1.0
+ ```
+
+5. Verify release and edit notes. See https://github.com/client9/misspell/releases
diff --git a/vendor/github.com/client9/misspell/goreleaser.yml b/vendor/github.com/client9/misspell/goreleaser.yml
new file mode 100644
index 00000000..560cb381
--- /dev/null
+++ b/vendor/github.com/client9/misspell/goreleaser.yml
@@ -0,0 +1,38 @@
+# goreleaser.yml
+# https://github.com/goreleaser/goreleaser
+
+project_name: misspell
+
+builds:
+ -
+ main: cmd/misspell/main.go
+ binary: misspell
+ ldflags: -s -w -X main.version={{.Version}}
+ goos:
+ - darwin
+ - linux
+ - windows
+ goarch:
+ - amd64
+ env:
+ - CGO_ENABLED=0
+ ignore:
+ - goos: darwin
+ goarch: 386
+ - goos: windows
+ goarch: 386
+
+archive:
+ name_template: "{{ .Binary }}_{{ .Version }}_{{ .Os }}_{{ .Arch }}"
+ replacements:
+ amd64: 64bit
+ 386: 32bit
+ darwin: mac
+ files:
+ - none*
+
+checksum:
+ name_template: "{{ .ProjectName }}_{{ .Version }}_checksums.txt"
+
+snapshot:
+ name_template: "SNAPSHOT-{{.Commit}}"
diff --git a/vendor/github.com/client9/misspell/install-misspell.sh b/vendor/github.com/client9/misspell/install-misspell.sh
new file mode 100644
index 00000000..8e0ff5d9
--- /dev/null
+++ b/vendor/github.com/client9/misspell/install-misspell.sh
@@ -0,0 +1,318 @@
+#!/bin/sh
+set -e
+# Code generated by godownloader. DO NOT EDIT.
+#
+
+usage() {
+ this=$1
+ cat <<EOF
+$this: download go binaries for client9/misspell
+
+Usage: $this [-b] bindir [version]
+ -b sets bindir or installation directory, default "./bin"
+ [version] is a version number from
+ https://github.com/client9/misspell/releases
+ If version is missing, then an attempt to find the latest will be found.
+
+Generated by godownloader
+ https://github.com/goreleaser/godownloader
+
+EOF
+ exit 2
+}
+
+parse_args() {
+ #BINDIR is ./bin unless set be ENV
+ # over-ridden by flag below
+
+ BINDIR=${BINDIR:-./bin}
+ while getopts "b:h?" arg; do
+ case "$arg" in
+ b) BINDIR="$OPTARG" ;;
+ h | \?) usage "$0" ;;
+ esac
+ done
+ shift $((OPTIND - 1))
+ VERSION=$1
+}
+# this function wraps all the destructive operations
+# if a curl|bash cuts off the end of the script due to
+# network, either nothing will happen or will syntax error
+# out preventing half-done work
+execute() {
+ TMPDIR=$(mktmpdir)
+ echo "$PREFIX: downloading ${TARBALL_URL}"
+ http_download "${TMPDIR}/${TARBALL}" "${TARBALL_URL}"
+
+ echo "$PREFIX: verifying checksums"
+ http_download "${TMPDIR}/${CHECKSUM}" "${CHECKSUM_URL}"
+ hash_sha256_verify "${TMPDIR}/${TARBALL}" "${TMPDIR}/${CHECKSUM}"
+
+ (cd "${TMPDIR}" && untar "${TARBALL}")
+ install -d "${BINDIR}"
+ install "${TMPDIR}/${BINARY}" "${BINDIR}/"
+ echo "$PREFIX: installed as ${BINDIR}/${BINARY}"
+}
+is_supported_platform() {
+ platform=$1
+ found=1
+ case "$platform" in
+ darwin/amd64) found=0 ;;
+ linux/amd64) found=0 ;;
+ esac
+ case "$platform" in
+ darwin/386) found=1 ;;
+ esac
+ return $found
+}
+check_platform() {
+ if is_supported_platform "$PLATFORM"; then
+ # optional logging goes here
+ true
+ else
+ echo "${PREFIX}: platform $PLATFORM is not supported. Make sure this script is up-to-date and file request at https://github.com/${PREFIX}/issues/new"
+ exit 1
+ fi
+}
+adjust_version() {
+ if [ -z "${VERSION}" ]; then
+ echo "$PREFIX: checking GitHub for latest version"
+ VERSION=$(github_last_release "$OWNER/$REPO")
+ fi
+ # if version starts with 'v', remove it
+ VERSION=${VERSION#v}
+}
+adjust_format() {
+ # change format (tar.gz or zip) based on ARCH
+ true
+}
+adjust_os() {
+ # adjust archive name based on OS
+ case ${OS} in
+ 386) OS=32bit ;;
+ amd64) OS=64bit ;;
+ darwin) OS=mac ;;
+ esac
+ true
+}
+adjust_arch() {
+ # adjust archive name based on ARCH
+ case ${ARCH} in
+ 386) ARCH=32bit ;;
+ amd64) ARCH=64bit ;;
+ darwin) ARCH=mac ;;
+ esac
+ true
+}
+
+cat /dev/null <<EOF
+------------------------------------------------------------------------
+https://github.com/client9/shlib - portable posix shell functions
+Public domain - http://unlicense.org
+https://github.com/client9/shlib/blob/master/LICENSE.md
+but credit (and pull requests) appreciated.
+------------------------------------------------------------------------
+EOF
+is_command() {
+ command -v "$1" >/dev/null
+}
+uname_os() {
+ os=$(uname -s | tr '[:upper:]' '[:lower:]')
+ echo "$os"
+}
+uname_arch() {
+ arch=$(uname -m)
+ case $arch in
+ x86_64) arch="amd64" ;;
+ x86) arch="386" ;;
+ i686) arch="386" ;;
+ i386) arch="386" ;;
+ aarch64) arch="arm64" ;;
+ armv5*) arch="arm5" ;;
+ armv6*) arch="arm6" ;;
+ armv7*) arch="arm7" ;;
+ esac
+ echo ${arch}
+}
+uname_os_check() {
+ os=$(uname_os)
+ case "$os" in
+ darwin) return 0 ;;
+ dragonfly) return 0 ;;
+ freebsd) return 0 ;;
+ linux) return 0 ;;
+ android) return 0 ;;
+ nacl) return 0 ;;
+ netbsd) return 0 ;;
+ openbsd) return 0 ;;
+ plan9) return 0 ;;
+ solaris) return 0 ;;
+ windows) return 0 ;;
+ esac
+ echo "$0: uname_os_check: internal error '$(uname -s)' got converted to '$os' which is not a GOOS value. Please file bug at https://github.com/client9/shlib"
+ return 1
+}
+uname_arch_check() {
+ arch=$(uname_arch)
+ case "$arch" in
+ 386) return 0 ;;
+ amd64) return 0 ;;
+ arm64) return 0 ;;
+ armv5) return 0 ;;
+ armv6) return 0 ;;
+ armv7) return 0 ;;
+ ppc64) return 0 ;;
+ ppc64le) return 0 ;;
+ mips) return 0 ;;
+ mipsle) return 0 ;;
+ mips64) return 0 ;;
+ mips64le) return 0 ;;
+ s390x) return 0 ;;
+ amd64p32) return 0 ;;
+ esac
+ echo "$0: uname_arch_check: internal error '$(uname -m)' got converted to '$arch' which is not a GOARCH value. Please file bug report at https://github.com/client9/shlib"
+ return 1
+}
+untar() {
+ tarball=$1
+ case "${tarball}" in
+ *.tar.gz | *.tgz) tar -xzf "${tarball}" ;;
+ *.tar) tar -xf "${tarball}" ;;
+ *.zip) unzip "${tarball}" ;;
+ *)
+ echo "Unknown archive format for ${tarball}"
+ return 1
+ ;;
+ esac
+}
+mktmpdir() {
+ test -z "$TMPDIR" && TMPDIR="$(mktemp -d)"
+ mkdir -p "${TMPDIR}"
+ echo "${TMPDIR}"
+}
+http_download() {
+ local_file=$1
+ source_url=$2
+ header=$3
+ headerflag=''
+ destflag=''
+ if is_command curl; then
+ cmd='curl --fail -sSL'
+ destflag='-o'
+ headerflag='-H'
+ elif is_command wget; then
+ cmd='wget -q'
+ destflag='-O'
+ headerflag='--header'
+ else
+ echo "http_download: unable to find wget or curl"
+ return 1
+ fi
+ if [ -z "$header" ]; then
+ $cmd $destflag "$local_file" "$source_url"
+ else
+ $cmd $headerflag "$header" $destflag "$local_file" "$source_url"
+ fi
+}
+github_api() {
+ local_file=$1
+ source_url=$2
+ header=""
+ case "$source_url" in
+ https://api.github.com*)
+ test -z "$GITHUB_TOKEN" || header="Authorization: token $GITHUB_TOKEN"
+ ;;
+ esac
+ http_download "$local_file" "$source_url" "$header"
+}
+github_last_release() {
+ owner_repo=$1
+ giturl="https://api.github.com/repos/${owner_repo}/releases/latest"
+ html=$(github_api - "$giturl")
+ version=$(echo "$html" | grep -m 1 "\"tag_name\":" | cut -f4 -d'"')
+ test -z "$version" && return 1
+ echo "$version"
+}
+hash_sha256() {
+ TARGET=${1:-/dev/stdin}
+ if is_command gsha256sum; then
+ hash=$(gsha256sum "$TARGET") || return 1
+ echo "$hash" | cut -d ' ' -f 1
+ elif is_command sha256sum; then
+ hash=$(sha256sum "$TARGET") || return 1
+ echo "$hash" | cut -d ' ' -f 1
+ elif is_command shasum; then
+ hash=$(shasum -a 256 "$TARGET" 2>/dev/null) || return 1
+ echo "$hash" | cut -d ' ' -f 1
+ elif is_command openssl; then
+ hash=$(openssl -dst openssl dgst -sha256 "$TARGET") || return 1
+ echo "$hash" | cut -d ' ' -f a
+ else
+ echo "hash_sha256: unable to find command to compute sha-256 hash"
+ return 1
+ fi
+}
+hash_sha256_verify() {
+ TARGET=$1
+ checksums=$2
+ if [ -z "$checksums" ]; then
+ echo "hash_sha256_verify: checksum file not specified in arg2"
+ return 1
+ fi
+ BASENAME=${TARGET##*/}
+ want=$(grep "${BASENAME}" "${checksums}" 2>/dev/null | tr '\t' ' ' | cut -d ' ' -f 1)
+ if [ -z "$want" ]; then
+ echo "hash_sha256_verify: unable to find checksum for '${TARGET}' in '${checksums}'"
+ return 1
+ fi
+ got=$(hash_sha256 "$TARGET")
+ if [ "$want" != "$got" ]; then
+ echo "hash_sha256_verify: checksum for '$TARGET' did not verify ${want} vs $got"
+ return 1
+ fi
+}
+cat /dev/null <<EOF
+------------------------------------------------------------------------
+End of functions from https://github.com/client9/shlib
+------------------------------------------------------------------------
+EOF
+
+OWNER=client9
+REPO=misspell
+BINARY=misspell
+FORMAT=tar.gz
+OS=$(uname_os)
+ARCH=$(uname_arch)
+PREFIX="$OWNER/$REPO"
+PLATFORM="${OS}/${ARCH}"
+GITHUB_DOWNLOAD=https://github.com/${OWNER}/${REPO}/releases/download
+
+uname_os_check "$OS"
+uname_arch_check "$ARCH"
+
+parse_args "$@"
+
+check_platform
+
+adjust_version
+
+adjust_format
+
+adjust_os
+
+adjust_arch
+
+echo "$PREFIX: found version ${VERSION} for ${OS}/${ARCH}"
+
+NAME=${BINARY}_${VERSION}_${OS}_${ARCH}
+TARBALL=${NAME}.${FORMAT}
+TARBALL_URL=${GITHUB_DOWNLOAD}/v${VERSION}/${TARBALL}
+CHECKSUM=${REPO}_checksums.txt
+CHECKSUM_URL=${GITHUB_DOWNLOAD}/v${VERSION}/${CHECKSUM}
+
+# Adjust binary name if windows
+if [ "$OS" = "windows" ]; then
+ BINARY="${BINARY}.exe"
+fi
+
+execute
diff --git a/vendor/github.com/client9/misspell/stringreplacer_test.gox b/vendor/github.com/client9/misspell/stringreplacer_test.gox
new file mode 100644
index 00000000..70da997f
--- /dev/null
+++ b/vendor/github.com/client9/misspell/stringreplacer_test.gox
@@ -0,0 +1,421 @@
+// Copyright 2009 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package misspell_test
+
+import (
+ "bytes"
+ "fmt"
+ "strings"
+ "testing"
+
+ . "github.com/client9/misspell"
+)
+
+var htmlEscaper = NewStringReplacer(
+ "&", "&amp;",
+ "<", "&lt;",
+ ">", "&gt;",
+ `"`, "&quot;",
+ "'", "&apos;",
+)
+
+var htmlUnescaper = NewStringReplacer(
+ "&amp;", "&",
+ "&lt;", "<",
+ "&gt;", ">",
+ "&quot;", `"`,
+ "&apos;", "'",
+)
+
+// The http package's old HTML escaping function.
+func oldHTMLEscape(s string) string {
+ s = strings.Replace(s, "&", "&amp;", -1)
+ s = strings.Replace(s, "<", "&lt;", -1)
+ s = strings.Replace(s, ">", "&gt;", -1)
+ s = strings.Replace(s, `"`, "&quot;", -1)
+ s = strings.Replace(s, "'", "&apos;", -1)
+ return s
+}
+
+var capitalLetters = NewStringReplacer("a", "A", "b", "B")
+
+// TestReplacer tests the replacer implementations.
+func TestReplacer(t *testing.T) {
+ type testCase struct {
+ r *StringReplacer
+ in, out string
+ }
+ var testCases []testCase
+
+ // str converts 0xff to "\xff". This isn't just string(b) since that converts to UTF-8.
+ str := func(b byte) string {
+ return string([]byte{b})
+ }
+ var s []string
+
+ // inc maps "\x00"->"\x01", ..., "a"->"b", "b"->"c", ..., "\xff"->"\x00".
+ for i := 0; i < 256; i++ {
+ s = append(s, str(byte(i)), str(byte(i+1)))
+ }
+ inc := NewStringReplacer(s...)
+
+ // Test cases with 1-byte old strings, 1-byte new strings.
+ testCases = append(testCases,
+ testCase{capitalLetters, "brad", "BrAd"},
+ testCase{capitalLetters, strings.Repeat("a", (32<<10)+123), strings.Repeat("A", (32<<10)+123)},
+ testCase{capitalLetters, "", ""},
+
+ testCase{inc, "brad", "csbe"},
+ testCase{inc, "\x00\xff", "\x01\x00"},
+ testCase{inc, "", ""},
+
+ testCase{NewStringReplacer("a", "1", "a", "2"), "brad", "br1d"},
+ )
+
+ // repeat maps "a"->"a", "b"->"bb", "c"->"ccc", ...
+ s = nil
+ for i := 0; i < 256; i++ {
+ n := i + 1 - 'a'
+ if n < 1 {
+ n = 1
+ }
+ s = append(s, str(byte(i)), strings.Repeat(str(byte(i)), n))
+ }
+ repeat := NewStringReplacer(s...)
+
+ // Test cases with 1-byte old strings, variable length new strings.
+ testCases = append(testCases,
+ testCase{htmlEscaper, "No changes", "No changes"},
+ testCase{htmlEscaper, "I <3 escaping & stuff", "I &lt;3 escaping &amp; stuff"},
+ testCase{htmlEscaper, "&&&", "&amp;&amp;&amp;"},
+ testCase{htmlEscaper, "", ""},
+
+ testCase{repeat, "brad", "bbrrrrrrrrrrrrrrrrrradddd"},
+ testCase{repeat, "abba", "abbbba"},
+ testCase{repeat, "", ""},
+
+ testCase{NewStringReplacer("a", "11", "a", "22"), "brad", "br11d"},
+ )
+
+ // The remaining test cases have variable length old strings.
+
+ testCases = append(testCases,
+ testCase{htmlUnescaper, "&amp;amp;", "&amp;"},
+ testCase{htmlUnescaper, "&lt;b&gt;HTML&apos;s neat&lt;/b&gt;", "<b>HTML's neat</b>"},
+ testCase{htmlUnescaper, "", ""},
+
+ testCase{NewStringReplacer("a", "1", "a", "2", "xxx", "xxx"), "brad", "br1d"},
+
+ testCase{NewStringReplacer("a", "1", "aa", "2", "aaa", "3"), "aaaa", "1111"},
+
+ testCase{NewStringReplacer("aaa", "3", "aa", "2", "a", "1"), "aaaa", "31"},
+ )
+
+ // gen1 has multiple old strings of variable length. There is no
+ // overall non-empty common prefix, but some pairwise common prefixes.
+ gen1 := NewStringReplacer(
+ "aaa", "3[aaa]",
+ "aa", "2[aa]",
+ "a", "1[a]",
+ "i", "i",
+ "longerst", "most long",
+ "longer", "medium",
+ "long", "short",
+ "xx", "xx",
+ "x", "X",
+ "X", "Y",
+ "Y", "Z",
+ )
+ testCases = append(testCases,
+ testCase{gen1, "fooaaabar", "foo3[aaa]b1[a]r"},
+ testCase{gen1, "long, longerst, longer", "short, most long, medium"},
+ testCase{gen1, "xxxxx", "xxxxX"},
+ testCase{gen1, "XiX", "YiY"},
+ testCase{gen1, "", ""},
+ )
+
+ // gen2 has multiple old strings with no pairwise common prefix.
+ gen2 := NewStringReplacer(
+ "roses", "red",
+ "violets", "blue",
+ "sugar", "sweet",
+ )
+ testCases = append(testCases,
+ testCase{gen2, "roses are red, violets are blue...", "red are red, blue are blue..."},
+ testCase{gen2, "", ""},
+ )
+
+ // gen3 has multiple old strings with an overall common prefix.
+ gen3 := NewStringReplacer(
+ "abracadabra", "poof",
+ "abracadabrakazam", "splat",
+ "abraham", "lincoln",
+ "abrasion", "scrape",
+ "abraham", "isaac",
+ )
+ testCases = append(testCases,
+ testCase{gen3, "abracadabrakazam abraham", "poofkazam lincoln"},
+ testCase{gen3, "abrasion abracad", "scrape abracad"},
+ testCase{gen3, "abba abram abrasive", "abba abram abrasive"},
+ testCase{gen3, "", ""},
+ )
+
+ // foo{1,2,3,4} have multiple old strings with an overall common prefix
+ // and 1- or 2- byte extensions from the common prefix.
+ foo1 := NewStringReplacer(
+ "foo1", "A",
+ "foo2", "B",
+ "foo3", "C",
+ )
+ foo2 := NewStringReplacer(
+ "foo1", "A",
+ "foo2", "B",
+ "foo31", "C",
+ "foo32", "D",
+ )
+ foo3 := NewStringReplacer(
+ "foo11", "A",
+ "foo12", "B",
+ "foo31", "C",
+ "foo32", "D",
+ )
+ foo4 := NewStringReplacer(
+ "foo12", "B",
+ "foo32", "D",
+ )
+ testCases = append(testCases,
+ testCase{foo1, "fofoofoo12foo32oo", "fofooA2C2oo"},
+ testCase{foo1, "", ""},
+
+ testCase{foo2, "fofoofoo12foo32oo", "fofooA2Doo"},
+ testCase{foo2, "", ""},
+
+ testCase{foo3, "fofoofoo12foo32oo", "fofooBDoo"},
+ testCase{foo3, "", ""},
+
+ testCase{foo4, "fofoofoo12foo32oo", "fofooBDoo"},
+ testCase{foo4, "", ""},
+ )
+
+ // genAll maps "\x00\x01\x02...\xfe\xff" to "[all]", amongst other things.
+ allBytes := make([]byte, 256)
+ for i := range allBytes {
+ allBytes[i] = byte(i)
+ }
+ allString := string(allBytes)
+ genAll := NewStringReplacer(
+ allString, "[all]",
+ "\xff", "[ff]",
+ "\x00", "[00]",
+ )
+ testCases = append(testCases,
+ testCase{genAll, allString, "[all]"},
+ testCase{genAll, "a\xff" + allString + "\x00", "a[ff][all][00]"},
+ testCase{genAll, "", ""},
+ )
+
+ // Test cases with empty old strings.
+
+ blankToX1 := NewStringReplacer("", "X")
+ blankToX2 := NewStringReplacer("", "X", "", "")
+ blankHighPriority := NewStringReplacer("", "X", "o", "O")
+ blankLowPriority := NewStringReplacer("o", "O", "", "X")
+ blankNoOp1 := NewStringReplacer("", "")
+ blankNoOp2 := NewStringReplacer("", "", "", "A")
+ blankFoo := NewStringReplacer("", "X", "foobar", "R", "foobaz", "Z")
+ testCases = append(testCases,
+ testCase{blankToX1, "foo", "XfXoXoX"},
+ testCase{blankToX1, "", "X"},
+
+ testCase{blankToX2, "foo", "XfXoXoX"},
+ testCase{blankToX2, "", "X"},
+
+ testCase{blankHighPriority, "oo", "XOXOX"},
+ testCase{blankHighPriority, "ii", "XiXiX"},
+ testCase{blankHighPriority, "oiio", "XOXiXiXOX"},
+ testCase{blankHighPriority, "iooi", "XiXOXOXiX"},
+ testCase{blankHighPriority, "", "X"},
+
+ testCase{blankLowPriority, "oo", "OOX"},
+ testCase{blankLowPriority, "ii", "XiXiX"},
+ testCase{blankLowPriority, "oiio", "OXiXiOX"},
+ testCase{blankLowPriority, "iooi", "XiOOXiX"},
+ testCase{blankLowPriority, "", "X"},
+
+ testCase{blankNoOp1, "foo", "foo"},
+ testCase{blankNoOp1, "", ""},
+
+ testCase{blankNoOp2, "foo", "foo"},
+ testCase{blankNoOp2, "", ""},
+
+ testCase{blankFoo, "foobarfoobaz", "XRXZX"},
+ testCase{blankFoo, "foobar-foobaz", "XRX-XZX"},
+ testCase{blankFoo, "", "X"},
+ )
+
+ // single string replacer
+
+ abcMatcher := NewStringReplacer("abc", "[match]")
+
+ testCases = append(testCases,
+ testCase{abcMatcher, "", ""},
+ testCase{abcMatcher, "ab", "ab"},
+ testCase{abcMatcher, "abc", "[match]"},
+ testCase{abcMatcher, "abcd", "[match]d"},
+ testCase{abcMatcher, "cabcabcdabca", "c[match][match]d[match]a"},
+ )
+
+ // Issue 6659 cases (more single string replacer)
+
+ noHello := NewStringReplacer("Hello", "")
+ testCases = append(testCases,
+ testCase{noHello, "Hello", ""},
+ testCase{noHello, "Hellox", "x"},
+ testCase{noHello, "xHello", "x"},
+ testCase{noHello, "xHellox", "xx"},
+ )
+
+ // No-arg test cases.
+
+ nop := NewStringReplacer()
+ testCases = append(testCases,
+ testCase{nop, "abc", "abc"},
+ testCase{nop, "", ""},
+ )
+
+ // Run the test cases.
+
+ for i, tc := range testCases {
+ if s := tc.r.Replace(tc.in); s != tc.out {
+ t.Errorf("%d. strings.Replace(%q) = %q, want %q", i, tc.in, s, tc.out)
+ }
+ var buf bytes.Buffer
+ n, err := tc.r.WriteString(&buf, tc.in)
+ if err != nil {
+ t.Errorf("%d. WriteString: %v", i, err)
+ continue
+ }
+ got := buf.String()
+ if got != tc.out {
+ t.Errorf("%d. WriteString(%q) wrote %q, want %q", i, tc.in, got, tc.out)
+ continue
+ }
+ if n != len(tc.out) {
+ t.Errorf("%d. WriteString(%q) wrote correct string but reported %d bytes; want %d (%q)",
+ i, tc.in, n, len(tc.out), tc.out)
+ }
+ }
+}
+
+type errWriter struct{}
+
+func (errWriter) Write(p []byte) (n int, err error) {
+ return 0, fmt.Errorf("unwritable")
+}
+
+func BenchmarkGenericNoMatch(b *testing.B) {
+ str := strings.Repeat("A", 100) + strings.Repeat("B", 100)
+ generic := NewStringReplacer("a", "A", "b", "B", "12", "123") // varying lengths forces generic
+ for i := 0; i < b.N; i++ {
+ generic.Replace(str)
+ }
+}
+
+func BenchmarkGenericMatch1(b *testing.B) {
+ str := strings.Repeat("a", 100) + strings.Repeat("b", 100)
+ generic := NewStringReplacer("a", "A", "b", "B", "12", "123")
+ for i := 0; i < b.N; i++ {
+ generic.Replace(str)
+ }
+}
+
+func BenchmarkGenericMatch2(b *testing.B) {
+ str := strings.Repeat("It&apos;s &lt;b&gt;HTML&lt;/b&gt;!", 100)
+ for i := 0; i < b.N; i++ {
+ htmlUnescaper.Replace(str)
+ }
+}
+
+func benchmarkSingleString(b *testing.B, pattern, text string) {
+ r := NewStringReplacer(pattern, "[match]")
+ b.SetBytes(int64(len(text)))
+ b.ResetTimer()
+ for i := 0; i < b.N; i++ {
+ r.Replace(text)
+ }
+}
+
+func BenchmarkSingleMaxSkipping(b *testing.B) {
+ benchmarkSingleString(b, strings.Repeat("b", 25), strings.Repeat("a", 10000))
+}
+
+func BenchmarkSingleLongSuffixFail(b *testing.B) {
+ benchmarkSingleString(b, "b"+strings.Repeat("a", 500), strings.Repeat("a", 1002))
+}
+
+func BenchmarkSingleMatch(b *testing.B) {
+ benchmarkSingleString(b, "abcdef", strings.Repeat("abcdefghijklmno", 1000))
+}
+
+func BenchmarkByteByteNoMatch(b *testing.B) {
+ str := strings.Repeat("A", 100) + strings.Repeat("B", 100)
+ for i := 0; i < b.N; i++ {
+ capitalLetters.Replace(str)
+ }
+}
+
+func BenchmarkByteByteMatch(b *testing.B) {
+ str := strings.Repeat("a", 100) + strings.Repeat("b", 100)
+ for i := 0; i < b.N; i++ {
+ capitalLetters.Replace(str)
+ }
+}
+
+func BenchmarkByteStringMatch(b *testing.B) {
+ str := "<" + strings.Repeat("a", 99) + strings.Repeat("b", 99) + ">"
+ for i := 0; i < b.N; i++ {
+ htmlEscaper.Replace(str)
+ }
+}
+
+func BenchmarkHTMLEscapeNew(b *testing.B) {
+ str := "I <3 to escape HTML & other text too."
+ for i := 0; i < b.N; i++ {
+ htmlEscaper.Replace(str)
+ }
+}
+
+func BenchmarkHTMLEscapeOld(b *testing.B) {
+ str := "I <3 to escape HTML & other text too."
+ for i := 0; i < b.N; i++ {
+ oldHTMLEscape(str)
+ }
+}
+
+func BenchmarkByteStringReplacerWriteString(b *testing.B) {
+ str := strings.Repeat("I <3 to escape HTML & other text too.", 100)
+ buf := new(bytes.Buffer)
+ for i := 0; i < b.N; i++ {
+ htmlEscaper.WriteString(buf, str)
+ buf.Reset()
+ }
+}
+
+func BenchmarkByteReplacerWriteString(b *testing.B) {
+ str := strings.Repeat("abcdefghijklmnopqrstuvwxyz", 100)
+ buf := new(bytes.Buffer)
+ for i := 0; i < b.N; i++ {
+ capitalLetters.WriteString(buf, str)
+ buf.Reset()
+ }
+}
+
+// BenchmarkByteByteReplaces compares byteByteImpl against multiple Replaces.
+func BenchmarkByteByteReplaces(b *testing.B) {
+ str := strings.Repeat("a", 100) + strings.Repeat("b", 100)
+ for i := 0; i < b.N; i++ {
+ strings.Replace(strings.Replace(str, "a", "A", -1), "b", "B", -1)
+ }
+}
diff --git a/vendor/gopkg.in/yaml.v2/.travis.yml b/vendor/gopkg.in/yaml.v2/.travis.yml
new file mode 100644
index 00000000..9f556934
--- /dev/null
+++ b/vendor/gopkg.in/yaml.v2/.travis.yml
@@ -0,0 +1,12 @@
+language: go
+
+go:
+ - 1.4
+ - 1.5
+ - 1.6
+ - 1.7
+ - 1.8
+ - 1.9
+ - tip
+
+go_import_path: gopkg.in/yaml.v2
diff --git a/vendor/gopkg.in/yaml.v2/README.md b/vendor/gopkg.in/yaml.v2/README.md
new file mode 100644
index 00000000..b50c6e87
--- /dev/null
+++ b/vendor/gopkg.in/yaml.v2/README.md
@@ -0,0 +1,133 @@
+# YAML support for the Go language
+
+Introduction
+------------
+
+The yaml package enables Go programs to comfortably encode and decode YAML
+values. It was developed within [Canonical](https://www.canonical.com) as
+part of the [juju](https://juju.ubuntu.com) project, and is based on a
+pure Go port of the well-known [libyaml](http://pyyaml.org/wiki/LibYAML)
+C library to parse and generate YAML data quickly and reliably.
+
+Compatibility
+-------------
+
+The yaml package supports most of YAML 1.1 and 1.2, including support for
+anchors, tags, map merging, etc. Multi-document unmarshalling is not yet
+implemented, and base-60 floats from YAML 1.1 are purposefully not
+supported since they're a poor design and are gone in YAML 1.2.
+
+Installation and usage
+----------------------
+
+The import path for the package is *gopkg.in/yaml.v2*.
+
+To install it, run:
+
+ go get gopkg.in/yaml.v2
+
+API documentation
+-----------------
+
+If opened in a browser, the import path itself leads to the API documentation:
+
+ * [https://gopkg.in/yaml.v2](https://gopkg.in/yaml.v2)
+
+API stability
+-------------
+
+The package API for yaml v2 will remain stable as described in [gopkg.in](https://gopkg.in).
+
+
+License
+-------
+
+The yaml package is licensed under the Apache License 2.0. Please see the LICENSE file for details.
+
+
+Example
+-------
+
+```Go
+package main
+
+import (
+ "fmt"
+ "log"
+
+ "gopkg.in/yaml.v2"
+)
+
+var data = `
+a: Easy!
+b:
+ c: 2
+ d: [3, 4]
+`
+
+// Note: struct fields must be public in order for unmarshal to
+// correctly populate the data.
+type T struct {
+ A string
+ B struct {
+ RenamedC int `yaml:"c"`
+ D []int `yaml:",flow"`
+ }
+}
+
+func main() {
+ t := T{}
+
+ err := yaml.Unmarshal([]byte(data), &t)
+ if err != nil {
+ log.Fatalf("error: %v", err)
+ }
+ fmt.Printf("--- t:\n%v\n\n", t)
+
+ d, err := yaml.Marshal(&t)
+ if err != nil {
+ log.Fatalf("error: %v", err)
+ }
+ fmt.Printf("--- t dump:\n%s\n\n", string(d))
+
+ m := make(map[interface{}]interface{})
+
+ err = yaml.Unmarshal([]byte(data), &m)
+ if err != nil {
+ log.Fatalf("error: %v", err)
+ }
+ fmt.Printf("--- m:\n%v\n\n", m)
+
+ d, err = yaml.Marshal(&m)
+ if err != nil {
+ log.Fatalf("error: %v", err)
+ }
+ fmt.Printf("--- m dump:\n%s\n\n", string(d))
+}
+```
+
+This example will generate the following output:
+
+```
+--- t:
+{Easy! {2 [3 4]}}
+
+--- t dump:
+a: Easy!
+b:
+ c: 2
+ d: [3, 4]
+
+
+--- m:
+map[a:Easy! b:map[c:2 d:[3 4]]]
+
+--- m dump:
+a: Easy!
+b:
+ c: 2
+ d:
+ - 3
+ - 4
+```
+
diff --git a/vendor/gopkg.in/yaml.v2/encode.go b/vendor/gopkg.in/yaml.v2/encode.go
index a14435e8..0ee738e1 100644
--- a/vendor/gopkg.in/yaml.v2/encode.go
+++ b/vendor/gopkg.in/yaml.v2/encode.go
@@ -13,6 +13,19 @@ import (
"unicode/utf8"
)
+// jsonNumber is the interface of the encoding/json.Number datatype.
+// Repeating the interface here avoids a dependency on encoding/json, and also
+// supports other libraries like jsoniter, which use a similar datatype with
+// the same interface. Detecting this interface is useful when dealing with
+// structures containing json.Number, which is a string under the hood. The
+// encoder should prefer the use of Int64(), Float64() and string(), in that
+// order, when encoding this type.
+type jsonNumber interface {
+ Float64() (float64, error)
+ Int64() (int64, error)
+ String() string
+}
+
type encoder struct {
emitter yaml_emitter_t
event yaml_event_t
@@ -89,6 +102,21 @@ func (e *encoder) marshal(tag string, in reflect.Value) {
}
iface := in.Interface()
switch m := iface.(type) {
+ case jsonNumber:
+ integer, err := m.Int64()
+ if err == nil {
+ // In this case the json.Number is a valid int64
+ in = reflect.ValueOf(integer)
+ break
+ }
+ float, err := m.Float64()
+ if err == nil {
+ // In this case the json.Number is a valid float64
+ in = reflect.ValueOf(float)
+ break
+ }
+ // fallback case - no number could be obtained
+ in = reflect.ValueOf(m.String())
case time.Time, *time.Time:
// Although time.Time implements TextMarshaler,
// we don't want to treat it as a string for YAML
diff --git a/vendor/gopkg.in/yaml.v2/go.mod b/vendor/gopkg.in/yaml.v2/go.mod
new file mode 100644
index 00000000..1934e876
--- /dev/null
+++ b/vendor/gopkg.in/yaml.v2/go.mod
@@ -0,0 +1,5 @@
+module "gopkg.in/yaml.v2"
+
+require (
+ "gopkg.in/check.v1" v0.0.0-20161208181325-20d25e280405
+)
diff --git a/vendor/modules.txt b/vendor/modules.txt
new file mode 100644
index 00000000..9fd49591
--- /dev/null
+++ b/vendor/modules.txt
@@ -0,0 +1,5 @@
+# github.com/client9/misspell v0.3.4
+github.com/client9/misspell/cmd/misspell
+github.com/client9/misspell
+# gopkg.in/yaml.v2 v2.2.2
+gopkg.in/yaml.v2
diff --git a/wg-iot-edge/README.md b/wg-iot-edge/README.md
index 85a8e82c..72bd8e5d 100644
--- a/wg-iot-edge/README.md
+++ b/wg-iot-edge/README.md
@@ -10,6 +10,10 @@ To understand how this file is generated, see https://git.k8s.io/community/gener
A Working Group dedicated to discussing, designing and documenting using Kubernetes for developing and deploying IoT and Edge specific applications
+## Stakeholder SIGs
+* SIG Multicluster
+* SIG Networking
+
## Meetings
* Regular WG Meeting: [Wednesdays at 17:00 UTC](https://docs.google.com/document/d/1FQx0BPlkkl1Bn0c9ocVBxYIKojpmrS1CFP5h0DI68AE/edit) (every four weeks). [Convert to your timezone](http://www.thetimezoneconverter.com/?t=17:00&tz=UTC).
* [Meeting notes and Agenda](https://docs.google.com/document/d/1Yuwy9IO4X6XKq2wLW0pVZn5yHQxlyK7wdYBZBXRWiKI/edit?usp=sharing).
diff --git a/wg-k8s-infra/charter.md b/wg-k8s-infra/charter.md
index f88ce641..1b42503c 100644
--- a/wg-k8s-infra/charter.md
+++ b/wg-k8s-infra/charter.md
@@ -98,7 +98,7 @@ time.
must be staffed / owned by at least 3 volunteers
- We aspire to follow the same 1/3 maximal representation rules used by the
- Steering Committee, Product Security Team, and other groups that have
+ Steering Committee, Product Security Committee, and other groups that have
project-wide impact
- However, while we are bootstrapping, we consider it acceptable for maximal
representation concerns to be violated, since this will often be necessary
@@ -106,7 +106,7 @@ time.
- Our plan would be to rectify this when choosing new members or rotating
old members such that we eventually meet maximal representation criteria
-- We plan to follow the model set forth by the Product Security Team for
+- We plan to follow the model set forth by the Product Security Committee for
suitable vetting new subproject owners
- Subproject owners must provide additional contact details within the WG, and
@@ -127,5 +127,5 @@ time.
[lazy consensus]: http://en.osswiki.info/concepts/lazy_consensus
[kubernetes-dev@]: https://groups.google.com/forum/#!forum/kubernetes-dev
-[wg-k8s-infra@]: https://groups.google.com/forum/#!forum/k8s-infra-team
+[wg-k8s-infra@]: https://groups.google.com/forum/#!forum/kubernetes-wg-k8s-infra
[kubernetes/k8s.io]: https://git.k8s.io/k8s.io
diff --git a/wg-lts/charter.md b/wg-lts/charter.md
index 2c81e445..d2018723 100644
--- a/wg-lts/charter.md
+++ b/wg-lts/charter.md
@@ -79,7 +79,7 @@ There is yet another set of developers of Kubernetes internals who are
those involved in meta-topics:
* SIG Release: production of supported release artifacts
* SIG Testing: how we can most effectively test Kubernetes
-* Product Security Team (PST): security vulnerability handling
+* Product Security Committee (PSC): security vulnerability handling
* SIG Architecture: maintains and evolves the design principles of Kubernetes, and provides a consistent body of expertise necessary to ensure architectural consistency over time. Also defines conformance testing.
* Steering Committee: scope includes deciding how and when official releases of Kubernetes artifacts are made and what they include
diff --git a/wg-security-audit/README.md b/wg-security-audit/README.md
index c41f91d6..5db6d910 100644
--- a/wg-security-audit/README.md
+++ b/wg-security-audit/README.md
@@ -18,6 +18,7 @@ Perform a security audit on k8s with a vendor and produce as artifacts a threat
* Aaron Small (**[@aasmall](https://github.com/aasmall)**), Google
* Joel Smith (**[@joelsmith](https://github.com/joelsmith)**), Red Hat
* Craig Ingram (**[@cji](https://github.com/cji)**), Salesforce
+* Jay Beale (**[@jaybeale](https://github.com/jaybeale)**), InGuardians
## Contact
* [Slack](https://kubernetes.slack.com/messages/wg-security-audit)