Skip to content

Commit

Permalink
First draft of SIG CLI charter
Browse files Browse the repository at this point in the history
  • Loading branch information
seans3 committed May 9, 2018
1 parent b8d4a1b commit 9e04b7c
Show file tree
Hide file tree
Showing 5 changed files with 180 additions and 11 deletions.
1 change: 0 additions & 1 deletion OWNERS_ALIASES
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,6 @@ aliases:
sig-cli-leads:
- soltysh
- pwittrock
- AdoHe
sig-cluster-lifecycle-leads:
- lukemarsden
- roberthbailey
Expand Down
13 changes: 9 additions & 4 deletions sig-cli/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,12 +21,18 @@ Covers kubectl and related tools. We focus on the development and standardizatio
The Chairs of the SIG run operations and processes governing the SIG.

* Maciej Szulik (**[@soltysh](https://github.com/soltysh)**), Red Hat
* Phillip Wittrock (**[@pwittrock](https://github.com/pwittrock)**), Google
* Tony Ado (**[@AdoHe](https://github.com/AdoHe)**), Alibaba
* Sean Sullivan (**[@seans3](https://github.com/seans3)**), Google

### Technical Leads
The technical leads of the SIG provide the technical leadership for the SIG.

## Emeritus Leads
* Maciej Szulik (**[@soltysh](https://github.com/soltysh)**), Red Hat
* Philip Wittrock (**[@pwittrock](https://github.com/pwittrock)**), Google

### Emeritus Leads

* Fabiano Franz (**[@fabianofranz](https://github.com/fabianofranz)**), Red Hat
* Tony Ado (**[@AdoHe](https://github.com/AdoHe)**), Alibaba

## Contact
* [Slack](https://kubernetes.slack.com/messages/sig-cli)
Expand All @@ -39,7 +45,6 @@ The following subprojects are owned by sig-cli:
- **kubectl**
- Owners:
- https://raw.githubusercontent.com/kubernetes/kubectl/master/OWNERS
- https://raw.githubusercontent.com/kubernetes/kubernetes/master/pkg/kubectl/OWNERS

## GitHub Teams

Expand Down
159 changes: 159 additions & 0 deletions sig-cli/charter.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,159 @@
# SIG CLI Charter

## Purpose

The Command Line Interface SIG (SIG CLI) is responsible for kubectl and
related tools. This group focuses on command line tools and
libraries to interface with Kubernetes API's.

## Roles

* Chair
* *MUST* run operations and processes governing the SIG.
* *MUST* remain active in the role. A Chair will be automatically removed from
the position if he/she is unresponsive for > 3 months.
* *MAY* be removed if not proactively working with other Chairs to fulfill
responsibilities.
* *MAY* select additional Chairs through a [two-thirds super majority] vote
amongst current Chairs. This *SHOULD* be supported by a majority of SIG Members.
* *MAY* decide to step down at anytime and propose a replacement. Use
[lazy-consensus] amongst Chairs with fallback on majority vote to accept
proposal. This *SHOULD* be supported by a majority of SIG Members.
* There *SHOULD* be 2 to 3 Chairs.
* *MUST* be specifically enumerated in [sigs.yaml] under the **leadership -> chairs** label.

* Technical Lead
* *MUST* provide the technical direction and vision for SIG CLI.
* *MAY* establish new subprojects.
* *MAY* decommission existing subprojects.
* *MAY* resolve X-Subproject technical issues and decisions.
* *MUST* be specifically enumerated in [sigs.yaml] under the **leadership -> leads** label.

* Subproject Owner
* *MUST* be scoped to a subproject of SIG CLI defined in [sigs.yaml].
* *MUST* be an escalation point for technical discussions and decisions in the
subproject.
* *MUST* set milestone priorities for subproject or delegate this responsibility.
* *MUST* remain active in the role. A Subproject Owner Will be automatically
removed from the position if he/she is unresponsive for > 3 months.
* *MAY* be removed if not proactively working with other Subproject Owners to
fulfill responsibilities.
* *MAY* decide to step down at anytime and propose a replacement. Use
[lazy-consensus] amongst Subproject Owners with fallback on majority vote to
accept proposal. This *SHOULD* be supported by a majority of subproject
contributors (those having some role in the subproject).
* *MAY* select additional Subproject Owners through a
[two-thirds super majority] vote amongst current Subproject Owners. This
*SHOULD* be supported by a majority of subproject contributors (through
[lazy-consensus] with fallback on voting).
* There *SHOULD* be 3 to 5 Subproject Owners.
* *MUST* be specifically enumerated in an OWNERS file under the **owners**
label. [sigs.yaml] *MUST* point to this OWNERS file under the **subproject ->
owners** label.

* Approver
* *MUST* contribute to SIG CLI by reviewing and approving proposed changes to
the SIG CLI code for a directory and its sub-directories.
* New Approvers *SHOULD* be chosen from current Reviewers by a majority vote of
Subproject Owners for directories under their control.
* *MUST* be enumerated in an OWNERS file within a directory under the
**approvers** label.

* Reviewer
* *MUST* contribute to SIG CLI by reviewing proposed changes to the SIG CLI
code for a directory and its sub-directories.
* *SHOULD* have made significant technical contributions during the review of at
least six PR's in the last six months.
* *MAY* be voted as Reviewer by a majority of current Subproject Owners for directories
and subdirectories under their control.
* *MUST* be enumerated in an OWNERS file within a directory under the
**reviewers** label.

* Test Health Maintainers
* *MUST* contribute to SIG CLI by maintaining test health.
* *MUST* have successfully completed at least one test on-call rotation within the
last six months as shown in on-call schedule of [Test Playbook].

* Member
* *MUST* show sustained contributions to at least one subproject or to the SIG.
* *MUST* maintain health of at least one subproject or the health of the SIG.
* *MAY* build new functionality for subprojects.
* *MAY* participate in decision making for the subprojects they hold roles in.
* The Chair(s), Technical Lead(s), and Subproject Owner(s) are Members.
* Approvers are Members.
* Reviewers are Members.
* Test Health Maintainers are Members.
* A significant SIG contributor *MAY* be chosen as a Member using
[lazy-consensus] amongst Subproject Owners with fallback to a majority vote
of Members.

## Subprojects

* [kubectl](https://github.com/kubernetes/community/blob/master/sigs.yaml#L555)

### Subproject Creation

* Subprojects *MUST* be created by [KEP] proposal and accepted by [lazy-consensus]
of Technical Leads with fallback on majority vote of Technical Leads.
The result *SHOULD* be supported by the majority of SIG Members.
* Subproject creation KEP *MUST* enumerate the founding Subproject Owners.
* [sigs.yaml] *MUST* be updated to include subproject information and
Subproject Owners.

## Organizational management

* SIG CLI meetings
* *SHOULD* be facilitated by Chairs unless delegated to specific Members.
* *SHOULD* be held bi-weekly on [Zoom](https://zoom.us/my/sigcli) video
conference every other Wednesday at 9am PST.
* Proposed topics and meeting agenda *SHOULD* be stored at the [Meeting Notes]
* Meetings *SHOULD* be recorded and uploaded to the [Meeting Archive]
* Meetings *SHOULD* contain a test health update from the on-call Member.

* SIG CLI overview and deep-dive sessions organized for Kubecon
* *SHOULD* be organized by Chairs unless delegated to specific Members

## Technical processes

Subprojects of the SIG *MUST* use the following processes unless explicitly
following alternatives they have defined.

* Proposing and making decisions
* Significant design proposals *SHOULD* be sent as [KEP] PR's and published to
[SIG CLI email group] as an announcement.
* Subproject owners are final decision-makers where [lazy-consensus] is not
achieved for subproject technical decisions.
* Issues impacting multiple subprojects in the SIG *SHOULD* be resolved by Technical Leads
* Contributors *SHOULD* follow the SIG CLI [Contributing Guidelines]
* Members *SHOULD* follow the SIG CLI [Release Process]
* Test health
* [Test Playbook] *SHOULD* describe the process for monitoring and managing
SIG CLI code health.
* PRs that break tests *SHOULD* be rolled back if not fixed within 24 hours
(business hours).
* Test health *SHOULD* be reported at start of each SIG meeting.
* Test on-call rotation *SHOULD* transfer directly after bi-weekly SIG meeting.
* Consistently broken tests *SHOULD* automatically send an alert to [SIG CLI email group]

## TODO

* Update [sigs.yaml] to current Chair(s), Technical Lead(s), and Subproject Owner(s).
* Update [OWNERS] and [OWNERS_ALIASES] to current subproject owners, approvers and reviewers.
* Create alert to send email to [SIG CLI email group] when a test continuously fails.
* Update [Contributing Guidelines]
* Update [Release Process]

*MAY*, *SHOULD*, *MUST* within this document are defined at [RFC 2119](https://tools.ietf.org/html/rfc2119)

[lazy-consensus]: http://communitymgt.wikia.com/wiki/Lazy_consensus
[two-thirds super majority]: https://en.wikipedia.org/wiki/Supermajority#Two-thirds_vote
[KEP]: https://github.com/kubernetes/community/blob/master/keps/0000-kep-template.md
[sigs.yaml]: https://github.com/kubernetes/community/blob/master/sigs.yaml#L502
[OWNERS]: https://github.com/kubernetes/kubernetes/blob/master/pkg/kubectl/OWNERS
[OWNERS_ALIASES]: https://github.com/kubernetes/kubernetes/blob/master/OWNERS_ALIASES
[SIG CLI email group]: https://groups.google.com/forum/#!forum/kubernetes-sig-cli
[Meeting Notes]: https://docs.google.com/document/d/1r0YElcXt6G5mOWxwZiXgGu_X6he3F--wKwg-9UBc29I/edit?usp=sharing
[Meeting Archive]: https://www.youtube.com/playlist?list=PL69nYSiGNLP28HaTzSlFe6RJVxpFmbUvF
[Test Playbook]: https://docs.google.com/document/d/1Z3teqtOLvjAtE-eo0G9tjyZbgNc6bMhYGZmOx76v6oM
[Contributing Guidelines]: https://github.com/kubernetes/kubectl/blob/master/CONTRIBUTING.md
[Release Process]: https://github.com/kubernetes/kubectl/blob/master/RELEASE.md
2 changes: 1 addition & 1 deletion sig-list.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ When the need arises, a [new SIG can be created](sig-creation-procedure.md)
|[AWS](sig-aws/README.md)|aws|* [Justin Santa Barbara](https://github.com/justinsb)<br>* [Kris Nova](https://github.com/kris-nova), Heptio<br>* [Bob Wise](https://github.com/countspongebob), 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)](https://zoom.us/my/k8ssigaws)<br>
|[Azure](sig-azure/README.md)|azure|* [Stephen Augustus](https://github.com/justaugustus), Red Hat<br>* [Shubheksha Jalan](https://github.com/shubheksha), 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://zoom.us/j/2015551212)<br>
|[Big Data](sig-big-data/README.md)|big-data|* [Anirudh Ramanathan](https://github.com/foxish), Google<br>* [Erik Erlandson](https://github.com/erikerlandson), Red Hat<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 (weekly)](https://zoom.us/my/sig.big.data)<br>
|[CLI](sig-cli/README.md)|cli|* [Maciej Szulik](https://github.com/soltysh), Red Hat<br>* [Phillip Wittrock](https://github.com/pwittrock), Google<br>* [Tony Ado](https://github.com/AdoHe), Alibaba<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://zoom.us/my/sigcli)<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://zoom.us/my/sigcli)<br>
|[Cluster Lifecycle](sig-cluster-lifecycle/README.md)|cluster-lifecycle|* [Luke Marsden](https://github.com/lukemarsden), Weave<br>* [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), Heptio<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) (weekly)](https://zoom.us/j/166836%E2%80%8B624)<br>* kubeadm Office Hours: [Wednesdays at 09:00 PT (Pacific Time) (weekly)](https://zoom.us/j/166836%E2%80%8B624)<br>* Cluster API working group: [Wednesdays at 10:00 PT (Pacific Time) (weekly)](https://zoom.us/j/166836%E2%80%8B624)<br>* kops Office Hours: [Fridays at 09:00 PT (Pacific Time) (biweekly)](https://zoom.us/my/k8ssigaws)<br>
|[Cluster Ops](sig-cluster-ops/README.md)|cluster-ops|* [Rob Hirschfeld](https://github.com/zehicle), RackN<br>* [Jaice Singer DuMars](https://github.com/jdumars), Microsoft<br>|* [Slack](https://kubernetes.slack.com/messages/sig-cluster-ops)<br>* [Mailing List](https://groups.google.com/forum/#!forum/kubernetes-sig-cluster-ops)|* Regular SIG Meeting: [Thursdays at 20:00 UTC (biweekly)](https://zoom.us/j/297937771)<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://zoom.us/j/7658488911)<br>
Expand Down
16 changes: 11 additions & 5 deletions sigs.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -510,19 +510,26 @@ sigs:
label: cli
leadership:
chairs:
- name: Maciej Szulik
github: soltysh
company: Red Hat
- name: Sean Sullivan
github: seans3
company: Google
leads:
- name: Maciej Szulik
github: soltysh
company: Red Hat
- name: Phillip Wittrock
github: pwittrock
company: Google
- name: Tony Ado
github: AdoHe
company: Alibaba
company: Google
emeritus_leads:
- name: Fabiano Franz
github: fabianofranz
company: Red Hat
- name: Tony Ado
github: AdoHe
company: Alibaba
meetings:
- description: Regular SIG Meeting
day: Wednesday
Expand Down Expand Up @@ -556,7 +563,6 @@ sigs:
- name: kubectl
owners:
- https://raw.githubusercontent.com/kubernetes/kubectl/master/OWNERS
- https://raw.githubusercontent.com/kubernetes/kubernetes/master/pkg/kubectl/OWNERS
- name: Cluster Lifecycle
dir: sig-cluster-lifecycle
mission_statement: >
Expand Down

0 comments on commit 9e04b7c

Please sign in to comment.