Victor Marmol
535502ead6
Merge pull request #4272 from a-robinson/metrics
...
Basic initial instrumentation of the apiserver
2015-02-10 14:58:14 -08:00
Alex Robinson
d39262d743
Consolidate the prometheus Counters into a shared CounterVec and remove
...
the "code" label from the latencies SummaryVec.
2015-02-10 22:47:56 +00:00
Clayton Coleman
06656efe62
Merge pull request #4283 from ncdc/allow-proxy-to-resource-root-path
...
Allow proxying to a resource at /
2015-02-10 17:45:31 -05:00
Alex Robinson
2463cff79c
Basic initial instrumentation of the apiserver. This links in the
...
prometheus library for monitoring, which exports some basic resource
usage metrics by default, like number of goroutines, open file
descriptors, resident and virtual memory, etc. I've also started adding
in request counters and latency histograms, but have only added them to two
of our HTTP handlers. If this looks reasonable, I'll add them to the rest
in a second PR.
2015-02-10 20:44:28 +00:00
Andy Goldstein
4f89ed9d6a
Allow proxying to a resource at /
...
Add a route for /proxy/<kind>/<name>/ without requiring additional path
information. This allows for e.g. /proxy/service/myservice/, which will
proxy to the service at /, instead of always requiring something in the
path.
2015-02-10 10:04:40 -05:00
derekwaynecarr
0bd0e12bbc
Add support for Namespace as Kind
...
Add example for using namespaces
2015-02-10 09:50:50 -05:00
Mike Danese
14bfec92f2
rename probe.Status to probe.Result.
2015-02-05 15:49:58 -08:00
nikhiljindal
19f7ecf31b
Deleting the API objects related to /operations
2015-02-04 20:50:45 -08:00
deads2k
8a2fe9bd2b
modify policy to correctly identify resource versus kind
2015-02-04 13:36:01 -05:00
deads2k
1c9216a45e
clarify api request information
2015-02-04 13:36:01 -05:00
Brendan Burns
65e4964bc2
Merge pull request #4087 from enisoc/apiserver-proxy-redirect
...
Rewrite "Location" header in apiserver proxy.
2015-02-04 09:33:34 -08:00
nikhiljindal
18609e1706
Moving /watch, /proxy and /redirect registration to go-restful
2015-02-03 15:47:48 -08:00
Anthony Yeh
6a0dec0e99
Rewrite "Location" header in apiserver proxy.
...
So that redirects work correctly.
2015-02-03 15:14:28 -08:00
Clayton Coleman
9263a8f627
Remove logging on apiserver startup
...
Now that we return errors on startup there's not much value in the
startup log for anyone except a few developers. Nuke
2015-02-03 00:02:07 -05:00
Anthony Yeh
695b08885b
Fix apiserver proxy path rewriting.
...
1) Absolute paths without a hostname were being rewritten relative to
the current page, rather than relative to the current host.
e.g. When viewing /some/page.html, it would rewrite:
/other/page.html => proxyPrepend/some/other/page.html
Instead, it should rewrite:
/other/page.html => proxyPrepend/other/page.html
2) Trailing slashes were being stripped from all rewritten URLs.
This is because path.Join() always calls path.Clean() as well:
http://golang.org/pkg/path/#Join
2015-02-02 13:01:46 -08:00
derekwaynecarr
22ceccc188
Fix TestUnimplementedRESTStorage
2015-02-02 10:26:19 -05:00
derekwaynecarr
a216cb747c
Fix logic issue in register resource handlers not doing list across all namespaces in v1beta3
2015-02-02 10:26:19 -05:00
derekwaynecarr
4c33e36a88
Plumb restmapper properly through apiserver and tests
2015-02-02 10:26:19 -05:00
derekwaynecarr
71ec444d63
Make a RESTMapper scope aware
2015-02-02 10:26:19 -05:00
Satnam Singh
d8bda4006a
Increase API rate limit on read only port of apiserver
2015-01-30 11:58:59 -08:00
nikhiljindal
dc92d3c7a2
Cleaning up the operations code in client
2015-01-28 21:04:16 -08:00
Brian Grant
fcb1cd30ff
Merge pull request #3891 from nikhiljindal/Operation
...
Deleting OperationHandler for handling /operation endpoint on server
2015-01-28 17:01:37 -08:00
Satnam Singh
5d5752374b
Set Retry-After header before calling WriteHeader
2015-01-28 14:28:37 -08:00
nikhiljindal
521728e920
Deleting OperationHandler for handling /operation endpoint on server
2015-01-28 13:13:10 -08:00
Tim Hockin
c8f61885df
Merge pull request #3695 from mikedanese/ready
...
refactor pkg/health into more reusable pkg/probe
2015-01-28 11:00:32 -08:00
Clayton Coleman
5117189e03
Merge pull request #3707 from nikhiljindal/preOperations
...
Removing support for asynchronous server requests
2015-01-28 13:02:52 -05:00
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