summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKubernetes Prow Robot <k8s-ci-robot@users.noreply.github.com>2020-04-13 16:33:11 -0700
committerGitHub <noreply@github.com>2020-04-13 16:33:11 -0700
commit8da0b5f127f8257d11b2f2e66d82036f2c910341 (patch)
tree1adc47696bb4601bc70dc7a65500f4b3e779f7cb
parent1d1be7633826e4a79a0ca38c4e0e4954c3907b31 (diff)
parent6cfb8e15a69c464cd1249c1cf5a8bc1f13b9b58b (diff)
Merge pull request #4655 from kwiesmueller/wg-apex
Add WG API Expression
-rw-r--r--OWNERS_ALIASES5
-rw-r--r--archive/wg-apply/OWNERS (renamed from wg-apply/OWNERS)0
-rw-r--r--archive/wg-apply/README.md (renamed from wg-apply/README.md)2
-rw-r--r--communication/slack-config/channels.yaml2
-rw-r--r--sig-list.md2
-rw-r--r--sigs.yaml28
-rw-r--r--wg-api-expression/OWNERS8
-rw-r--r--wg-api-expression/README.md63
8 files changed, 94 insertions, 16 deletions
diff --git a/OWNERS_ALIASES b/OWNERS_ALIASES
index 3a03a25c..46b35a87 100644
--- a/OWNERS_ALIASES
+++ b/OWNERS_ALIASES
@@ -101,8 +101,9 @@ aliases:
- ddebroy
- marosset
- michmike
- wg-apply-leads:
- - lavalamp
+ wg-api-expression-leads:
+ - apelisse
+ - kwiesmueller
wg-component-standard-leads:
- mtaufen
- stealthybox
diff --git a/wg-apply/OWNERS b/archive/wg-apply/OWNERS
index 3cc807c9..3cc807c9 100644
--- a/wg-apply/OWNERS
+++ b/archive/wg-apply/OWNERS
diff --git a/wg-apply/README.md b/archive/wg-apply/README.md
index e159dea3..46556987 100644
--- a/wg-apply/README.md
+++ b/archive/wg-apply/README.md
@@ -8,6 +8,8 @@ To understand how this file is generated, see https://git.k8s.io/community/gener
--->
# Apply Working Group
+Superseded by [wg-api-expression](/wg-api-expression/README.md).
+
Improve the state of declarative object management by fixing `kubectl apply`, moving the logic from the client to the server. This move also enables new/fixed features included in the scope of this working-group: diff, dry-run and prune.
Resources can be found in [this Google drive folder](https://drive.google.com/drive/folders/1wlpgkS2gFZXdp4x2WlRsfUBxkFlt2Gx0)
diff --git a/communication/slack-config/channels.yaml b/communication/slack-config/channels.yaml
index 5fa36ed3..83f37b84 100644
--- a/communication/slack-config/channels.yaml
+++ b/communication/slack-config/channels.yaml
@@ -349,7 +349,9 @@ channels:
archived: true
- name: wg-app-def
archived: true
+ - name: wg-api-expression
- name: wg-apply
+ archived: true
- name: wg-component-standard
- name: wg-component-standard-mentorship
- name: wg-data-protection
diff --git a/sig-list.md b/sig-list.md
index a7f82bf7..0f00381b 100644
--- a/sig-list.md
+++ b/sig-list.md
@@ -51,7 +51,7 @@ When the need arises, a [new SIG can be created](sig-wg-lifecycle.md)
| Name | Stakeholder SIGs |Organizers | Contact | Meetings |
|------|------------------|-----------|---------|----------|
-|[Apply](wg-apply/README.md)|* API Machinery<br>* CLI<br>|* [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) (biweekly)](https://docs.google.com/document/d/1FQx0BPlkkl1Bn0c9ocVBxYIKojpmrS1CFP5h0DI68AE/edit)<br>
+|[API Expression](wg-api-expression/README.md)|* API Machinery<br>* Architecture<br>|* [Antoine Pelisse](https://github.com/apelisse), Google<br>* [Kevin Wiesmueller](https://github.com/kwiesmueller), //SEIBERT/MEDIA GmbH<br>|* [Slack](https://kubernetes.slack.com/messages/wg-api-expression)<br>* [Mailing List](https://groups.google.com/forum/#!forum/kubernetes-wg-api-expression)|* Regular WG Meeting: [Tuesdays at 9:30 PT (Pacific Time) (biweekly)](https://calendar.google.com/calendar/embed?src=seibert-media.net_s7j7r6giqmr2l6g8ev5idh3ij8%40group.calendar.google.com&ctz=Europe%2FBerlin)<br>
|[Component Standard](wg-component-standard/README.md)|* API Machinery<br>* Architecture<br>* Cluster Lifecycle<br>|* [Michael Taufen](https://github.com/mtaufen), Google<br>* [Leigh Capili](https://github.com/stealthybox), Weaveworks<br>* [Dr. Stefan Schimanski](https://github.com/sttts), Red Hat<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 (please join kubernetes-dev@googlegroups.com or kubernetes-wg-component-standard@googlegroups.com to access the notes): [Tuesdays at 08:30 PT (Pacific Time) (weekly)](https://zoom.us/j/8027741546)<br>* Weekly Mentorship Office Hours - Come ask questions and get help: [Tuesdays at 10:00 PT (Pacific Time) (weekly)](https://zoom.us/j/8027741546)<br>
|[Data Protection](wg-data-protection/README.md)|* Apps<br>* Storage<br>|* [Xing Yang](https://github.com/xing-yang), VMware<br>* [Xiangqian Yu](https://github.com/yuxiangqian), Google<br>|* [Slack](https://kubernetes.slack.com/messages/wg-data-protection)<br>* [Mailing List](https://groups.google.com/forum/#!forum/kubernetes-data-protection)|* Regular WG Meeting: [Wednesdays at 9:00 PT (Pacific Time) (bi-weekly)](https://zoom.us/j/6933410772)<br>
|[IoT Edge](wg-iot-edge/README.md)|* Multicluster<br>* Network<br>|* [Steve Wong](https://github.com/cantbewong), VMware<br>* [Cindy Xing](https://github.com/cindyxing), Microsoft<br>* [Dejan Bosanac](https://github.com/dejanb), Red Hat<br>* [Preston Holmes](https://github.com/ptone), Google<br>|* [Slack](https://kubernetes.slack.com/messages/wg-iot-edge)<br>* [Mailing List](https://groups.google.com/forum/#!forum/kubernetes-wg-iot-edge)|* APAC WG Meeting: [Wednesdays at 5:00 UTC (every four weeks)](https://zoom.us/j/760932414)<br>* Regular WG Meeting (Pacific Time): [Wednesdays at 09:00 PT (every four weeks)](https://zoom.us/j/760932414)<br>
diff --git a/sigs.yaml b/sigs.yaml
index 39aee7bd..e6658f50 100644
--- a/sigs.yaml
+++ b/sigs.yaml
@@ -2383,34 +2383,36 @@ sigs:
owners:
- https://raw.githubusercontent.com/kubernetes-sigs/sig-windows-tools/master/OWNERS
workinggroups:
-- dir: wg-apply
- name: Apply
+- dir: wg-api-expression
+ name: API Expression
mission_statement: >
- Improve the state of declarative object management by fixing `kubectl apply`,
- moving the logic from the client to the server. This move also enables new/fixed
- features included in the scope of this working-group: diff, dry-run and prune.
+ Enable API authors to better serve API consumers, by improving and documenting
+ all aspects of Kubernetes API development.
- Resources can be found in [this Google drive folder](https://drive.google.com/drive/folders/1wlpgkS2gFZXdp4x2WlRsfUBxkFlt2Gx0)
+ [See full Mission Statement](https://docs.google.com/document/d/1XYbQXfge2qKM9psksfC5XZnW8hybtLqL1EcJLU4JwKg).
stakeholder_sigs:
- API Machinery
- - CLI
- label: apply
+ - Architecture
+ label: api-expression
leadership:
chairs:
- - github: lavalamp
- name: Daniel Smith
+ - github: apelisse
+ name: Antoine Pelisse
company: Google
+ - github: kwiesmueller
+ name: Kevin Wiesmueller
+ company: //SEIBERT/MEDIA GmbH
meetings:
- description: Regular WG Meeting
day: Tuesday
time: "9:30"
tz: PT (Pacific Time)
frequency: biweekly
- url: https://docs.google.com/document/d/1FQx0BPlkkl1Bn0c9ocVBxYIKojpmrS1CFP5h0DI68AE/edit
+ url: https://calendar.google.com/calendar/embed?src=seibert-media.net_s7j7r6giqmr2l6g8ev5idh3ij8%40group.calendar.google.com&ctz=Europe%2FBerlin
contact:
- slack: wg-apply
- mailing_list: https://groups.google.com/forum/#!forum/kubernetes-wg-apply
+ slack: wg-api-expression
+ mailing_list: https://groups.google.com/forum/#!forum/kubernetes-wg-api-expression
- dir: wg-component-standard
name: Component Standard
mission_statement: >
diff --git a/wg-api-expression/OWNERS b/wg-api-expression/OWNERS
new file mode 100644
index 00000000..d385de4b
--- /dev/null
+++ b/wg-api-expression/OWNERS
@@ -0,0 +1,8 @@
+# See the OWNERS docs at https://go.k8s.io/owners
+
+reviewers:
+ - wg-api-expression-leads
+approvers:
+ - wg-api-expression-leads
+labels:
+ - wg/api-expression
diff --git a/wg-api-expression/README.md b/wg-api-expression/README.md
new file mode 100644
index 00000000..9eb90796
--- /dev/null
+++ b/wg-api-expression/README.md
@@ -0,0 +1,63 @@
+<!---
+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
+--->
+# API Expression Working Group
+
+Enable API authors to better serve API consumers, by improving and documenting all aspects of Kubernetes API development.
+[See full Mission Statement](https://docs.google.com/document/d/1XYbQXfge2qKM9psksfC5XZnW8hybtLqL1EcJLU4JwKg).
+
+## Stakeholder SIGs
+* SIG API Machinery
+* SIG Architecture
+
+## Meetings
+* Regular WG Meeting: [Tuesdays at 9:30 PT (Pacific Time)](https://calendar.google.com/calendar/embed?src=seibert-media.net_s7j7r6giqmr2l6g8ev5idh3ij8%40group.calendar.google.com&ctz=Europe%2FBerlin) (biweekly). [Convert to your timezone](http://www.thetimezoneconverter.com/?t=9:30&tz=PT%20%28Pacific%20Time%29).
+
+## Organizers
+
+* Antoine Pelisse (**[@apelisse](https://github.com/apelisse)**), Google
+* Kevin Wiesmueller (**[@kwiesmueller](https://github.com/kwiesmueller)**), //SEIBERT/MEDIA GmbH
+
+## Contact
+- Slack: [#wg-api-expression](https://kubernetes.slack.com/messages/wg-api-expression)
+- [Mailing list](https://groups.google.com/forum/#!forum/kubernetes-wg-api-expression)
+- [Open Community Issues/PRs](https://github.com/kubernetes/community/labels/wg%2Fapi-expression)
+<!-- BEGIN CUSTOM CONTENT -->
+
+## Full Mission Statement
+
+Joint project between SIG API Machinery and SIG Architecture.
+
+Supersedes WG Apply, since it is more general and covers post-GA SSA tasks.
+
+Deliverables:
+
+- Documented, coherent “desired state” for API schema features
+ - I.e., what sorts of things may a Kubernetes API schema express? (unions, immutable fields, pluralized fields (?), static field validations, defaults, etc)
+ - How should these things be expressed? Both in source form (“types.go”) and in published form (OpenAPI)? What should the canonical API schema expression form be, if not types.go? (if the group recommends a change, the group has to be willing to implement it!)
+ - For API specification, do we want to stick with “types.go”, move to a IDL/DSL, or something else?
+- Documented, coherent “desired state” for how API authors evolve APIs
+ - Covering version-to-version and within-version changes
+ - Should cover all kinds of schema changes, not just e.g. adding a field
+ - Categorize changes as 100% safe, unsafe-but-needed-anyway (see “ratcheting” below), and unsafe-not-permitted
+ - Give guidance both to API authors who
+ a) don’t need to keep old users working and
+ b) need to not break old users.
+- Tools for programmatically evaluating the safeness / conformance of an API change that can be run as presubmits. (Should operate on the output of the api definition pipeline, so that they’re language agnostic.)
+- Tools & techniques for gradually & safely rolling out marginally unsafe changes to make existing API objects good citizens (called “ratcheting”, usually in the context of validation functions, but API schema changes require the same thought).
+- If we need a DSL for API specification, write the tools & code needed.
+- Finish SSA and implement missing API constructs (unions etc).
+- Updated developer documentation / API guide (i.e., document the current state and not just the desired state)
+
+All artifacts above address both CRs and built-in resources
+
+API Machinery will be the owner of the code produced.
+
+[[Original Document](https://docs.google.com/document/d/1XYbQXfge2qKM9psksfC5XZnW8hybtLqL1EcJLU4JwKg)].
+
+<!-- END CUSTOM CONTENT -->