Commit Graph

1411 Commits

Author SHA1 Message Date
Saksham Sharma 0b1c13686c Add configuration options for encryption providers
Add location transformer, config for transformers

Location transformer helps choose the most specific transformer for
read/write operations depending on the path of resource being accessed.

Configuration allows use of --experimental-encryption-provider-config
to set up encryption providers. Only AEAD is supported at the moment.

Add new files to BUILD, AEAD => k8s-aes-gcm

Use group resources to select encryption provider

Update tests for configuration parsing

Remove location transformer

Allow specifying providers per resource group in configuration

Add IdentityTransformer configuration option

Fix minor issues with initial AEAD implementation

Unified parsing of all configurations

Parse configuration using a union struct

Run configuration parsing in APIserver, refactor parsing

More gdoc, fix minor bugs

Add test coverage for combined transformers

Use table driven tests for encryptionconfig

Kubernetes-commit: 9760d00d08ef0619e30a7b1b90fd290cab960069
2017-06-13 20:47:30 +00:00
Tim St. Clair 91a3addb8d Instrument advanced auditing
Kubernetes-commit: b77c8198f002f9a9c7bdca11d28cac1710bbb185
2017-06-13 20:47:30 +00:00
Chao Xu 3f8656c5e3 generated defaults files
generated bazel

Kubernetes-commit: 902c501595dfd044b3e7062e1518f7f3025751a5
2017-06-13 20:47:30 +00:00
Jordan Liggitt efae6ed84b Pre-generate SNI test certs
Kubernetes-commit: 6554dfc4456869e299b8f6a8f686e8c3cee073d9
2017-06-13 20:47:30 +00:00
Dr. Stefan Schimanski d6f1990c7c apiserver: avoid resolving 'localhost'
The golang stdlib resolve localhost first via the external DNS server,
not via /etc/hosts. If your DNS resolve localhost.<search-domain>, the
API server won't start.

Kubernetes-commit: 63cd572c74a40933d8e6928e084601810b724a81
2017-06-13 20:47:30 +00:00
Cao Shufeng df4801fa4e empty audit policy file is legal configuration
Empty audit policy file or policy file contains only comments means
using default audit level for all requests.

Kubernetes-commit: b6b2a30e830cc362c41ec1014ed9f3ef3535f93b
2017-06-13 20:47:30 +00:00
Dr. Stefan Schimanski c0e7280688 Update bazel
Kubernetes-commit: c7d9a396fdf9ef63272896200ab90afa0581c8f3
2017-06-13 20:47:30 +00:00
Dr. Stefan Schimanski a3e36a6bf1 aggregation: add ExternalName service support
Kubernetes-commit: 8b409e8f777a305454616554c40c905acad596ac
2017-06-13 20:47:30 +00:00
Dr. Stefan Schimanski 6b536dfda4 aggregation: handle ClusterIPNone correctly
Kubernetes-commit: b1f708758c70dfbb3dde4dec7d2f423b7303e661
2017-06-13 20:47:30 +00:00
Dr. Stefan Schimanski 449313536f aggregation: unify mode implementations
Kubernetes-commit: d56759452cccd34c33d987d001092128d0b0f2ff
2017-06-13 20:47:30 +00:00
Dr. Stefan Schimanski 0b2bbf270c aggregation: restore cluster-ip routing tests
Kubernetes-commit: 35335c09e17c3479ff660f93aaaeed041837b247
2017-06-13 20:47:30 +00:00
Eric Chiang be1a712a68 apiserver: add a webhook implementation of the audit backend
Kubernetes-commit: a88e0187f9f6083ed68d18e939a776c44c728e4b
2017-06-13 20:47:30 +00:00
mbohlool 749c4d2fef Make OpenAPI GVK and Action extensions all lower-case
Kubernetes-commit: a3cbfde4b18fdbddf9c94be80acd4f0468a492b7
2017-06-13 20:47:29 +00:00
Wojciech Tyczynski d84eb10096 Optimize selector for single-matching items
Kubernetes-commit: f93a270edcefc3780247ae89eea02cd13b81237b
2017-06-13 20:47:29 +00:00
Clayton Coleman afe291fde8 Refactor printers to support rendering as a Table
Return tables from the server.

Kubernetes-commit: 7ce63eb608cdf95df429d6138ccf8dbf8b47a740
2017-06-13 20:47:29 +00:00
Clayton Coleman e1228ec319 Expose a default Table and partial output via Accept headers
All generic registries expose metadata output, and refactor endpoints to
allow negotiation to handle those responses. Add support for
PartialObjectMetadata being returned for objects as well.

