k3s/pkg/util
Kubernetes Submit Queue 409b0a6f5d Merge pull request #44222 from fabianofranz/better_generic_getters_and_describers
Automatic merge from submit-queue (batch tested with PRs 44222, 44614, 44292, 44638)

Smarter generic getters and describers

Makes printers and describers smarter for generic resources.

This traverses unstructured objects and prints their attributes for generic resources (TPR, federated API, etc) in `kubectl get` and `kubectl describe`. Makes use of the object's field names to come up with a best guess for describer labels and get headers, and field value types to understand how to better print it, indent, etc.

A nice intermediate solution while we don't have [get and describe extensions](https://github.com/kubernetes/community/pull/308).

Examples:

```
$ kubectl get serviceclasses
NAME                    KIND                                          BINDABLE   BROKER NAME   OSB GUID
user-provided-service   ServiceClass.v1alpha1.servicecatalog.k8s.io   false      ups-broker    4f6e6cf6-ffdd-425f-a2c7-3c9258ad2468
```

```
$ kubectl describe serviceclasses/user-provided-service
Name:		user-provided-service
Namespace:	
Labels:		<none>
Annotations:	FOO=BAR
		openshift.io/deployment.phase=test
OSB Metadata:	<nil>
Kind:		ServiceClass
Metadata:
  Self Link:		/apis/servicecatalog.k8s.io/v1alpha1/serviceclassesuser-provided-service
  UID:			1509bd96-1b05-11e7-98bd-0242ac110006
  Resource Version:	256
  Creation Timestamp:	2017-04-06T20:10:29Z
Broker Name:		ups-broker
Bindable:		false
Plan Updatable:		false
OSB GUID:		4f6e6cf6-ffdd-425f-a2c7-3c9258ad2468
API Version:		servicecatalog.k8s.io/v1alpha1
Plans:
  Name:		default
  OSB GUID:	86064792-7ea2-467b-af93-ac9694d96d52
  OSB Free:	true
  OSB Metadata:	<nil>
Events:		<none>
```

**Release note**:
```release-note
Improved output on 'kubectl get' and 'kubectl describe' for generic objects.
```
PTAL @pmorie @pwittrock @kubernetes/sig-cli-pr-reviews
2017-04-18 17:41:59 -07:00
..
async Enable auto-generating sources rules 2017-01-05 14:14:13 -08:00
bandwidth autogenerated 2017-04-14 10:40:57 -07:00
chmod Enable auto-generating sources rules 2017-01-05 14:14:13 -08:00
chown Enable auto-generating sources rules 2017-01-05 14:14:13 -08:00
config autogenerated 2017-04-14 10:40:57 -07:00
configz Enable auto-generating sources rules 2017-01-05 14:14:13 -08:00
crlf Enable auto-generating sources rules 2017-01-05 14:14:13 -08:00
dbus autogenerated 2017-04-14 10:40:57 -07:00
ebtables Enable auto-generating sources rules 2017-01-05 14:14:13 -08:00
env autogenerated 2017-04-14 10:40:57 -07:00
errors add back just enough empty packages to allow heapster cycles to succeed 2017-01-17 08:07:30 -05:00
exec Add support for attacher/detacher interface in Flex volume 2017-02-24 20:18:06 -05:00
flock pkg/util/flock: Fix the flock so it actually locks. 2017-03-13 14:24:59 -07:00
framer add back just enough empty packages to allow heapster cycles to succeed 2017-01-17 08:07:30 -05:00
goroutinemap autogenerated 2017-04-14 10:40:57 -07:00
hash Merge pull request #42085 from cblecker/gofmt-fix 2017-04-17 15:39:07 -07:00
i18n autogenerated 2017-04-14 10:40:57 -07:00
initsystem Enable auto-generating sources rules 2017-01-05 14:14:13 -08:00
interrupt Enable auto-generating sources rules 2017-01-05 14:14:13 -08:00
intstr move util/intstr to apimachinery 2017-01-30 12:46:59 -05:00
io autogenerated 2017-04-14 10:40:57 -07:00
ipconfig autogenerated 2017-04-14 10:40:57 -07:00
iptables autogenerated 2017-04-14 10:40:57 -07:00
json add back just enough empty packages to allow heapster cycles to succeed 2017-01-17 08:07:30 -05:00
keymutex autogenerated 2017-04-14 10:40:57 -07:00
labels autogenerated 2017-04-14 10:40:57 -07:00
limitwriter Enable auto-generating sources rules 2017-01-05 14:14:13 -08:00
logs autogenerated 2017-04-14 10:40:57 -07:00
maps Enable auto-generating sources rules 2017-01-05 14:14:13 -08:00
metrics autogenerated 2017-04-14 10:40:57 -07:00
mount autogenerated 2017-04-14 10:40:57 -07:00
net add back just enough empty packages to allow heapster cycles to succeed 2017-01-17 08:07:30 -05:00
netsh autogenerated 2017-04-14 10:40:57 -07:00
node autogenerated 2017-04-14 10:40:57 -07:00
oom autogenerated 2017-04-14 10:40:57 -07:00
parsers autogenerated 2017-04-14 10:40:57 -07:00
procfs autogenerated 2017-04-14 10:40:57 -07:00
rand move pkg/util/rand 2017-01-16 16:04:03 -05:00
removeall autogenerated 2017-04-14 10:40:57 -07:00
resourcecontainer autogenerated 2017-04-14 10:40:57 -07:00
rlimit Enable auto-generating sources rules 2017-01-05 14:14:13 -08:00
runtime add back just enough empty packages to allow heapster cycles to succeed 2017-01-17 08:07:30 -05:00
selinux autogenerated 2017-04-14 10:40:57 -07:00
sets add back just enough empty packages to allow heapster cycles to succeed 2017-01-17 08:07:30 -05:00
slice Smarter describer for generic resources 2017-04-17 15:42:47 -03:00
strings Enable auto-generating sources rules 2017-01-05 14:14:13 -08:00
sysctl Enable auto-generating sources rules 2017-01-05 14:14:13 -08:00
system autogenerated 2017-04-14 10:40:57 -07:00
tail Limit the size of the termination log and allow log input 2017-01-23 12:26:38 -05:00
taints autogenerated 2017-04-14 10:40:57 -07:00
term Merge pull request #44506 from caesarxuchao/fix-cross-build 2017-04-14 14:51:06 -07:00
threading autogenerated 2017-04-14 10:40:57 -07:00
tolerations Auto-generated stuff. 2017-04-06 16:15:34 -04:00
uuid Update generated files 2017-01-25 19:49:45 +01:00
validation add back just enough empty packages to allow heapster cycles to succeed 2017-01-17 08:07:30 -05:00
version Enable auto-generating sources rules 2017-01-05 14:14:13 -08:00
wait add back just enough empty packages to allow heapster cycles to succeed 2017-01-17 08:07:30 -05:00
workqueue/prometheus autogenerated 2017-04-14 10:40:57 -07:00
yaml add back just enough empty packages to allow heapster cycles to succeed 2017-01-17 08:07:30 -05:00
BUILD autogenerated 2017-04-14 10:40:57 -07:00
doc.go
template.go
template_test.go
umask.go
umask_windows.go delete ErrorTimeout() function and modify Umask() args 2017-01-12 11:05:30 +08:00
util.go kubelet: storage: don't hang kubelet on unresponsive nfs 2016-10-18 08:45:40 -05:00
util_test.go pkg/util: move CompileRegex helper into apiserver 2017-01-25 17:21:12 +01:00