summaryrefslogtreecommitdiff
path: root/sig-cli/migrated-from-wiki
diff options
context:
space:
mode:
authorAaron Crickenberger <spiffxp@gmail.com>2017-12-21 16:22:20 -0500
committerAaron Crickenberger <spiffxp@gmail.com>2017-12-21 16:22:20 -0500
commit3a71b4ce20d0fbe4501f6210e5f8a68eb9cab569 (patch)
tree73f135fb694fca416edfc157a4d5609dfb29b3cb /sig-cli/migrated-from-wiki
parent309b27fa953456080dc56babc8e051943fb652fe (diff)
Migrate the remaining content out of the wiki
I anticipate much of this is obsolete or outdated. I outright deleted content for which I knew this to be the case. What remains is content I don't have direct knowledge of or control over. If you would rather I just delete it than dump in your SIG's directory, please speak up
Diffstat (limited to 'sig-cli/migrated-from-wiki')
-rw-r--r--sig-cli/migrated-from-wiki/README.md1
-rw-r--r--sig-cli/migrated-from-wiki/contributor-guide-building-your-kubernetes-tool.md64
-rw-r--r--sig-cli/migrated-from-wiki/roadmap-kubectl.md112
3 files changed, 177 insertions, 0 deletions
diff --git a/sig-cli/migrated-from-wiki/README.md b/sig-cli/migrated-from-wiki/README.md
new file mode 100644
index 00000000..c34a79fe
--- /dev/null
+++ b/sig-cli/migrated-from-wiki/README.md
@@ -0,0 +1 @@
+The content in here has been migrated from https://github.com/kubernetes/community/wiki and is likely severely out of date. Please contact this SIG if you have questions or ideas about where this content should go.
diff --git a/sig-cli/migrated-from-wiki/contributor-guide-building-your-kubernetes-tool.md b/sig-cli/migrated-from-wiki/contributor-guide-building-your-kubernetes-tool.md
new file mode 100644
index 00000000..bfcd4233
--- /dev/null
+++ b/sig-cli/migrated-from-wiki/contributor-guide-building-your-kubernetes-tool.md
@@ -0,0 +1,64 @@
+# Client Tool Release Publishing Guidelines
+
+Projects should publish releases for client side tools.
+
+## Go Projects
+
+### Static Linking
+
+See [Go executables are statically linked, except when they are not](http://matthewkwilliams.com/index.php/2014/09/28/go-executables-are-statically-linked-except-when-they-are-not/).
+
+
+- How to compile a statically linked binary: `go` file must be compiled without cgo support.
+
+```sh
+# Disable cgo
+export CGO_ENABLED=0
+```
+
+- How to check if a binary is statically linked
+
+```sh
+# List dynamic dependencies (shared libraries):
+# 1. if it's dynamically linked, you'll see
+$ ldd <your_tool>
+ linux-vdso.so.1 => (0x00007ffe937ea000)
+ libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f0a7dae5000)
+ libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f0a7d720000)
+ /lib64/ld-linux-x86-64.so.2 (0x00007f0a7dd03000)
+# 2. if it's statically linked, you'll see
+$ ldd <your_tool>
+ not a dynamic executable
+
+# Recognize the type of data in a file
+# 1. if it's dynamically linked, you'll see
+$ file <your_tool>
+/usr/local/your_tool: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.32, BuildID[sha1]=86c6d2ff21297a06cc7319244f35e2671612beae, not stripped
+# 2. if it's statically linked, you'll see
+$ file <your_tool>
+/usr/local/your_tool: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), statically linked, not stripped
+```
+
+### Targets
+Build your release binary for the following targets:
+
+- darwin-amd64
+- linux-386
+- linux-amd64
+- linux-armv6l
+- linux-ppc64le
+- windows-amd64
+
+### Packaging
+
+Package binaries into a tar.gz file and make available on GitHub releases page.
+
+# Service Side Release Publishing Guidelines
+
+### Packaging
+
+Server side programs should be packaged into container images. Stateless services should be run as Deployments (as opposed to Replication Controllers).
+
+# Documentation Guidelines
+
+TODO: Write this
diff --git a/sig-cli/migrated-from-wiki/roadmap-kubectl.md b/sig-cli/migrated-from-wiki/roadmap-kubectl.md
new file mode 100644
index 00000000..ccc55b46
--- /dev/null
+++ b/sig-cli/migrated-from-wiki/roadmap-kubectl.md
@@ -0,0 +1,112 @@
+# kubectl roadmap
+
+`kubectl` is the Kubernetes CLI.
+
+If you'd like to contribute, please read the [conventions](https://github.com/kubernetes/community/blob/master/contributors/devel/kubectl-conventions.md) and familiarize yourself with [existing commands](http://kubernetes.io/docs/user-guide/kubectl-overview/).
+
+**Owner:** @kubernetes/kubectl
+
+**Label:** [component/kubectl](https://github.com/kubernetes/kubernetes/labels/component%2Fkubectl)
+
+**Motivation:** [kubectl brainstorm](https://docs.google.com/document/d/1tPrTL5Fi8BjlIK_XwNz-W260ll2ZYflrdbtnwE1PQoE/edit?pli=1#)
+
+### Add new commands / subcommands / flags
+* [Simplify support for multiple files](https://github.com/kubernetes/kubernetes/issues/24649)
+ * Manifest that can specify multiple files / http(s) URLs
+ * [Default manifest manifest](https://github.com/kubernetes/kubernetes/issues/3268) (ala Dockerfile or Makefile)
+ * Unpack archive (tgz, zip) and then invoke “-f” on that directory
+ * URL shortening via default URL prefix
+* [Imperative `set` commands](https://github.com/kubernetes/kubernetes/issues/21648)
+* [`view` commands](https://github.com/kubernetes/kubernetes/issues/29679)
+* [Support `run --edit` and `create --edit`](https://github.com/kubernetes/kubernetes/issues/18064)
+* [More `kubectl create <sub-command>`](https://github.com/kubernetes/kubernetes/issues/25382)
+* [Support `--dry-run` for every mutation](https://github.com/kubernetes/kubernetes/issues/11488)
+* kubectl commands aliases
+ * [Allow user defined aliases for resources and commands](https://github.com/kubernetes/kubernetes/issues/18023)
+ * [Suggest possibly matching kubectl commands](https://github.com/kubernetes/kubernetes/issues/25180)
+* Improve `kubectl run`
+ * Make generated objects more discoverable: suggest the user to do `kubectl get all` to see what's generated ([extend `all` to more resources](https://github.com/kubernetes/kubernetes/issues/22337))
+ * [Make it optional to specify name (auto generate name from image)](https://github.com/kubernetes/kubernetes/issues/2643)
+ * [Make `kubectl run --restart=Never` creates Pods (instead of Jobs)](https://github.com/kubernetes/kubernetes/issues/24533)
+* Create commands/flags for common get + template patterns (e.g. getting service IP address)
+* [Implement `kubectl cp`](https://github.com/kubernetes/kubernetes/issues/13776) to copy files between containers and local for debugging
+* `kubectl rollout`
+ * [Add `kubectl rollout start` to show how to start a rollout](https://github.com/kubernetes/kubernetes/issues/25142)
+ * [Add `kubectl rollout status`](https://github.com/kubernetes/kubernetes/issues/25235)
+* Scripting support
+ * [wait](https://github.com/kubernetes/kubernetes/issues/1899)
+ * [watch / IFTTT](https://github.com/kubernetes/kubernetes/issues/5164)
+* [Add `kubectl top`](https://github.com/kubernetes/kubernetes/issues/11382) which lists resource metrics.
+
+### Alternative interfaces
+
+* Create a terminal based console, ref [docker console](https://github.com/dustinlacewell/console) ([video](https://www.youtube.com/watch?v=wSzZxbDYgtY))
+* [Add `kubectl sh`, an interactive shell](https://github.com/kubernetes/kubernetes/issues/25385), or make a kubectlshell in contrib and make bash completion part of it (ref [pythonshell](https://gist.github.com/bprashanth/9a3c8dfbba443698ddd960b8087107bf))
+* Think about how/whether to invoke generation commands such as `kubectl run` or `kubectl create configmap` in bulk, declaratively, such as part of the `apply` flow.
+* [ChatOps](https://www.pagerduty.com/blog/what-is-chatops/) bot -- such as [kubebot](https://github.com/harbur/kubebot) (add to tools documentation)
+
+### Improve help / error messages / output
+* Make kubectl functionality more discoverable
+ * [Overhaul kubectl help](https://github.com/kubernetes/kubernetes/issues/16089)
+ * ~~[Print "Usage" at the bottom](https://github.com/kubernetes/kubernetes/issues/7496)~~
+ * Add keywords (critical words) to help
+ * List valid resources for each command
+ * Make short description of each command more concrete; use the same language for each command
+ * Link to docs ([kubernetes.io/docs](http://kubernetes.io/docs))
+ * [Update `kubectl help` descriptions and examples from docs](https://github.com/kubernetes/kubernetes/issues/25290)
+ * Embed formatting and post-process for different media (terminal, man, github, etc.)
+ * [Suppress/hide global flags](https://github.com/kubernetes/kubernetes/issues/23402)
+ * ~~[Categorize kubectl commands or list them in alphabetical order]~~(https://github.com/kubernetes/kubernetes/issues/21585)
+ * [Implement search in `kubectl help`](https://github.com/kubernetes/kubernetes/issues/25234)
+ * [Suggest next/alternative commands](https://github.com/kubernetes/kubernetes/issues/19736)
+ * [Add a verbosity flag that explains all the things that it's doing](https://github.com/kubernetes/kubernetes/issues/25272)
+ * ~~[Fix incomplete kubectl bash completion](https://github.com/kubernetes/kubernetes/issues/25287)~~
+* Improve error messages (note that not all of these problems are in kubectl itself)
+ * [when kubectl doesn’t know what cluster to talk to](https://github.com/kubernetes/kubernetes/issues/24420)
+ * ~~[non-existent namespace produces obscure error](https://github.com/kubernetes/kubernetes/issues/15542)~~
+ * [line numbers with validation errors](https://github.com/kubernetes/kubernetes/issues/12231)
+ * [invalid lines with validation errors](https://github.com/kubernetes/kubernetes/issues/6132)
+ * [malformed inputs produce misleading error messages](https://github.com/kubernetes/kubernetes/issues/9012)
+ * [non-yaml/json produces obscure error](https://github.com/kubernetes/kubernetes/issues/8838)
+ * [error messages for non-existent groups/types](https://github.com/kubernetes/kubernetes/issues/19530)
+ * Suggest resource type when not provided (e.g. `kubectl get my-pod-name` should suggest running `kubectl get pod/my-pod-name`)
+ * [errors for other non-existent resources](https://github.com/kubernetes/kubernetes/issues/6703)
+ * [lack of apiVersion/kind produces confusing error messages](https://github.com/kubernetes/kubernetes/issues/6439)
+ * [update validation errors could be more informative](https://github.com/kubernetes/kubernetes/issues/8668)
+ * [field validation errors could be more helpful](https://github.com/kubernetes/kubernetes/issues/10534)
+ * [field errors should use json field names](https://github.com/kubernetes/kubernetes/issues/3084)
+ * [clearer error for bad image/registry](https://github.com/kubernetes/kubernetes/issues/7960)
+ * [no error for illegal scale](https://github.com/kubernetes/kubernetes/issues/11148)
+ * [deletion timeout doesn't provide any details](https://github.com/kubernetes/kubernetes/issues/19427)
+ * [service creation timeout doesn't provide any details](https://github.com/kubernetes/kubernetes/issues/4860)
+ * [create secret with invalid data has obscure error message](https://github.com/kubernetes/kubernetes/issues/10309)
+ * [--all-namespaces error is unclear](https://github.com/kubernetes/kubernetes/issues/15834)
+ * [exec has unclear errors](https://github.com/kubernetes/kubernetes/issues/9944)
+ * [logs has misleading errors](https://github.com/kubernetes/kubernetes/issues/6376)
+ * [improve error reporting by adding URLs](https://github.com/kubernetes/kubernetes/issues/5551)
+ * Improve jsonpath / gotemplate error messages (it's tricky to get the path just right)
+ * [error message for user with no permissions is extremely cryptic](https://github.com/kubernetes/kubernetes/issues/26909)
+* [Cleanup `kubectl get/describe` output](https://github.com/kubernetes/kubernetes/issues/20941)
+ * [Clarify kubectl get/describe service output](https://github.com/kubernetes/kubernetes/issues/22702)
+* [Define and document command conventions for users](https://github.com/kubernetes/kubernetes/issues/25388)
+
+### Bug fix
+* Fix [apply](https://github.com/kubernetes/kubernetes/issues?utf8=%E2%9C%93&q=is%3Aopen+label%3Acomponent%2Fkubectl+label%3Akind%2Fbug+apply), [edit](https://github.com/kubernetes/kubernetes/issues?utf8=%E2%9C%93&q=is%3Aopen+label%3Acomponent%2Fkubectl+label%3Akind%2Fbug+edit), and [validate](https://github.com/kubernetes/kubernetes/issues?utf8=%E2%9C%93&q=is%3Aopen+label%3Acomponent%2Fkubectl+label%3Akind%2Fbug+validate) bugs
+
+### Installation / Release
+* `gcloud` should enable kubectl bash completion when installing `kubectl`
+* [Pipe-to-sh to install kubectl](https://github.com/kubernetes/kubernetes/issues/25386)
+* [Static build of kubectl for containers](https://github.com/kubernetes/kubernetes/issues/23708) ([we have it](https://github.com/kubernetes/kubernetes/tree/master/examples/kubectl-container), but it's not part of the release)
+
+### Others
+* [Move functionality to server](https://github.com/kubernetes/kubernetes/issues/12143)
+* [Eliminate round-trip conversion of API objects in kubectl](https://github.com/kubernetes/kubernetes/issues/3955)
+* [Move preferences out of kubeconfig](https://github.com/kubernetes/kubernetes/issues/10693)
+* And then add more preferences
+ * Enable/disable explanatory mode (see [kploy output](http://kubernetes.sh/kploy/))
+ * Permanently disable warnings once displayed
+ * Default labels as columns
+ * Default `--record`, `--save-config`, etc.
+* [Overhaul cluster-related commands](https://github.com/kubernetes/kubernetes/issues/20605)
+ * [Delete cluster from `kubectl config`](https://github.com/kubernetes/kubernetes/issues/25601)
+* ~~["kubectl-only Ubernetes": enabe kubectl to target any one of many clusters](https://github.com/kubernetes/kubernetes/issues/23492)~~