diff --git a/piker/cli/__init__.py b/piker/cli/__init__.py index fdecb818..84051862 100644 --- a/piker/cli/__init__.py +++ b/piker/cli/__init__.py @@ -46,8 +46,8 @@ log = get_logger('piker.cli') def load_trans_eps( - network: dict | None = None, - maddrs: list[tuple] | None = None, + network: dict|None = None, + maddrs: list[tuple]|None = None, ) -> dict[str, dict[str, dict]]: @@ -61,15 +61,15 @@ def load_trans_eps( if ( network - and not maddrs + and + not maddrs ): # load network section and (attempt to) connect all endpoints # which are reachable B) for key, maddrs in network.items(): match key: - # TODO: resolve table across multiple discov - # prots Bo + # TODO: resolve table across multiple discov prots Bo case 'resolv': pass @@ -123,7 +123,7 @@ def load_trans_eps( # help='Enable local ``elasticsearch`` instance' # ) def pikerd( - maddr: list[str] | None, + maddr: list[str]|None, loglevel: str, tl: bool, pdb: bool, @@ -156,7 +156,8 @@ def pikerd( network: dict = conf.get('network') if ( network is None - and not maddr + and + not maddr ): regaddrs = [( _default_registry_host, @@ -168,10 +169,40 @@ def pikerd( network, maddr, ) + match eps: + case { + 'pikerd': [ + { + 'ipv4': { + 'layer': 3, + 'addr': host, + 'proto': l3_proto, + }, + 'tcp': { + 'layer': 4, + 'port': int(port), + 'proto': l4_proto, + }, + }, + # | { + # 'uds': { + # 'layer': 4, + # 'port': int(port), + # }, + # }, + ], + }: + assert l3_proto == 'ipv4' + assert l4_proto == 'tcp' + # breakpoint() + + # XXX, for now always setup a localhost TCP registry addr. for layers in eps['pikerd']: + host: str = layers['ipv4']['addr'] + port: int = layers['tcp']['port'] regaddrs.append(( - layers['ipv4']['addr'], - layers['tcp']['port'], + host, + port, )) from .. import service @@ -183,8 +214,8 @@ def pikerd( registry_addrs=regaddrs, loglevel=loglevel, debug_mode=pdb, - # enable_transports=['uds'], - enable_transports=['tcp'], + enable_transports=[l4_proto], + # enable_transports=['tcp'], ) as service_mngr, ): assert service_mngr