Skip to content

Commit 9c8813b

Browse files
Add server option for overriding default TLS config provider (#830)
* Add server option for overriding default TLS config provider Co-authored-by: Alex Shtin <[email protected]>
1 parent 505f876 commit 9c8813b

File tree

3 files changed

+23
-8
lines changed

3 files changed

+23
-8
lines changed

temporal/server.go

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -112,9 +112,14 @@ func (s *Server) Start() error {
112112
return err
113113
}
114114

115-
tlsFactory, err := encryption.NewTLSConfigProviderFromConfig(s.so.config.Global.TLS)
116-
if err != nil {
117-
return fmt.Errorf("TLS provider initialization error : %w", err)
115+
var tlsFactory encryption.TLSConfigProvider
116+
if s.so.tlsConfigProvider != nil {
117+
tlsFactory = s.so.tlsConfigProvider
118+
} else {
119+
tlsFactory, err = encryption.NewTLSConfigProviderFromConfig(s.so.config.Global.TLS)
120+
if err != nil {
121+
return fmt.Errorf("TLS provider initialization error: %w", err)
122+
}
118123
}
119124

120125
dynamicConfig, err := dynamicconfig.NewFileBasedClient(&s.so.config.DynamicConfigClient, s.logger, s.stoppedCh)

temporal/server_option.go

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ package temporal
2626

2727
import (
2828
"go.temporal.io/server/common/authorization"
29+
"go.temporal.io/server/common/rpc/encryption"
2930
"go.temporal.io/server/common/service/config"
3031
)
3132

@@ -67,3 +68,10 @@ func WithAuthorizer(authorizer authorization.Authorizer) ServerOption {
6768
s.authorizer = authorizer
6869
})
6970
}
71+
72+
// Overrides default provider of TLS configuration
73+
func WithTLSConfigFactory(tlsConfigProvider encryption.TLSConfigProvider) ServerOption {
74+
return newApplyFuncContainer(func(s *serverOptions) {
75+
s.tlsConfigProvider = tlsConfigProvider
76+
})
77+
}

temporal/server_options.go

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -28,16 +28,18 @@ import (
2828
"fmt"
2929

3030
"go.temporal.io/server/common/authorization"
31+
"go.temporal.io/server/common/rpc/encryption"
3132
"go.temporal.io/server/common/service/config"
3233
)
3334

3435
type (
3536
serverOptions struct {
36-
config *config.Config
37-
authorizer authorization.Authorizer
38-
configDir string
39-
env string
40-
zone string
37+
config *config.Config
38+
authorizer authorization.Authorizer
39+
tlsConfigProvider encryption.TLSConfigProvider
40+
configDir string
41+
env string
42+
zone string
4143

4244
serviceNames []string
4345

0 commit comments

Comments
 (0)