44from pathlib import Path
55
66import structlog
7- from pynixd .config import PynixdSettings
7+ from pynixd .config import LocalSocketStoreSpec , PynixdSettings
88from pynixd .instance import Server
9- from pynixd .store import LocalSocketStore
9+ from pynixd .store import LocalSocketStore , Store
10+ from pynixd .types .ids import StoreId
1011
1112from .builder_manager import BuilderManager
1213from .config import NixkubeCentralSettings
@@ -22,30 +23,32 @@ async def _main() -> None:
2223 install_nss ()
2324
2425 local_store = LocalSocketStore (
25- store_id = "local" ,
26- store_path = Path ("/" ),
27- use_db = False ,
28- monitor = False ,
26+ LocalSocketStoreSpec (
27+ store_id = StoreId ("local" ),
28+ store_path = Path ("/data" ),
29+ use_db = False ,
30+ monitor = False ,
31+ )
2932 )
3033
3134 pynixd_settings = PynixdSettings ()
3235 settings = NixkubeCentralSettings ()
3336
34- server = Server (local_store = local_store , settings = pynixd_settings )
35-
37+ stores : dict [StoreId , Store ] = {StoreId ("local" ): local_store }
3638 if pynixd_settings .stores :
37- _ , remote_stores = pynixd_settings .to_stores ()
38- server .ctx ._stores .update (remote_stores )
39+ config_stores = pynixd_settings .to_stores ()
40+ for store_id , store in config_stores .items ():
41+ if store_id != StoreId ("local" ):
42+ stores [store_id ] = store
43+
44+ server = Server (stores = stores , settings = pynixd_settings )
3945
4046 builder_manager : BuilderManager | None = None
4147
4248 async with server :
4349 keys_watch = asyncio .create_task (watch_authorized_keys (server ))
4450 server .background_tasks .append (keys_watch )
4551
46- if pynixd_settings .schedule_mode != "scheduler" :
47- await server .add_store (local_store )
48-
4952 if settings .kube_namespace :
5053 builder_manager = BuilderManager (
5154 server = server ,
0 commit comments