@@ -181,6 +181,7 @@ class TConfigsDispatcher : public TActorBootstrapped<TConfigsDispatcher> {
181181 void Handle (TEvConfigsDispatcher::TEvRemoveConfigSubscriptionRequest::TPtr &ev);
182182 void Handle (TEvConsole::TEvConfigNotificationRequest::TPtr &ev);
183183 void Handle (TEvConsole::TEvGetNodeLabelsRequest::TPtr &ev);
184+ void Handle (TEvConsole::TEvFetchStartupConfigRequest::TPtr &ev);
184185
185186 void ReplyMonJson (TActorId mailbox);
186187
@@ -199,6 +200,7 @@ class TConfigsDispatcher : public TActorBootstrapped<TConfigsDispatcher> {
199200 hFuncTraced (TEvConfigsDispatcher::TEvRemoveConfigSubscriptionRequest, Handle);
200201 // Resolve
201202 hFunc (TEvConsole::TEvGetNodeLabelsRequest, Handle);
203+ hFunc (TEvConsole::TEvFetchStartupConfigRequest, Handle);
202204 default :
203205 EnqueueEvent (ev);
204206 break ;
@@ -223,7 +225,7 @@ class TConfigsDispatcher : public TActorBootstrapped<TConfigsDispatcher> {
223225 IgnoreFunc (TEvConfigsDispatcher::TEvSetConfigSubscriptionResponse);
224226 // Resolve
225227 hFunc (TEvConsole::TEvGetNodeLabelsRequest, Handle);
226-
228+ hFunc (TEvConsole::TEvFetchStartupConfigRequest, Handle);
227229 // Ignore these console requests until we get rid of persistent subscriptions-related code
228230 IgnoreFunc (TEvConsole::TEvAddConfigSubscriptionResponse);
229231 IgnoreFunc (TEvConsole::TEvGetNodeConfigResponse);
@@ -242,6 +244,7 @@ class TConfigsDispatcher : public TActorBootstrapped<TConfigsDispatcher> {
242244 const std::variant<std::monostate, TDenyList, TAllowList> ItemsServeRules;
243245 const NKikimrConfig::TAppConfig BaseConfig;
244246 NKikimrConfig::TAppConfig CurrentConfig;
247+ const TString StartupConfigYaml;
245248 NKikimrConfig::TAppConfig CandidateStartupConfig;
246249 bool StartupConfigProcessError = false ;
247250 bool StartupConfigProcessDiff = false ;
@@ -275,6 +278,7 @@ TConfigsDispatcher::TConfigsDispatcher(const TConfigsDispatcherInitInfo& initInf
275278 , ItemsServeRules(initInfo.ItemsServeRules)
276279 , BaseConfig(initInfo.InitialConfig)
277280 , CurrentConfig(initInfo.InitialConfig)
281+ , StartupConfigYaml(initInfo.StartupConfigYaml)
278282 , CandidateStartupConfig(initInfo.InitialConfig)
279283 , DebugInfo(initInfo.DebugInfo)
280284 , RecordedInitialConfiguratorDeps(std::move(initInfo.RecordedInitialConfiguratorDeps))
@@ -1232,6 +1236,15 @@ void TConfigsDispatcher::Handle(TEvConsole::TEvGetNodeLabelsRequest::TPtr &ev) {
12321236 Send (ev->Sender , Response.Release ());
12331237}
12341238
1239+ void TConfigsDispatcher::Handle (TEvConsole::TEvFetchStartupConfigRequest::TPtr &ev) {
1240+ auto Response = MakeHolder<TEvConsole::TEvFetchStartupConfigResponse>();
1241+
1242+ auto * resp = Response->Record .MutableResponse ();
1243+ resp->set_config (StartupConfigYaml);
1244+
1245+ Send (ev->Sender , Response.Release ());
1246+ }
1247+
12351248IActor *CreateConfigsDispatcher (const TConfigsDispatcherInitInfo& initInfo) {
12361249 return new TConfigsDispatcher (initInfo);
12371250}
0 commit comments