Skip to content

Commit

Permalink
Add server option for overriding default TLS config provider (#830)
Browse files Browse the repository at this point in the history
* Add server option for overriding default TLS config provider
Co-authored-by: Alex Shtin <alex@shtin.com>
  • Loading branch information
sergeybykov committed Oct 12, 2020
1 parent 505f876 commit 9c8813b
Show file tree
Hide file tree
Showing 3 changed files with 23 additions and 8 deletions.
11 changes: 8 additions & 3 deletions temporal/server.go
Original file line number Diff line number Diff line change
Expand Up @@ -112,9 +112,14 @@ func (s *Server) Start() error {
return err
}

tlsFactory, err := encryption.NewTLSConfigProviderFromConfig(s.so.config.Global.TLS)
if err != nil {
return fmt.Errorf("TLS provider initialization error : %w", err)
var tlsFactory encryption.TLSConfigProvider
if s.so.tlsConfigProvider != nil {
tlsFactory = s.so.tlsConfigProvider
} else {
tlsFactory, err = encryption.NewTLSConfigProviderFromConfig(s.so.config.Global.TLS)
if err != nil {
return fmt.Errorf("TLS provider initialization error: %w", err)
}
}

dynamicConfig, err := dynamicconfig.NewFileBasedClient(&s.so.config.DynamicConfigClient, s.logger, s.stoppedCh)
Expand Down
8 changes: 8 additions & 0 deletions temporal/server_option.go
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ package temporal

import (
"go.temporal.io/server/common/authorization"
"go.temporal.io/server/common/rpc/encryption"
"go.temporal.io/server/common/service/config"
)

Expand Down Expand Up @@ -67,3 +68,10 @@ func WithAuthorizer(authorizer authorization.Authorizer) ServerOption {
s.authorizer = authorizer
})
}

// Overrides default provider of TLS configuration
func WithTLSConfigFactory(tlsConfigProvider encryption.TLSConfigProvider) ServerOption {
return newApplyFuncContainer(func(s *serverOptions) {
s.tlsConfigProvider = tlsConfigProvider
})
}
12 changes: 7 additions & 5 deletions temporal/server_options.go
Original file line number Diff line number Diff line change
Expand Up @@ -28,16 +28,18 @@ import (
"fmt"

"go.temporal.io/server/common/authorization"
"go.temporal.io/server/common/rpc/encryption"
"go.temporal.io/server/common/service/config"
)

type (
serverOptions struct {
config *config.Config
authorizer authorization.Authorizer
configDir string
env string
zone string
config *config.Config
authorizer authorization.Authorizer
tlsConfigProvider encryption.TLSConfigProvider
configDir string
env string
zone string

serviceNames []string

Expand Down

0 comments on commit 9c8813b

Please sign in to comment.