k3s/pkg/cloudprovider/providers
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
..
aws Merge pull request #51087 from oracle/for/upstream/master/ccm-instance-exists 2017-08-26 06:43:30 -07:00
azure Merge pull request #51087 from oracle/for/upstream/master/ccm-instance-exists 2017-08-26 06:43:30 -07:00
cloudstack cloudprovider.Zones should support external cloud providers 2017-08-24 21:05:49 -04:00
fake Merge pull request #51087 from oracle/for/upstream/master/ccm-instance-exists 2017-08-26 06:43:30 -07:00
gce Merge pull request #48574 from sakshamsharma/kms-transformer 2017-08-29 11:11:10 -07:00
openstack Merge pull request #51317 from FengyunPan/GetZoneByProviderID-openstack 2017-08-26 10:09:33 -07:00
ovirt change godoc based on feedback from luxas 2017-08-25 18:04:10 -04:00
photon Merge pull request #51087 from oracle/for/upstream/master/ccm-instance-exists 2017-08-26 06:43:30 -07:00
rackspace Merge pull request #51087 from oracle/for/upstream/master/ccm-instance-exists 2017-08-26 06:43:30 -07:00
vsphere change godoc based on feedback from luxas 2017-08-25 18:04:10 -04:00
BUILD Use buildozer to delete licenses() rules except under third_party/ 2017-08-11 09:32:39 -07:00
providers.go Removed mesos as cloud provider from Kubernetes. 2017-07-09 21:54:57 -04:00