Skip to content

Commit 30dd308

Browse files
committed
Updated CLI roadmap. Fixes kubernetes#5993.
Also added a couple links to api.md.
1 parent be0fedd commit 30dd308

File tree

3 files changed

+14
-15
lines changed

3 files changed

+14
-15
lines changed

docs/cli-roadmap.md

+10-14
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,7 @@ See also issues with the following labels:
55
* [component/CLI](https://github.com/GoogleCloudPlatform/kubernetes/labels/component%2FCLI)
66
* [component/client](https://github.com/GoogleCloudPlatform/kubernetes/labels/component%2Fclient)
77

8-
1. Kind-based filtering on object streams -- only operate on the kinds of objects specified. This would make directory-based kubectl operations much more useful. Users should be able to instantiate the example applications using `kubectl create -f <example-dir> ...`
98
1. Create services before other objects, or at least before objects that depend upon them. Namespace-relative DNS mitigates this some, but most users are still using service environment variables. [#1768](https://github.com/GoogleCloudPlatform/kubernetes/issues/1768)
10-
1. Pretty printing of endpoints
11-
1. Service address/port lookup command(s)
129
1. Finish rolling update [#1353](https://github.com/GoogleCloudPlatform/kubernetes/issues/1353)
1310
1. Friendly to auto-scaling [#2863](https://github.com/GoogleCloudPlatform/kubernetes/pull/2863#issuecomment-69701562)
1411
1. Rollback (make rolling-update reversible, and complete an in-progress rolling update by taking 2 replication controller names rather than always taking a file)
@@ -17,27 +14,29 @@ See also issues with the following labels:
1714
1. Use readiness [#620](https://github.com/GoogleCloudPlatform/kubernetes/issues/620)
1815
1. Perhaps factor this in a way that it can be shared with [Openshift’s deployment controller](https://github.com/GoogleCloudPlatform/kubernetes/issues/1743)
1916
1. Rolling update service as a plugin
20-
1. List supported API versions
17+
1. Kind-based filtering on object streams -- only operate on the kinds of objects specified. This would make directory-based kubectl operations much more useful. Users should be able to instantiate the example applications using `kubectl create -f <example-dir> ...`
18+
1. Improved pretty printing of endpoints, such as in the case that there are more than a few endpoints
19+
1. Service address/port lookup command(s)
2120
1. List supported resources
2221
1. Swagger lookups [#3060](https://github.com/GoogleCloudPlatform/kubernetes/issues/3060)
2322
1. --name, --name-suffix applied during creation and updates
2423
1. --labels and opinionated label injection: --app=foo, --tier={fe,cache,be,db}, --uservice=redis, --env={dev,test,prod}, --stage={canary,final}, --track={hourly,daily,weekly}, --release=0.4.3c2. Exact ones TBD. We could allow arbitrary values -- the keys are important. The actual label keys would be (optionally?) namespaced with kubectl.kubernetes.io/, or perhaps the user’s namespace.
2524
1. --annotations and opinionated annotation injection: --description, --revision
26-
1. Bulk updates (similar to get, create, delete)
2725
1. Imperative updates. We'll want to optionally make these safe(r) by supporting preconditions based on the current value and resourceVersion.
2826
1. annotation updates similar to label updates
29-
1. more user-friendly on-command-line json for patch
27+
1. other custom commands for common imperative updates
28+
1. more user-friendly (but still generic) on-command-line json for patch
3029
1. We also want to support the following flavors of more general updates:
3130
1. whichever we don’t support:
3231
1. safe update: update the full resource, guarded by resourceVersion precondition (and perhaps selected value-based preconditions)
3332
1. forced update: update the full resource, blowing away the previous Spec without preconditions; delete and re-create if necessary
34-
1. diff/dryrun: Compare new config with current Spec
33+
1. diff/dryrun: Compare new config with current Spec [#6284](https://github.com/GoogleCloudPlatform/kubernetes/issues/6284)
3534
1. submit/apply/reconcile/ensure/merge: Merge user-provided fields with current Spec. Keep track of user-provided fields using an annotation -- see [#1702](https://github.com/GoogleCloudPlatform/kubernetes/issues/1702). Delete all objects with deployment-specific labels.
3635
1. --dry-run for all commands
3736
1. Support full label selection syntax, including support for namespaces.
3837
1. Wait on conditions [#1899](https://github.com/GoogleCloudPlatform/kubernetes/issues/1899)
3938
1. Make kubectl scriptable: make output and exit code behavior consistent and useful for wrapping in workflows and piping back into kubectl and/or xargs (e.g., dump full URLs?, distinguish permanent and retry-able failure, identify objects that should be retried)
40-
1. Here's [an example](http://techoverflow.net/blog/2013/10/22/docker-remove-all-images-and-containers/) where multiple objects on the command line and an option to dump object names only (`-q`) would be useful in combination.
39+
1. Here's [an example](http://techoverflow.net/blog/2013/10/22/docker-remove-all-images-and-containers/) where multiple objects on the command line and an option to dump object names only (`-q`) would be useful in combination. [#5906](https://github.com/GoogleCloudPlatform/kubernetes/issues/5906)
4140
1. Easy generation of clean configuration files from existing objects (including containers -- podex) -- remove readonly fields, status
4241
1. Export from one namespace, import into another is an important use case
4342
1. Derive objects from other objects
@@ -53,10 +52,11 @@ See also issues with the following labels:
5352
1. More intelligent defaulting of fields (e.g., [#2643](https://github.com/GoogleCloudPlatform/kubernetes/issues/2643))
5453
1. Update preconditions based on the values of arbitrary object fields.
5554
1. Deployment manager compatibility on GCP: [#3685](https://github.com/GoogleCloudPlatform/kubernetes/issues/3685)
55+
1. Describe multiple objects, multiple kinds of objects [#5905](https://github.com/GoogleCloudPlatform/kubernetes/issues/5905)
56+
1. Support yaml document separator [#5840](https://github.com/GoogleCloudPlatform/kubernetes/issues/5840)
5657

5758
TODO:
5859
* watch
59-
* ssh [#1513](https://github.com/GoogleCloudPlatform/kubernetes/issues/1513)
6060
* attach [#1521](https://github.com/GoogleCloudPlatform/kubernetes/issues/1521)
6161
* image/registry commands
6262
* do any other server paths make sense? validate? generic curl functionality?
@@ -65,17 +65,13 @@ TODO:
6565

6666
Server-side support:
6767

68-
Only finishing v1beta3 is a requirement for 1.0. The others are strong nice-to-haves.
69-
70-
1. Finish v1beta3
7168
1. Default selectors from labels [#1698](https://github.com/GoogleCloudPlatform/kubernetes/issues/1698#issuecomment-71048278)
72-
1. List supported resources [#2057](https://github.com/GoogleCloudPlatform/kubernetes/issues/2057)
7369
1. Stop [#1535](https://github.com/GoogleCloudPlatform/kubernetes/issues/1535)
7470
1. Deleted objects [#2789](https://github.com/GoogleCloudPlatform/kubernetes/issues/2789)
7571
1. Clone [#170](https://github.com/GoogleCloudPlatform/kubernetes/issues/170)
7672
1. Resize [#1629](https://github.com/GoogleCloudPlatform/kubernetes/issues/1629)
7773
1. Useful /operations API: wait for finalization/reification
78-
1. Readiness [#620](https://github.com/GoogleCloudPlatform/kubernetes/issues/620)
74+
1. List supported resources [#2057](https://github.com/GoogleCloudPlatform/kubernetes/issues/2057)
7975
1. Reverse label lookup [#1348](https://github.com/GoogleCloudPlatform/kubernetes/issues/1348)
8076
1. Field selection [#1362](https://github.com/GoogleCloudPlatform/kubernetes/issues/1362)
8177
1. Field filtering [#1459](https://github.com/GoogleCloudPlatform/kubernetes/issues/1459)

docs/overview.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ Every resource in Kubernetes, such as a pod, is identified by a URI and has a UI
1818

1919
Other details:
2020

21-
* [API](api-conventions.md)
21+
* [API](api.md)
2222
* [Client libraries](client-libraries.md)
2323
* [Command-line interface](kubectl.md)
2424
* [UI](ui.md)

docs/user-guide.md

+3
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,9 @@ kubernetes API, or to contribute directly to the kubernetes project.
3838
(e.g. ssh keys, passwords) separately from the Pods that use them, protecting
3939
the sensitive data from proliferation by tools that process pods.
4040

41+
* **API Overview** ([api.md](api.md)): Pointers to API documentation on various topics
42+
and explanation of Kubernetes's approaches to API changes and API versioning.
43+
4144
* **Accessing the API** ([accessing_the_api.md](accessing_the_api.md)):
4245
Ports, IPs, proxies, and firewall rules.
4346

0 commit comments

Comments
 (0)