Production-Grade Container Scheduling and Management
Go to file
Kubernetes Submit Queue 0d17e9deb7 Merge pull request #48574 from sakshamsharma/kms-transformer
Automatic merge from submit-queue

Add Google cloud KMS service for envelope encryption transformer

This adds the required pieces which will allow addition of KMS based encryption providers (envelope transformer).

For now, we will be implementing it using Google Cloud KMS, but the code should make it easy to add support for any other such provider which can expose Decrypt and Encrypt calls.

Writing tests for Google Cloud KMS Service may cause a significant overhead to the testing framework. It has been tested locally and on GKE though.

Upcoming after this PR:
* Complete implementation of the envelope transformer, which uses LRU cache to maintain decrypted DEKs in memory.
* Track key version to assist in data re-encryption after a KEK rotation.

Development branch containing the changes described above: https://github.com/sakshamsharma/kubernetes/pull/4

Envelope transformer used by this PR was merged in #49350 

Concerns #48522 

Planned configuration:
```
kind: EncryptionConfig
apiVersion: v1
resources:
  - resources:
    - secrets
    providers:
    - kms:
        cachesize: 100
        configfile: gcp-cloudkms.conf
        name: gcp-cloudkms
    - identity: {}
```

gcp-cloudkms.conf:
```
[GoogleCloudKMS]
    kms-location: global
    kms-keyring: google-container-engine
    kms-cryptokey: example-key
```
2017-08-29 11:11:10 -07:00
.github
api Merge pull request #50296 from mengqiy/addApplyTestForReplacekeys 2017-08-29 03:20:10 -07:00
build Merge pull request #50717 from cblecker/git-util-func 2017-08-28 22:07:01 -07:00
cluster Merge pull request #48574 from sakshamsharma/kms-transformer 2017-08-29 11:11:10 -07:00
cmd Merge pull request #48574 from sakshamsharma/kms-transformer 2017-08-29 11:11:10 -07:00
docs Merge pull request #51300 from caesarxuchao/remove-failure-policy 2017-08-29 03:20:08 -07:00
examples Merge pull request #49850 from m1093782566/service-session-timeout 2017-08-25 20:43:30 -07:00
federation Merge pull request #50296 from mengqiy/addApplyTestForReplacekeys 2017-08-29 03:20:10 -07:00
Godeps Bumped gRPC version to 1.3.0 2017-08-23 09:55:55 -07:00
hack Merge pull request #50296 from mengqiy/addApplyTestForReplacekeys 2017-08-29 03:20:10 -07:00
logo
pkg Merge pull request #48574 from sakshamsharma/kms-transformer 2017-08-29 11:11:10 -07:00
plugin Merge pull request #51436 from liggitt/initializer-feature 2017-08-29 02:22:19 -07:00
staging Merge pull request #48574 from sakshamsharma/kms-transformer 2017-08-29 11:11:10 -07:00
test Merge pull request #48454 from weiwei04/check-job-activeDeadlineSeconds 2017-08-29 08:25:06 -07:00
third_party
translations Italian translation 2017-08-23 08:45:26 +02:00
vendor Regenerate the vendor/BUILD file 2017-08-24 14:07:21 -07:00
.bazelrc
.generated_files
.gitattributes
.gitignore
.kazelcfg.json
BUILD.bazel
CHANGELOG.md Update CHANGELOG.md for v1.8.0-alpha.3. 2017-08-23 16:18:55 -07:00
code-of-conduct.md
CONTRIBUTING.md
labels.yaml
LICENSE
Makefile
Makefile.generated_files
OWNERS
OWNERS_ALIASES add sig leads to owners-aliases 2017-08-23 14:35:20 -07:00
README.md
SUPPORT.md Add a SUPPORT.md file for github 2017-08-11 14:42:36 -04:00
Vagrantfile
WORKSPACE

Kubernetes

Submit Queue Widget GoDoc Widget


Kubernetes is an open source system for managing containerized applications across multiple hosts, providing basic mechanisms for deployment, maintenance, and scaling of applications.

Kubernetes builds upon a decade and a half of experience at Google running production workloads at scale using a system called Borg, combined with best-of-breed ideas and practices from the community.

Kubernetes is hosted by the Cloud Native Computing Foundation (CNCF). If you are a company that wants to help shape the evolution of technologies that are container-packaged, dynamically-scheduled and microservices-oriented, consider joining the CNCF. For details about who's involved and how Kubernetes plays a role, read the CNCF announcement.


To start using Kubernetes

See our documentation on kubernetes.io.

Try our interactive tutorial.

Take a free course on Scalable Microservices with Kubernetes.

To start developing Kubernetes

The community repository hosts all information about building Kubernetes from source, how to contribute code and documentation, who to contact about what, etc.

If you want to build Kubernetes right away there are two options:

You have a working Go environment.
$ go get -d k8s.io/kubernetes
$ cd $GOPATH/src/k8s.io/kubernetes
$ make
You have a working Docker environment.
$ git clone https://github.com/kubernetes/kubernetes
$ cd kubernetes
$ make quick-release

If you are less impatient, head over to the developer's documentation.

Support

If you need support, start with the troubleshooting guide and work your way through the process that we've outlined.

That said, if you have questions, reach out to us one way or another.

Analytics