54
55
func NewLocalStoreTlsProvider(tlsConfig *config.RootTLS, metricsHandler metrics.Handler, logger log.Logger, certProviderFactory CertProviderFactory,
57
>
58
>
internodeProvider := certProviderFactory(&tlsConfig.Internode, nil, nil, tlsConfig.RefreshInterval, logger)
59
>
var workerProvider CertProvider
60
>
if isSystemWorker(tlsConfig) { // explicit system worker config
61
workerProvider = certProviderFactory(nil, &tlsConfig.SystemWorker, nil, tlsConfig.RefreshInterval, logger)
63
>
internodeWorkerProvider := certProviderFactory(&tlsConfig.Internode, nil, &tlsConfig.Frontend.Client, tlsConfig.RefreshInterval, logger)
64
>
workerProvider = internodeWorkerProvider
65
>
}
66
68
>
for key, groupTLS := range tlsConfig.RemoteClusters {
69
remoteClusterClientCertProvider[key] = certProviderFactory(&groupTLS, nil, nil, tlsConfig.RefreshInterval, logger)
70
}
71
73
>
internodeCertProvider: internodeProvider,
74
>
internodeClientCertProvider: internodeProvider,
75
>
frontendCertProvider: certProviderFactory(&tlsConfig.Frontend, nil, nil, tlsConfig.RefreshInterval, logger),
76
>
workerCertProvider: workerProvider,
77
>
frontendPerHostCertProviderMap: newLocalStorePerHostCertProviderMap(
78
>
tlsConfig.Frontend.PerHostOverrides, certProviderFactory, tlsConfig.RefreshInterval, logger),
79
>
remoteClusterClientCertProvider: remoteClusterClientCertProvider,
80
>
RWMutex: sync.RWMutex{},
81
>
settings: tlsConfig,
82
>
metricsHandler: metricsHandler,
83
>
logger: logger,
84
>
cachedRemoteClusterClientConfig: make(map[string]*tls.Config),
85
>
}
86
>
provider.initialize()
87
>
return provider, nil
88
}
89
91
>
period := s.settings.ExpirationChecks.CheckInterval
92
>
if period != 0 {
93
s.stop = make(chan bool)
94
s.ticker = time.NewTicker(period)