deads2k
6e1f680a57
return all errors from RESTStorage registration
2015-01-28 10:31:33 -05:00
nikhiljindal
de60600608
Making all operations synchronous
2015-01-27 18:47:56 -08:00
Satnam Singh
3a9e6d8f29
Switch to use Too Many Requests response code
...
Name the 429 status code
2015-01-27 14:54:30 -08:00
Satnam Singh
358ace610d
Merge pull request #3824 from smarterclayton/allow_panic_and_error_reporting
...
Allow panics and unhandled errors to be sent elsewhere
2015-01-27 13:18:43 -08:00
Mike Danese
5dc6362f8a
rename probe.Healthy to probe.Success and renam probe.Unhealthy to probe.Failure.
2015-01-27 11:20:30 -08:00
Mike Danese
a298402bd4
remove pkg/health and move everything over to pkg/probe
2015-01-27 11:20:30 -08:00
Brendan Burns
b078889360
Merge pull request #3822 from nikhiljindal/swaggerbug
...
Fixing a bug where Reads() was being called twice on POST routes
2015-01-27 10:01:27 -08:00
Clayton Coleman
19987612bf
Replace code that eats errors with a more consistent reporting
...
In order to allow certain programmer error / unexpected error states
to be captured, replace sections that log and eat errors with a method
that can be centrally replaced. This captures two common error sources,
replication errors, and apiserver code that returns invalid errors.
2015-01-26 20:54:29 -05:00
nikhiljindal
54e5d1f102
Fixing a bug where Reads() was called twice on all POST routes
2015-01-26 17:21:25 -08:00
Satnam Singh
8350bb9700
Add a Retry-After header when rate limit is exceeded
2015-01-22 16:03:00 -08:00
Brian Grant
3ae67f8153
Merge pull request #3548 from nikhiljindal/listHandlers
...
Updating handleIndex in master to list all valid paths.
2015-01-21 15:42:50 -08:00
nikhiljindal
51007cc798
Updating handleIndex in master to list all valid paths.
...
The list of valid paths is computed from http.ServeMux and
restful.WebService.
Adding a mux helper - wrapper over mux, that keeps track of the paths
handled by mux.
2015-01-21 13:40:01 -08:00
Anthony Yeh
8c900187b6
Add reverse proxy headers in apiserver proxy.
...
Fixes #3484
2015-01-19 13:15:41 -08:00
Nikhil Jindal
e6c5d59a55
Merge pull request #3509 from enisoc/apiserver-proxy-trailing-slash
...
Preserve trailing slash in apiserver proxy.
2015-01-15 15:13:49 -08:00
Nikhil Jindal
aeab434400
Merge pull request #3514 from enisoc/apiserver-proxy-content-type
...
Allow Content-Type with charset in apiserver proxy.
2015-01-15 15:07:07 -08:00
Clayton Coleman
90c835af47
The API server setup logging is debug specific, bump above V(4)
...
Reduces some chatter in test suites where we are confident this code
already works. Also removed any logging which is obvious from swagger.
Finally, rolls up InstallREST related errors all the way back to master,
which will glog.Fatalf (coding errors).
2015-01-15 14:25:58 -05:00
Anthony Yeh
895c23e2d2
Allow Content-Type with charset in apiserver proxy.
...
Fixes #3456
2015-01-14 23:01:49 -08:00
Anthony Yeh
6f641744ff
Preserve trailing slash in apiserver proxy.
...
Some servers are sensitive to the presence of a trailing slash.
For example, http://etcd/v2/keys returns 404 while
http://etcd/v2/keys/ returns the key named "/".
2015-01-14 21:42:34 -08:00
nikhiljindal
f8db96b673
Fixing a bug in
...
https://github.com/GoogleCloudPlatform/kubernetes/pull/3404 which broke
swagger-ui.
Swagger-ui requires operation to be defined on all Routes.
2015-01-12 15:20:01 -08:00
Daniel Smith
6f43074143
Merge pull request #3404 from smarterclayton/method_not_allowed
...
Allow RESTStorage objects to not implement methods
2015-01-12 13:21:10 -08:00
Clayton Coleman
d17f75f254
Remove user agent logging (doesn't add significant value)
...
We can reintroduce path/agent logging at a later point, this just clogs
verbose logs.
2015-01-12 13:37:37 -05:00
Clayton Coleman
22c99c98e2
Split RESTStorage into separate interfaces
...
Omit unimplemented interfaces from Swagger
2015-01-12 12:19:45 -05:00
nikhiljindal
7e909ed743
Changes to improve swagger ui.
...
- Separating out index, version and api handlers into independent web
services. Moved the index handler to /welcome, version handler to
/version and the api handler to /api,
2015-01-09 10:56:24 -08:00
Eric Tune
c2b3d678c0
Merge pull request #3248 from derekwaynecarr/admission_control_hooks
...
Implement basic admission control framework
2015-01-07 16:52:49 -08:00
derekwaynecarr
a56087cdf8
Remove client from attributes, remove admission control interface, fix-up error codes
2015-01-07 14:42:31 -05:00
derekwaynecarr
5ceffe2625
Add tests to ensure resthandler invokes admission control
2015-01-07 14:42:31 -05:00
derekwaynecarr
1e2b995a79
Fix admission control in tests
2015-01-07 14:42:31 -05:00
derekwaynecarr
520ae3ef27
Implement basic admission control framework
2015-01-07 14:42:31 -05:00
Clayton Coleman
31fc19efe9
Watching on invalid label/field selectors should error
2015-01-07 14:38:38 -05:00
Daniel Smith
4ab8f238ce
Fix proxy bug where it is confused by gzip encoding
2014-12-22 11:35:47 -08:00
Brendan Burns
5c14fc610b
Merge pull request #3045 from nikhiljindal/setApiVersion
...
Setting apiVersion in restful.WebService
2014-12-19 10:11:15 -08:00
nikhiljindal
cfee8f1355
done
2014-12-18 15:38:09 -08:00
derekwaynecarr
6694a45542
Add doc for {namespace} path param, fixup and verify proxy paths
2014-12-16 15:55:48 -05:00
derekwaynecarr
14dd466e83
Added namespace test case for POST to /pods
2014-12-16 15:55:48 -05:00
derekwaynecarr
7cf664439f
Move namespace from query param to path part
2014-12-16 15:55:47 -05:00
bgrant0607
9b40c52c24
Merge pull request #2910 from smarterclayton/small_v1beta3_refactors
...
Fix internal -> v1beta3 round trip issues
2014-12-15 13:21:12 -08:00
Clayton Coleman
b1b255f90a
Prevent infinite loop in apiserver errorJSON
2014-12-12 18:23:17 -05:00
Clayton Coleman
904d0d46c3
Rename ServerOp to Operation in v1beta3 and internal
...
Add the appropriate rename logic internally.
2014-12-12 18:08:41 -05:00
Brendan Burns
59b5546b28
Turn on node level validation, and make the validation set dynamic.
2014-12-10 22:02:45 -08:00
derekwaynecarr
ef25520baa
make selfLink namespace aware
2014-12-05 17:37:11 -05:00
Sam Ghods
6399854240
Remove unused YAML tags and GetYAML/SetYAML methods
...
Unneeded after move to ghodss/yaml.
2014-12-02 16:25:28 -08:00
Brian Grant
e18dcb87c4
Format JSON by default. Fixes #2243 .
2014-11-25 23:11:43 +00:00
Tim Hockin
95a9098311
fix 'go vet' warnings
2014-11-21 09:45:28 +08:00
Tim Hockin
ea960711ff
Clean up error logs.
...
Use %v for errors, tidy some messages, make error messages start lowe-case
(as per go guidelines). Just accumulated nits.
2014-11-21 09:45:26 +08:00
Jordan Liggitt
c895331277
Make master take authenticator.Request interface instead of tokenfile
2014-11-19 15:07:51 -05:00
Eric Paris
4e95104953
update code.goole.com/p/go.net to golang.org/x/net
...
https://groups.google.com/forum/#!topic/golang-nuts/eD8dh3T9yyA
2014-11-16 22:10:24 -05:00
Brian Grant
7583e1a643
Automatic API generation by adopting go-restful
2014-11-14 16:49:19 +00:00
Clayton Coleman
21a6e96418
Merge pull request #2126 from brendandburns/validatez
...
Add etcd to the list of services to validate.
2014-11-10 14:53:41 -05:00
Clayton Coleman
4acb8e5eaf
Merge pull request #2189 from lavalamp/fix
...
Add self links to objects sent down the watch channel.
2014-11-06 12:57:07 -05:00
Brendan Burns
d7dc20fd6a
Add etcd to the list of services to validate.
...
Also add minions.
2014-11-05 21:22:01 -08:00
Daniel Smith
4196780eda
Add self links to objects sent down the watch channel.
2014-11-05 17:22:18 -08:00
Eric Tune
6e81e8c896
Basic ACL file.
...
Added function to read basic ACL from a CSV file.
Added implementation of Authorize based on that file's policies.
Added docs on authentication and authorization.
Added example file and tested it.
2014-11-05 16:06:22 -08:00
Eric Tune
1668c6f107
Authorization based on namespace, kind, readonly.
...
Also, pass Authorizer into master.Config.
2014-11-03 17:45:15 -08:00
Eric Tune
3045035512
Get user from request and put in authz attribs.
...
Added integration tests for user-based auth.
2014-11-03 16:38:56 -08:00
Brendan Burns
f02fe2da1b
Deflake the TestCreate test, by adding an explicit wait.
2014-11-02 12:38:31 -08:00
Eric Tune
55c2d6bbbb
Add basic Authorization.
...
Added basic interface for authorizer implementations.
Added default "authorize everything" and "authorize nothing
implementations.
Added authorization check immediately after authentication check.
Added an integration test of authorization at the HTTP level of
abstraction.
2014-10-31 12:04:33 -07:00
Brendan Burns
563311071d
Merge pull request #2090 from ddysher/stop-httptest-server
...
Stop httptest server.
2014-10-30 21:44:53 -07:00
Deyuan Deng
acf9d23b32
Stop httptest server.
2014-10-30 21:37:08 -04:00
Daniel Smith
b28234fac6
Fix self linking of objects returned in lists.
2014-10-30 15:04:11 -07:00
derekwaynecarr
dda19071e3
Fix watch by namespace
2014-10-30 12:56:50 -04:00
Daniel Smith
3045311398
Fix subtle bug when proxy constructs outgoing URL.
2014-10-29 11:29:28 -07:00
Daniel Smith
7209ca1543
Make redirect handle namespaces just like proxy (which is weird and needs to be fixed but at least this will be consistent).
2014-10-29 11:29:28 -07:00
Daniel Smith
dca7363459
Serve API version list, test with an integration test.
2014-10-28 17:35:56 -07:00
Clayton Coleman
5cb3c10289
Merge pull request #1782 from smarterclayton/allow_put_to_set_create
...
Allow clients to determine the difference between create or update on PUT
2014-10-28 13:40:41 -04:00
Eric Tune
40a5ca034d
Integration test on master, not just apiserver.
...
Moved code from cmd/apiserver to pkg/master.
test/integration/client_test made to use a master object,
instead of an apiserver.Handle.
Subsequent PRs will move more handler-installation into
pkg/master, with the goal that every http.Handler of a
standalone apiserver process can also be tested
in a "testing"-style go test.
In particular, a subsequent PR will test
authorization.
2014-10-27 09:14:58 -07:00
Clayton Coleman
d5ee171410
Allow clients to determine the difference between create or update on PUT
...
PUT allows an object to be created (http 201). This allows REST code to
indicate an object has been created and clients to react to it.
APIServer now deals with <-chan RESTResult instead of <-chan runtime.Object,
allowing more data to be passed through.
2014-10-24 14:41:15 -04:00
Clayton Coleman
644eb70085
Refactor tests to split ObjectMeta from TypeMeta
2014-10-24 11:22:21 -04:00
Clayton Coleman
7550c146dc
Replace struct initializers for TypeMeta with ObjectMeta
2014-10-24 11:22:21 -04:00
Clayton Coleman
1ccb86c760
Rename methods in api/meta to be cleaner
2014-10-22 22:59:12 -04:00
Clayton Coleman
bb77a5d15f
Rename ID -> Name
2014-10-22 15:00:26 -04:00
Daniel Smith
91efe51770
Merge pull request #1829 from jhadvig/proxy_flush
...
Flush data periodically instead of their buffering
2014-10-21 17:01:15 -07:00
Tim Hockin
e8686429c4
Merge pull request #1916 from lavalamp/fix
...
Add read-only, rate limited endpoint
2014-10-20 16:42:46 -07:00
jhadvig
69c7228006
Flush data periodically instead of their buffering
2014-10-21 01:39:01 +02:00
Daniel Smith
9356ed7fe7
Add read-only, rate limited endpoint
2014-10-20 16:32:52 -07:00
derekwaynecarr
51aeb6bcd1
Add unit test for namespace aware proxy
2014-10-20 16:26:51 -04:00
Tim Hockin
c5388e9a30
Merge pull request #1884 from lavalamp/fix4
...
Get rid of old minion proxy code in favor of new, better proxy code
2014-10-20 11:50:52 -07:00
Daniel Smith
bf942e859f
remove old proxy code.
2014-10-20 11:28:12 -07:00
derekwaynecarr
5e01c804fd
Fixup apiserver proxy to be namespace aware
2014-10-20 10:39:16 -04:00
deads2k
2c35c06727
report originating error for GetReference failure
2014-10-17 12:52:41 -04:00
bgrant0607
9edd8a104c
Merge pull request #1833 from erictune/authz
...
Add forbidden error.
2014-10-16 13:39:17 -07:00
derekwaynecarr
085ca40291
Enforce unique constraint at namespace boundary in etcd, make client and server namespace aware
2014-10-16 13:02:52 -04:00
Eric Tune
26a2bab797
Add forbidden error.
...
Will be used in subsequent PRs that add authorization.
2014-10-16 09:25:54 -07:00
Haney Maxwell
c0bf974871
Allow disabling non-necessary kubelet and apiserver endpoints
2014-10-09 16:49:27 -07:00
Clayton Coleman
82bcdd3b3b
Make ResourceVersion a string internally instead of uint64
...
Allows us to define different watch versioning regimes in the future
as well as to encode information with the resource version.
This changes /watch/resources?resourceVersion=3 to start the watch at
4 instead of 3, which means clients can read a resource version and
then send it back to the server. Clients should no longer do math on
resource versions.
2014-10-07 19:00:26 -04:00
Clayton Coleman
d3e51a0f24
Rename JSONBase -> TypeMeta in preparation for v1beta3
...
Will make subsequent refactor much easier
2014-10-07 11:12:16 -04:00
derekwaynecarr
e4ec49ee6b
Require namespace on controller, pod, service objects
2014-10-01 10:57:50 -04:00
Tim Hockin
e73de49f81
Caps on StatusReason*
2014-09-27 21:38:51 -07:00
Daniel Smith
37e505601e
add self linking to apiserver
2014-09-26 15:08:02 -07:00
derekwaynecarr
ee19ba186d
Update to use api.Context
2014-09-26 11:50:34 -04:00
derekwaynecarr
be85ad7a3d
Add context object in test cases flows
2014-09-26 11:50:34 -04:00
derekwaynecarr
3e685674e7
Add context object to interfaces
2014-09-26 11:50:34 -04:00
Clayton Coleman
74db9a1b20
Log apiserver errors that are not of an expected type
...
Currently HttpLog only expected status range - this logs errors
that come back from a REST storage object without being first
converted to something in pkg/api/errors. This usually indicates
unexpected error conditions that a programmer didn't explicitly
check for - the kinds of problems that may need debugging by
an operator later. Set to V(1) because they don't impair normal
operation.
2014-09-25 16:21:48 -04:00
Clayton Coleman
e3da2ba2c8
Cleanup watch encoding (remove dupe Encoding)
...
Move standard watch encode / decode streams to use
runtime.RawExtension and embed API decoding based on
a provided codec.
2014-09-22 16:03:07 -04:00
Brendan Burns
a4912d7203
Merge pull request #1342 from jwforres/websocket_connection_header
...
Match any Connection header that contains the Upgrade token for websocke...
2014-09-18 09:47:07 -07:00
Jessica Forrester
f2732f18a7
Match any Connection header that contains the Upgrade token for websockets
2014-09-18 09:26:21 -04:00
Daniel Smith
4e9cf2ccb4
Add field selector to List, implement for pods.
2014-09-16 16:17:16 -07:00
Daniel Smith
0b75f7b543
Merge pull request #1275 from smarterclayton/v1beta2
...
Create v1beta2 and allow multiple Codec encodings to exist
2014-09-16 14:52:04 -07:00
Brendan Burns
f8844ce69e
Add a validator for validating components in the cluster infrastructure.
2014-09-16 13:37:01 -07:00
Clayton Coleman
61e3ce7ddc
Make runtime less global for Codec
...
* Make Codec separate from Scheme
* Move EncodeOrDie off Scheme to take a Codec
* Make Copy work without a Codec
* Create a "latest" package that imports all versions and
sets global defaults for "most recent encoding"
* v1beta1 is the current "latest", v1beta2 exists
* Kill DefaultCodec, replace it with "latest.Codec"
* This updates the client and etcd to store the latest known version
* EmbeddedObject is per schema and per package now
* Move runtime.DefaultScheme to api.Scheme
* Split out WatchEvent since it's not an API object today, treat it
like a special object in api
* Kill DefaultResourceVersioner, instead place it on "latest" (as the
package that understands all packages)
* Move objDiff to runtime.ObjectDiff
2014-09-16 16:26:43 -04:00
Clayton Coleman
154a91cd33
Rename runtime.DefaultScheme to latest.Codec for ease of readability
2014-09-16 16:19:35 -04:00