Commit Graph

715 Commits

Author SHA1 Message Date
Clayton Coleman
363b616908 Expose exec and logs via WebSockets
Not all clients and systems can support SPDY protocols. This commit adds
support for two new websocket protocols, one to handle streaming of pod
logs from a pod, and the other to allow exec to be tunneled over
websocket.

Browser support for chunked encoding is still poor, and web consoles
that wish to show pod logs may need to make compromises to display the
output. The /pods/<name>/log endpoint now supports websocket upgrade to
the 'binary.k8s.io' subprotocol, which sends chunks of logs as binary to
the client. Messages are written as logs are streamed from the container
daemon, so flushing should be unaffected.

Browser support for raw communication over SDPY is not possible, and
some languages lack libraries for it and HTTP/2. The Kubelet supports
upgrade to WebSocket instead of SPDY, and will multiplex STDOUT/IN/ERR
over websockets by prepending each binary message with a single byte
representing the channel (0 for IN, 1 for OUT, and 2 for ERR). Because
framing on WebSockets suffers from head-of-line blocking, clients and
other server code should ensure that no particular stream blocks. An
alternative subprotocol 'base64.channel.k8s.io' base64 encodes the body
and uses '0'-'9' to represent the channel for ease of use in browsers.
2015-10-09 14:33:40 -04:00
deads2k
05e84fafbe move HasConflicts to shareable location 2015-10-05 14:37:57 -04:00
deads2k
41e2a4c40f make patch handle conflicts gracefully 2015-10-05 14:37:57 -04:00
Alex Robinson
7c5b8f6a58 Merge pull request #14985 from deads2k/fix-anon-struct
fix patch for anonymous struct fields
2015-10-05 10:29:59 -07:00
Alex Robinson
66cbacc9c1 Merge pull request #14967 from liggitt/set_transport_defaults
Add util to set transport defaults
2015-10-05 10:29:32 -07:00
k8s-merge-robot
1b653ce1b8 Merge pull request #14889 from liggitt/honor-skip-validate
Auto commit by PR queue bot
2015-10-02 14:29:55 -07:00
deads2k
c4ca26f84d fix patch for anonymous struct fields 2015-10-02 16:32:37 -04:00
k8s-merge-robot
333eaf5893 Merge pull request #14710 from liggitt/authz_attr
Auto commit by PR queue bot
2015-10-02 09:18:13 -07:00
k8s-merge-robot
a413fd278f Merge pull request #14874 from derekparker/fix-json-patch-content-type
Auto commit by PR queue bot
2015-10-02 07:08:58 -07:00
k8s-merge-robot
f5adbb7e12 Merge pull request #14926 from caesarxuchao/fix-discovery-1
Auto commit by PR queue bot
2015-10-02 06:39:44 -07:00
Jerzy Szczepkowski
e485fafc17 Merge pull request #14901 from wojtek-t/debug_tests
Fix TestMaxInFlight
2015-10-02 11:23:14 +02:00
Jordan Liggitt
2a1286c8f2 Add util to set transport defaults 2015-10-02 02:29:46 -04:00
Jordan Liggitt
36a721e8b7 Honor InsecureSkipVerify flag 2015-10-02 02:26:04 -04:00
Jordan Liggitt
e024e55e8e Add verb to authorizer attributes 2015-10-01 23:54:02 -04:00
Chao Xu
4927cec3be fix groups exposes at apis/ 2015-10-01 18:32:42 -07:00
Wojciech Tyczynski
a659007f6a Fix TestMaxInFlight 2015-10-01 14:28:22 +02:00
Derek Parker
4745cc9d9a apiserver: Fix handling patch requests with charset
Fixes #14872
2015-09-30 14:03:27 -07:00
deads2k
df870cf36a remove Kind from APIRequestInfo 2015-09-30 09:46:22 -04:00
deads2k
8db054651c plumb APIGroup to authorization attributes and test 2015-09-30 09:45:10 -04:00
deads2k
dc8d0de70b update APIRequestInfo for APIGroup 2015-09-30 09:45:10 -04:00
Brendan Burns
c3a8dc0494 Deflake the max-in-flight limit test 2015-09-28 16:08:14 -07:00
Brendan Burns
8998219686 Add a method for encoding directly to a io.Writer and use it for HTTPx 2015-09-24 15:52:09 -07:00
Eric Tune
72992ae8f6 Merge pull request #14418 from gmarek/dead-code
Remove dead RateLimit function from API server handlers
2015-09-23 16:25:06 -07:00
Brendan Burns
77fd388485 Increase a bunch of timeouts to reduce flakes 2015-09-23 11:09:03 -07:00
gmarek
9d57f2c571 Remove dead RateLimit function from API server handlers 2015-09-23 13:44:37 +02:00
k8s-merge-robot
6c30a0e170 Merge pull request #13955 from caesarxuchao/API-discovery
Auto commit by PR queue bot
2015-09-21 14:01:36 -07:00
Chao Xu
1278771b34 let apiserver support api discovery 2015-09-21 12:20:24 -07:00
deads2k
630c6cc16a add patch verb to APIRequestInfo 2015-09-21 14:09:36 -04:00
nikhiljindal
4ee799e181 Fixing swagger spec 2015-09-18 12:26:21 -07:00
Daniel Martí
586cb9126a Move pkg/util.Time to pkg/api/unversioned.Time
Along with our time.Duration wrapper, as suggested by @lavalamp.
2015-09-17 17:51:27 -07:00
Kris
f4ad00d9ae Moving Status object to a common package 2015-09-17 14:09:53 -07:00
k8s-merge-robot
3b221fb074 Merge pull request #14049 from brendandburns/apiserver2
Auto commit by PR queue bot
2015-09-17 12:32:26 -07:00
feisky
800e8fb54c Fix kubelet logs --follow bug 2015-09-16 22:06:50 +08:00
Brendan Burns
3153c25ad5 Remove an asterix from the path parameter 2015-09-15 20:38:49 -07:00
Jeff Lowdermilk
9a8ce4867e Merge pull request #13952 from zhengguoyong/fix-apiserver
fix the optim of apiserver
2015-09-15 17:43:36 -07:00
eulerzgy
e401870b62 fix the optim of apiserver 2015-09-15 16:59:07 +08:00
k8s-merge-robot
79bc252163 Merge pull request #13525 from pweil-/register-to-existing
Auto commit by PR queue bot
2015-09-15 00:22:56 -07:00
Paul Weil
3c90d3a5ef allow installing rest to existing web service 2015-09-14 16:34:11 -04:00
Chao Xu
64bf839e9f refactor tests to use testapi rather than latest directly 2015-09-11 17:32:23 -07:00
Chao Xu
dd6c121d7f massive changes 2015-09-11 17:31:47 -07:00
tummychow
78ce5da988 Move util.StringSet into its own package
A lot of packages use StringSet, but they don't use anything else from
the util package. Moving StringSet into another package will shrink
their dependency trees significantly.
2015-09-10 12:04:15 -07:00
k8s-merge-robot
950e5d9a53 Merge pull request #13563 from a-robinson/timeout
Auto commit by PR queue bot
2015-09-09 18:52:14 -07:00
Chao Xu
9fc79e9d99 refactor testapi and test scripts to prepare for multiple API groups. 2015-09-04 18:01:32 -07:00
Ruddarraju, Uday Kumar Raju
f8d6f13f7c Union of authorizers 2015-09-04 11:04:50 -07:00
Alex Robinson
4b47cb93f3 Reduce the default apiserver timeout back down to 30 seconds.
It was originally raised due to slow load balancer creation (#5180), but
that was fixed months ago.
2015-09-03 17:50:23 +00:00
Brendan Burns
b196d0f84b Add support for installing custom object APIs 2015-08-31 21:13:36 -07:00
Jordan Liggitt
b5e8f7aa41 Recover panics in finishRequest, write correct API response 2015-08-31 14:55:18 -04:00
Nikhil Jindal
a09425d828 Merge pull request #10933 from andronat/swagger_auto_type_docs
Automatic Generation of Swagger Documentation in Types
2015-08-24 10:35:58 -07:00
Anastasis Andronidis
ff2fcd43f7 Added SwaggerDoc() in api-server 2015-08-22 02:26:04 +02:00
Yifan Gu
6376e41850 plugin/pkg/auth: add OpenID Connect token authenticator.
Also add related new flags to apiserver:
"--oidc-issuer-url", "--oidc-client-id", "--oidc-ca-file", "--oidc-username-claim",
to enable OpenID Connect authentication.
2015-08-21 15:27:08 -07:00