Support for Encryption Providers #769
Labels
Epic
kind/feature
Categorizes issue or PR as related to a new feature.
sig/cluster-management
Denotes a PR or issue as being assigned to SIG Cluster Management.
Milestone
What feature would you like to be added?
KubeOne should implement support for providing a Kubernetes Encryption provider to ensure, that no Kubernetes secrets are stored in cleartext in etcd.
This can be achieved by setting the --encryption-provider-config flag on the Kubernetes API Server and pointing it to the location of an EncryptionConfiguration yaml file.
This is an example config from the docs:
Editing the config allows enabling encryption, disabling encryption and rotating keys. No further logic is required beside changing the content of the file.
How could this be implemented?
Implementing this would require KubeOne to copy the config to the /etc/kubernetes folder and setting the flag on the api server. If a KubeOne upgrade is triggered, the hashes of the config files could be compared to detect changes or the file is just copied without checking, KubeOne refreshes the config on the masters and restarts the api servers.
A good approach might be the following structure under the KubeOne feature config:
This would ensure, that a user can provide the config from outside easily and is able to rotate keys and other stuff, because he has control over the config.
What are use cases of the feature?
Useful Links:
The text was updated successfully, but these errors were encountered: