mirror of
				https://github.com/optim-enterprises-bv/kubernetes.git
				synced 2025-11-03 19:58:17 +00:00 
			
		
		
		
	Merge pull request #99196 from yue9944882/feat/aa-server-encryption
Support storage encryption for aggregation server
This commit is contained in:
		@@ -68,6 +68,7 @@ go_library(
 | 
			
		||||
        "//staging/src/k8s.io/apiserver/pkg/server/storage:go_default_library",
 | 
			
		||||
        "//staging/src/k8s.io/apiserver/pkg/storage/storagebackend:go_default_library",
 | 
			
		||||
        "//staging/src/k8s.io/apiserver/pkg/storage/storagebackend/factory:go_default_library",
 | 
			
		||||
        "//staging/src/k8s.io/apiserver/pkg/storage/value:go_default_library",
 | 
			
		||||
        "//staging/src/k8s.io/apiserver/pkg/util/feature:go_default_library",
 | 
			
		||||
        "//staging/src/k8s.io/apiserver/pkg/util/flowcontrol:go_default_library",
 | 
			
		||||
        "//staging/src/k8s.io/apiserver/pkg/util/webhook:go_default_library",
 | 
			
		||||
 
 | 
			
		||||
@@ -35,6 +35,7 @@ import (
 | 
			
		||||
	serverstorage "k8s.io/apiserver/pkg/server/storage"
 | 
			
		||||
	"k8s.io/apiserver/pkg/storage/storagebackend"
 | 
			
		||||
	storagefactory "k8s.io/apiserver/pkg/storage/storagebackend/factory"
 | 
			
		||||
	"k8s.io/apiserver/pkg/storage/value"
 | 
			
		||||
	"k8s.io/klog/v2"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
@@ -196,7 +197,19 @@ func (s *EtcdOptions) ApplyTo(c *server.Config) error {
 | 
			
		||||
	if err := s.addEtcdHealthEndpoint(c); err != nil {
 | 
			
		||||
		return err
 | 
			
		||||
	}
 | 
			
		||||
	c.RESTOptionsGetter = &SimpleRestOptionsFactory{Options: *s}
 | 
			
		||||
	transformerOverrides := make(map[schema.GroupResource]value.Transformer)
 | 
			
		||||
	if len(s.EncryptionProviderConfigFilepath) > 0 {
 | 
			
		||||
		var err error
 | 
			
		||||
		transformerOverrides, err = encryptionconfig.GetTransformerOverrides(s.EncryptionProviderConfigFilepath)
 | 
			
		||||
		if err != nil {
 | 
			
		||||
			return err
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	c.RESTOptionsGetter = &SimpleRestOptionsFactory{
 | 
			
		||||
		Options:              *s,
 | 
			
		||||
		TransformerOverrides: transformerOverrides,
 | 
			
		||||
	}
 | 
			
		||||
	return nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@@ -230,6 +243,7 @@ func (s *EtcdOptions) addEtcdHealthEndpoint(c *server.Config) error {
 | 
			
		||||
 | 
			
		||||
type SimpleRestOptionsFactory struct {
 | 
			
		||||
	Options              EtcdOptions
 | 
			
		||||
	TransformerOverrides map[schema.GroupResource]value.Transformer
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (f *SimpleRestOptionsFactory) GetRESTOptions(resource schema.GroupResource) (generic.RESTOptions, error) {
 | 
			
		||||
@@ -241,6 +255,11 @@ func (f *SimpleRestOptionsFactory) GetRESTOptions(resource schema.GroupResource)
 | 
			
		||||
		ResourcePrefix:          resource.Group + "/" + resource.Resource,
 | 
			
		||||
		CountMetricPollPeriod:   f.Options.StorageConfig.CountMetricPollPeriod,
 | 
			
		||||
	}
 | 
			
		||||
	if f.TransformerOverrides != nil {
 | 
			
		||||
		if transformer, ok := f.TransformerOverrides[resource]; ok {
 | 
			
		||||
			ret.StorageConfig.Transformer = transformer
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
	if f.Options.EnableWatchCache {
 | 
			
		||||
		sizes, err := ParseWatchCacheSizes(f.Options.WatchCacheSizes)
 | 
			
		||||
		if err != nil {
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user