Kubernetes-commit: f203e42cb98ed4bac7ad8ebbed717d3bd42f55b6
2017-06-13 20:47:29 +00:00
p0lyn0mial 42d367c84c register all generic admission plugins when AdmissionOptions are created.
lifecycle plugin: make use of the libraries under k8s.io/client-go/pkg/api and k8s.io/client-go/kubernetes
for the client libraries instead of k8s.io/kubernetes/client/*

move registration to AdmissionOptions

Kubernetes-commit: 77eb2f39500f1fcf66899ea557791e7bca851449
2017-06-13 20:47:29 +00:00
Dr. Stefan Schimanski a177d01bf0 audit: uniform 2 or 3 events for short/long running requests
Kubernetes-commit: 548f7be8fa10b6cbedcf179af088536e76a6c0e3
2017-06-13 20:47:29 +00:00
Dr. Stefan Schimanski 636c532e31 audit: fill in stage
Kubernetes-commit: 1e94185f4425551f1c81ba7bbdbae110bc317abd
2017-06-13 20:47:29 +00:00
Dr. Stefan Schimanski 8b776edc46 audit: fill in sub-resource
Kubernetes-commit: 019003b9266872f912b188708583141a34561007
2017-06-13 20:47:29 +00:00
Dr. Stefan Schimanski f695ec4d4b audit-types: add Panic stage
Kubernetes-commit: 3e9c8aaac689d9b0a11849b09aced266b48b3af8
2017-06-13 20:47:29 +00:00
Tim St. Clair a54d901fa7 Fix audit level none
Kubernetes-commit: 93e1e54e290325d82e41d50f64057323879bdef2
2017-06-13 20:47:29 +00:00
Walter Fender 5428bc23d8 Change to aggregator so it calls a user apiservice via its pod IP.
proxy_handler now uses the endpoint router to map the cluster IP to
appropriate endpoint (Pod) IP for the given resource.
Added code to allow aggregator routing to be optional.
Updated bazel build.
Fixes to cover JLiggit comments.
Added util ResourceLocation method based on Listers.
Fixed issues from verification steps.
Updated to add an interface to obfuscate some of the routing logic.
Collapsed cluster IP resolution in to the aggregator routing
implementation.
Added 2 simple unit tests for ResolveEndpoint

Kubernetes-commit: ad8a83a7c1741efb507d924a17eb809748ee2e06
2017-06-13 20:47:29 +00:00
deads2k 10de73bc53 move CRD behind TPR
Kubernetes-commit: 18177e2bdeafbddeb3d66fec0b8cb88794cd69ff
2017-06-13 20:47:29 +00:00
p0lyn0mial d3a026ac63 move namespace lifecycle plugin to apiserver
Kubernetes-commit: 1a5da9afc804eed6630caa1a17540d1a171b211a
2017-06-13 20:47:29 +00:00
Monis Khan 6794013a5b Panic server on watch errors in test environment
This change makes it so that errors during watch decoding panic the
server if it is in a test environment.  This allows us to catch coder
errors related to storing incompatible types at the same location in
etcd.

Signed-off-by: Monis Khan <mkhan@redhat.com>

Kubernetes-commit: a13f026fd012859f04467e6007e2cafe4a788927
2017-06-13 20:47:29 +00:00
Tim St. Clair 8ff532a4cb Implement audit policy logic
Kubernetes-commit: a5de309ee261aea15bb1cc12647b32640c2ac196
2017-06-13 20:47:28 +00:00
Cao Shufeng 7618d3f6da Fix doc about Verb for advanced audit feature
Kubernetes-commit: 312d117f51972fdaaf691100452942c61e163224
2017-06-13 20:47:28 +00:00
Tim Hockin 7a88cacaa2 Update godeps for juju ratelimit
This picked up an unrelated but missing change.

Kubernetes-commit: 3178433b9fb9a75ffe8b53c4c61fa8b71a409c65
2017-06-13 20:47:28 +00:00
Monis Khan 844a0a7812 Require DeleteStrategy for all registry.Store
All registry.Store objects already set a non-nil DeleteStrategy.
This change ensures that all future objects do so as well.

Signed-off-by: Monis Khan <mkhan@redhat.com>

Kubernetes-commit: 08fcd79e1f4b9d3efe0a20ea4ce4fdf5ffea0531
2017-06-13 20:47:28 +00:00
Clayton Coleman 2f49bbbf91 Subresources are not included in apiserver prometheus metrics
Subresources are very often completely different code paths and errors
generated on those code paths are important to distinguish.

Kubernetes-commit: ad431c454c1306fdcc2134a3626444984d350f46
2017-06-13 20:47:28 +00:00
Tim St. Clair dac438aa53 Update existing code for audit API changes
Kubernetes-commit: 4c54970d31f0e35f21247514fb946081e6ee0be5
2017-06-13 20:47:28 +00:00
p0lyn0mial ecba80695f remove init blocks from all admission plugins
Kubernetes-commit: c5019bf6962475ffff94ef4993bdc651b79f650c
2017-06-13 20:47:28 +00:00
Tim St. Clair 4fa7bd1587 Generated code
Kubernetes-commit: 7bc9b3004956e84dd29ab66a7fb24e9924d960b7
2017-06-13 20:47:28 +00:00
Tim St. Clair 78e974150d Append X-Forwarded-For in proxy handler
Kubernetes-commit: 6875e953782076237a0c20facc05eeb5d49aa161
2017-06-13 20:47:28 +00:00
Tim St. Clair 2c15f760d9 Update audit API with missing pieces
Kubernetes-commit: 4c98cab4dbccdc6ba005c08bf45c48aeb8e142b9
2017-06-13 20:47:28 +00:00
Dr. Stefan Schimanski 94ea219615 Update bazel
Kubernetes-commit: 9fdc36a47ada0bc34ee53b68edd085d368ed9012
2017-06-13 20:47:28 +00:00
Dr. Stefan Schimanski ec8d130fa7 audit: wire through non-nil context everywhere
Kubernetes-commit: ce942d19c378ecd335e7e158e30cdc184f9d6184
2017-06-13 20:47:28 +00:00
Dr. Stefan Schimanski f7d766d92d audit: add audit event to the context and fill in handlers
Kubernetes-commit: 0b5bcb021932355b3ff7c2b45fb579f4adad84bf
2017-06-13 20:47:28 +00:00
Dr. Stefan Schimanski 6bd3c73150 apiserver: move LongRunningRequestCheck type into endpoints/request
Kubernetes-commit: c1bf6e832e2887ef6cd0e7b7fa97a168fdf474e5
2017-06-13 20:47:27 +00:00
Wojciech Tyczynski 1d0b329280 Pass RequestInfo to GenerateLink
Kubernetes-commit: b4018f7da18f1e61e59c5c48cae4178db2714f85
2017-06-13 20:47:27 +00:00
Clayton Coleman 08910cc6fc Cache watch returns incorrect object on DELETED events
The underlying storage has always returned the old object on watch
delete events when filtering. The cache watcher does not, which means a
downsteam caller gets different behavior.

This fixes the cache watcher to be consistent with our long term
behavior for watch. It may result in a behavior change (the filter
becomes more precise) but this was a regression in behavior.

Kubernetes-commit: e9e69356e4907fa4d0f45ea7e7768357ba71aba9
2017-06-13 20:47:27 +00:00
Wojciech Tyczynski d82b8bc329 Pass Context to GenerateLink
Kubernetes-commit: 25f0fe1adb199697565487b9dfacc4ed8ecdccbb
2017-06-13 20:47:27 +00:00
deads2k 283dd09ef7 tighten and simplify owners in some staging repos
Kubernetes-commit: e7871dbab26459163fd916b83563c4815c7ca43c
2017-06-13 20:47:27 +00:00
Jordan Liggitt 781a66f4fb Return MethodNotSupported when accessing unwatcheable resource with ?watch=true
Kubernetes-commit: da8ae29620811f3dc058e0e665d402a208a1fe6c
2017-06-13 20:47:27 +00:00
Ma Shimiao 1d4f611697 fix missing argument
Signed-off-by: Ma Shimiao <mashimiao.fnst@cn.fujitsu.com>

Kubernetes-commit: 5a320bee51ab2156345191cb464513807d0b3ba3
2017-06-13 20:47:27 +00:00
xilabao b8d686777b update gopass to fix format error
Kubernetes-commit: 892980dd748bd99b0493b117ff4bf27eefb0ba63
2017-06-13 20:47:27 +00:00
Morgan Bauer 5f3d0e25c7 documentation for implementors of RESTCreateStrategy
Kubernetes-commit: 1033c976f0bc5a25ae772fa92c724c5b2caea39e
2017-06-13 20:47:27 +00:00
Di Xu 7f5e263762 update gophercloud that fixed code format
mainly to include #265(https://github.com/gophercloud/gophercloud/pull/265)

Kubernetes-commit: 47442f1c57c0c12d3679e265a3a58c3ca3079a69
2017-06-13 20:47:26 +00:00
Kubernetes Publisher 1caaca9fbd sync: reset Godeps.json 2017-06-13 20:47:26 +00:00