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
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
Kris
f4ad00d9ae
Moving Status object to a common package
2015-09-17 14:09:53 -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
Paul Weil
3c90d3a5ef
allow installing rest to existing web service
2015-09-14 16:34:11 -04: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
Anastasis Andronidis
ff2fcd43f7
Added SwaggerDoc() in api-server
2015-08-22 02:26:04 +02:00
Muhammed Uluyol
fab367230f
Add experimental API support to kubectl
2015-08-11 16:49:55 -07:00
Eric Paris
7cbb52ce04
Use the pflag StringSlice instead of implementing it ourselves
...
Saves code and makes our code easier to read because we just use normal
[]string instead of custom type.
2015-08-06 19:16:13 -04:00
Mike Danese
8326697055
rewrite all links to prs to k8s links
2015-08-05 21:11:11 -07:00
Mike Danese
8e33cbfa28
rewrite go imports
2015-08-05 17:30:03 -07:00
Alex Mohr
366b382901
Merge pull request #10200 from caesarxuchao/resthandler-validate-version
...
verify and default APIVersion in createHandler, verify APIVersion in UpdateResource
2015-08-04 13:09:31 -07:00
Chao Xu
664d20c572
Add DecodeIntoWithSpecifiedVersionKind() to Decoder interface.
...
The function validate/default the body with the passed in apiVersion and Kind.
It's called in createHandler and UpdateResource
2015-08-03 15:30:00 -07:00
Muhammed Uluyol
58a875ac2c
Add (stopgap) support for an experimental API prefix.
2015-07-30 18:14:29 -07:00
Cesar Wong
a84fa79a01
Use versioned objects for GET and CONNECT operations
2015-07-28 13:43:23 -04:00
nikhiljindal
2f946b7aee
Stop allowing unnamespaced POST for namespaced objects
2015-07-24 12:03:19 -07:00
Tim Hockin
1c3233a1d4
Remove v1beta3
2015-07-23 17:21:27 -07:00
Wojciech Tyczynski
23d405ad86
Expose /resetMetrics handle in apiserver
2015-06-23 11:12:45 +02:00
Clayton Coleman
debd42a07d
Cleaning up apiserver method signatures
...
A lot of the changes in apiserver could have been represented more
cleanly - this returns the signatures to their older behavior (and
unbreaks OpenShift).
2015-06-18 15:13:41 -04:00
Jordan Liggitt
a341b8f44f
Remove ?namespace= param handling/defaulting
2015-06-16 22:40:01 -04:00
Brendan Burns
b68ddbaf75
Don't pretty-print by default. Saves an allocation (or more) and a copy.
2015-06-08 21:31:58 -07:00
Brendan Burns
7ea533d871
Add the SSHTunnel transport to the kubelet client.
2015-06-05 14:55:15 -07:00
Prashanth Balasubramanian
448867073d
Pipe minRequestTimeout as an arg to the apiserver
2015-06-03 08:44:14 -07:00
Kris
f4e2c738f6
Delete deprecated API versions
...
pkg/service:
There were a couple of references here just as a reminder to change the
behavior of findPort. As of v1beta3, TargetPort was always defaulted, so
we could remove findDefaultPort and related tests.
pkg/apiserver:
The tests were using versioned API codecs for some of their encoding
tests. Necessary API types had to be written and registered with the
fake versioned codecs.
pkg/kubectl:
Some tests were converted to current versions where it made sense.
2015-05-29 17:17:35 -07:00
Clayton Coleman
84d1f19016
Subresources should be in their parent rest scope
...
A subresource like "Binding" does not necessarily have
to have a namespace. The RESTScope of a subresource
should always be its parent resource.
2015-05-11 15:51:05 -04:00
Cesar Wong
fd65427e28
API Server - pass path name in context of create request for subresource
...
Allows a REST storage for a subresource to obtain name in path from
request.
2015-05-06 13:40:18 -04:00
Eric Paris
6b3a6e6b98
Make copyright ownership statement generic
...
Instead of saying "Google Inc." (which is not always correct) say "The
Kubernetes Authors", which is generic.
2015-05-01 17:49:56 -04:00
Cesar Wong
49abf9133e
Add Connecter storage interface to API server
...
Connecter is a type of resource that connects a request
coming from the client to an internal request within the cluster.
It will be used for exposing a pod's proxy, exec, and portforward
endpoints.
2015-04-16 10:20:17 -04:00
Clayton Coleman
0225d76b6a
Support subpath on GET for GetterWithOptions
...
Allows REST consumers to build paths like:
/api/v1beta3/namespaces/foo/webhookresource/<name>/<encodedsecretinurl>
Also fixes parameter exposure for subresources (was only fixed for
v1beta3).
2015-04-11 11:20:13 -04:00
Cesar Wong
efc7f86baf
Add GetterWithOptions and allow stream flushing
...
In addition to Getter interface, API Installer now supports a
GetterWithOptions interface that takes an additional options object when
getting a resource. A flag is now returned from rest.ResourceStreamer
that indicates whether the streamed response should be
flushed when written back to the client. This is to support log
streaming.
2015-04-07 07:46:30 -04:00
Sam Ghods
2c977db1b3
Implement Strategic Merge Patch in apiserver
2015-04-03 11:51:02 -07:00
Kris Rousey
6904c4d585
Fixing a lot of string formatting issues with regards to:
...
* Improper format specifier (e.g. %s for bools or %s for ints)
* More or less parameters than format specifiers
* Not calling a formatting function when it should have (e.g. Error() instead of Errorf())
2015-03-31 16:47:10 -07:00
Clayton Coleman
870da687d0
Add more extensive tests to apiserver for variations in version
...
Formalize v1beta1 and v1beta3 style APIs in our test cases.
2015-03-27 15:03:58 -04:00
Clayton Coleman
1618c39a46
Convert List query parameters via object conversion
...
Convert url.Values -> an object, with appropriate versioning. ListOptions
should also expose parameter names to swagger.
2015-03-27 15:03:57 -04:00
Clayton Coleman
fc3609fb5b
Allow InputStreams to be returned by requests
...
Add additional metadata to restful services.
2015-03-24 17:25:45 -04:00
Jordan Liggitt
a75b501821
Improve ResourceLocation API, allow proxy to use authenticated transport
2015-03-24 11:11:34 -04:00
Clayton Coleman
d46087db50
Move REST* interfaces into pkg/api/rest
...
Dependency chain is now api -> api/rest -> apiserver. Makes the
interfaces much cleaner to read, and cleans up some inconsistenties
that crept in along the way.
2015-03-23 16:52:21 -04:00
Clayton Coleman
428d2263e5
Graceful deletion of resources
...
This commit adds support to core resources to enable deferred deletion
of resources. Clients may optionally specify a time period after which
resources must be deleted via an object sent with their DELETE. That
object may define an optional grace period in seconds, or allow the
default "preferred" value for a resource to be used. Once the object
is marked as pending deletion, the deletionTimestamp field will be set
and an etcd TTL will be in place.
Clients should assume resources that have deletionTimestamp set will
be deleted at some point in the future. Other changes will come later
to enable graceful deletion on a per resource basis.
2015-03-19 15:33:32 -04:00
Piotr Szczesniak
ffcf7b1866
Increased default timeout in APIServer to 2 minutes
...
This should for #5431
2015-03-14 06:54:31 +01:00
Salvatore Dario Minonne
925fa6baf8
Adding fields selector
2015-03-10 22:13:10 +01:00
Mike Danese
46ec580771
add PATCH to apiserver
2015-03-10 10:56:15 -07:00
Clayton Coleman
4b16a87096
Simplify api_installer and setup methods
2015-03-09 14:39:31 -04:00
Clayton Coleman
9175082a1c
Split naming behavior out into objects that are derived from the request
...
Fix bug with cross namespace queries not being possible. Ensure selflink
is set on lists correctly.
2015-02-16 00:23:38 -05:00
Jordan Liggitt
083ce268e0
Put user in context, map requests to context above resthandler layer
2015-02-12 20:58:04 -05:00
Clayton Coleman
c24f4a24b4
Rename TryAgainLater status code to ServerTimeout
2015-02-12 15:01:12 -05:00
Clayton Coleman
79cb93002e
Remove asynchronous channel on RESTStorage interfaces
2015-02-11 16:26:07 -05:00
Clayton Coleman
d167c11b59
Remove layers of indirection between apiinstaller and resthandler
...
Make the RESTHandler feel more go-restful, set the stage for adding
new types of subresource collections.
2015-02-11 16:26:06 -05:00
derekwaynecarr
0bd0e12bbc
Add support for Namespace as Kind
...
Add example for using namespaces
2015-02-10 09:50:50 -05:00
nikhiljindal
18609e1706
Moving /watch, /proxy and /redirect registration to go-restful
2015-02-03 15:47:48 -08:00
derekwaynecarr
22ceccc188
Fix TestUnimplementedRESTStorage
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
nikhiljindal
dc92d3c7a2
Cleaning up the operations code in client
2015-01-28 21:04:16 -08:00
nikhiljindal
de60600608
Making all operations synchronous
2015-01-27 18:47:56 -08:00
Clayton Coleman
22c99c98e2
Split RESTStorage into separate interfaces
...
Omit unimplemented interfaces from Swagger
2015-01-12 12:19:45 -05: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
derekwaynecarr
7cf664439f
Move namespace from query param to path part
2014-12-16 15:55:47 -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
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
Tim Hockin
95a9098311
fix 'go vet' warnings
2014-11-21 09:45:28 +08:00
Brian Grant
7583e1a643
Automatic API generation by adopting go-restful
2014-11-14 16:49:19 +00:00
Daniel Smith
4196780eda
Add self links to objects sent down the watch channel.
2014-11-05 17:22:18 -08:00
Brendan Burns
f02fe2da1b
Deflake the TestCreate test, by adding an explicit wait.
2014-11-02 12:38:31 -08:00
Deyuan Deng
acf9d23b32
Stop httptest server.
2014-10-30 21:37:08 -04:00
derekwaynecarr
dda19071e3
Fix watch by namespace
2014-10-30 12:56:50 -04: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
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
Tim Hockin
e8686429c4
Merge pull request #1916 from lavalamp/fix
...
Add read-only, rate limited endpoint
2014-10-20 16:42:46 -07: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
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
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
Daniel Smith
4e9cf2ccb4
Add field selector to List, implement for pods.
2014-09-16 16:17:16 -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
Clayton Coleman
fe614aeda2
Simple refactor for ease of readability
...
runtime.DefaultCodec -> latest.Codec
2014-09-16 16:12:35 -04:00
Jessica Forrester
0cac1c5f79
Switch LogOf from panicking when logger is missing to creating logger with the defaults.
...
Update CORS tests to a table-based test and cover more cases.
2014-09-09 17:50:18 -04:00
Jessica Forrester
becf6ca4e7
Move RecoverPanics to be the top level wrapped handler. Add new method to be sure a logger has been generated instead of assuming one has. Move regexp list compilation into a utility and pass regexp list into CORS.
2014-09-09 17:50:18 -04:00
Jessica Forrester
8b4ca9c2a7
Move CORS handler wrapping into cmd/apiserver and switch config flag to a list of allowed origins
2014-09-09 17:50:18 -04:00
Jessica Forrester
8723eece49
Add option to enable a simple CORS implementation for the api server
2014-09-09 17:50:18 -04:00
brendandburns
753b80c9b8
Merge pull request #1105 from lavalamp/proxy
...
Add a generic proxier
2014-09-08 12:51:24 -07:00
Daniel Smith
fc09f988b4
Make tests pass again
2014-09-07 22:26:42 -07:00
Daniel Smith
1c2b65788d
Rename Codec and ResourceVersioner to add Default in front, to allow for types of those names
2014-09-07 22:19:24 -07:00
Daniel Smith
e2b645ec15
Add a generic proxier
...
To proxy traffic to anything that implements ResourceLocation.
Currently, this is only services. This is easily extensible to minions
(would supercede existing mechanism) and pods.
2014-09-05 13:33:30 -07:00
Clayton Coleman
34c40e4e48
Errors should be part of api/errors, not apiserver
...
Renames constructor methods to be errors.New<name> which changed a few
places.
2014-09-03 17:16:00 -04:00
Daniel Smith
a63966e73c
Combine pkg/apitools and pkg/api/common and call the result pkg/runtime
2014-09-02 11:15:44 -07:00
Daniel Smith
099c8fd36f
Propagate rename; tests pass again.
2014-09-02 10:42:06 -07:00
Daniel Smith
4de254444e
Add simple service redirection
2014-08-27 20:51:41 -07:00
Clayton Coleman
0a841a49fd
Naming of Reason constants is inconsistent
...
Changed ReasonType to StatusReason (to match the field) and
changed CauseReason to CauseType and renamed StatusCause.Reason to
Type.
2014-08-26 13:39:21 -04:00