diff --git a/OWNERS_ALIASES b/OWNERS_ALIASES index b98a14423..95edb8ae1 100644 --- a/OWNERS_ALIASES +++ b/OWNERS_ALIASES @@ -100,6 +100,9 @@ aliases: - ddebroy - marosset - michmike + wg-api-expression-leads: + - apelisse + - kwiesmueller wg-apply-leads: - lavalamp wg-component-standard-leads: diff --git a/communication/slack-config/channels.yaml b/communication/slack-config/channels.yaml index f7d128cc5..5dae834ec 100644 --- a/communication/slack-config/channels.yaml +++ b/communication/slack-config/channels.yaml @@ -345,6 +345,7 @@ channels: archived: true - name: wg-app-def archived: true + - name: wg-api-expression - name: wg-apply - name: wg-component-standard - name: wg-component-standard-mentorship diff --git a/sig-list.md b/sig-list.md index dc6c173f4..706517fcb 100644 --- a/sig-list.md +++ b/sig-list.md @@ -51,6 +51,7 @@ When the need arises, a [new SIG can be created](sig-wg-lifecycle.md) | Name | Stakeholder SIGs |Organizers | Contact | Meetings | |------|------------------|-----------|---------|----------| +|[API Expression](wg-api-expression/README.md)|* API Machinery
* Architecture
|* [Antoine Pelisse](https://github.com/apelisse), Google
* [Kevin Wiesmueller](https://github.com/kwiesmueller), //SEIBERT/MEDIA GmbH
|* [Slack](https://kubernetes.slack.com/messages/wg-api-expression)
* [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)
|[Apply](wg-apply/README.md)|* API Machinery
* CLI
|* [Daniel Smith](https://github.com/lavalamp), Google
|* [Slack](https://kubernetes.slack.com/messages/wg-apply)
* [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)
|[Component Standard](wg-component-standard/README.md)|* API Machinery
* Architecture
* Cluster Lifecycle
|* [Michael Taufen](https://github.com/mtaufen), Google
* [Leigh Capili](https://github.com/stealthybox), Weaveworks
* [Dr. Stefan Schimanski](https://github.com/sttts), Red Hat
|* [Slack](https://kubernetes.slack.com/messages/wg-component-standard)
* [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)
* Weekly Mentorship Office Hours - Come ask questions and get help: [Tuesdays at 10:00 PT (Pacific Time) (weekly)](https://zoom.us/j/8027741546)
|[Data Protection](wg-data-protection/README.md)|* Apps
* Storage
|* [Xing Yang](https://github.com/xing-yang), VMware
* [Xiangqian Yu](https://github.com/yuxiangqian), Google
|* [Slack](https://kubernetes.slack.com/messages/wg-data-protection)
* [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)
diff --git a/sigs.yaml b/sigs.yaml index 255215afd..ef8e99761 100644 --- a/sigs.yaml +++ b/sigs.yaml @@ -2363,9 +2363,42 @@ sigs: owners: - https://raw.githubusercontent.com/kubernetes-sigs/sig-windows-tools/master/OWNERS workinggroups: +- dir: wg-api-expression + name: API Expression + mission_statement: > + 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: + - API Machinery + - Architecture + label: api-expression + leadership: + chairs: + - 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://calendar.google.com/calendar/embed?src=seibert-media.net_s7j7r6giqmr2l6g8ev5idh3ij8%40group.calendar.google.com&ctz=Europe%2FBerlin + contact: + slack: wg-api-expression + mailing_list: https://groups.google.com/forum/#!forum/kubernetes-wg-api-expression - dir: wg-apply name: Apply mission_statement: > + 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. diff --git a/wg-api-expression/OWNERS b/wg-api-expression/OWNERS new file mode 100644 index 000000000..d385de4b6 --- /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 000000000..9eb907965 --- /dev/null +++ b/wg-api-expression/README.md @@ -0,0 +1,63 @@ + +# 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) + + +## 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)]. + + diff --git a/wg-apply/README.md b/wg-apply/README.md index e159dea30..46556987e 100644 --- a/wg-apply/README.md +++ b/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)