@@ -2067,19 +2067,19 @@ func (process *TeleportProcess) initAuthService() error {
2067
2067
ClusterName : clusterName ,
2068
2068
})
2069
2069
2070
- if cfg .ClusterConfiguration == nil {
2071
- clusterConfig , err := local .NewClusterConfigurationService (b )
2070
+ clusterConfig := cfg .ClusterConfiguration
2071
+ if clusterConfig == nil {
2072
+ clusterConfig , err = local .NewClusterConfigurationService (b )
2072
2073
if err != nil {
2073
2074
return trace .Wrap (err )
2074
2075
}
2075
- cfg .ClusterConfiguration = clusterConfig
2076
2076
}
2077
2077
2078
2078
// create keystore
2079
2079
keystoreOpts := & keystore.Options {
2080
2080
HostUUID : cfg .HostUUID ,
2081
2081
ClusterName : cn ,
2082
- AuthPreferenceGetter : cfg . ClusterConfiguration ,
2082
+ AuthPreferenceGetter : clusterConfig ,
2083
2083
FIPS : cfg .FIPS ,
2084
2084
}
2085
2085
@@ -2112,17 +2112,24 @@ func (process *TeleportProcess) initAuthService() error {
2112
2112
Backend : localRecordingEncryption ,
2113
2113
KeyStore : keyStore ,
2114
2114
Logger : logger ,
2115
+ LockConfig : backend.RunWhileLockedConfig {
2116
+ LockConfiguration : backend.LockConfiguration {
2117
+ Backend : process .backend ,
2118
+ TTL : time .Second * 30 ,
2119
+ LockNameComponents : []string {"recording_encryption" },
2120
+ },
2121
+ },
2115
2122
})
2116
2123
if err != nil {
2117
2124
return trace .Wrap (err )
2118
2125
}
2119
2126
2120
- cfg . ClusterConfiguration = recordingencryption .NewClusterConfigService (cfg . ClusterConfiguration , recordingEncryptionManager )
2127
+ clusterConfig = recordingencryption .NewClusterConfigService (clusterConfig , recordingEncryptionManager )
2121
2128
var emitter apievents.Emitter
2122
2129
var streamer events.Streamer
2123
2130
var uploadHandler events.MultipartHandler
2124
2131
var externalAuditStorage * externalauditstorage.Configurator
2125
- encryptedIO := recordingencryption .NewEncryptedIO (cfg . ClusterConfiguration , recordingEncryptionManager )
2132
+ encryptedIO := recordingencryption .NewEncryptedIO (clusterConfig , recordingEncryptionManager )
2126
2133
2127
2134
// create the audit log, which will be consuming (and recording) all events
2128
2135
// and recording all sessions.
@@ -2229,9 +2236,6 @@ func (process *TeleportProcess) initAuthService() error {
2229
2236
2230
2237
traceClt = clt
2231
2238
}
2232
- if err != nil {
2233
- return trace .Wrap (err )
2234
- }
2235
2239
2236
2240
// Environment variable for disabling the check major version upgrade check and overrides
2237
2241
// latest known version in backend.
@@ -2245,7 +2249,7 @@ func (process *TeleportProcess) initAuthService() error {
2245
2249
VersionStorage : process .storage ,
2246
2250
SkipVersionCheck : cfg .SkipVersionCheck || skipVersionCheckFromEnv ,
2247
2251
Authority : cfg .Keygen ,
2248
- ClusterConfiguration : cfg . ClusterConfiguration ,
2252
+ ClusterConfiguration : clusterConfig ,
2249
2253
AutoUpdateService : cfg .AutoUpdateService ,
2250
2254
ClusterAuditConfig : cfg .Auth .AuditConfig ,
2251
2255
ClusterNetworkingConfig : cfg .Auth .NetworkingConfig ,
0 commit comments