@@ -21,8 +21,7 @@ import { Discovery } from './discovery';
2121import { SessionManager } from './sessions' ;
2222import { GRPCServer } from './grpc' ;
2323import { IdentitiesManager , providers } from './identities' ;
24- import ForwardProxy from './network/ForwardProxy' ;
25- import ReverseProxy from './network/ReverseProxy' ;
24+ import Proxy from './network/Proxy' ;
2625import { EventBus , captureRejectionSymbol } from './events' ;
2726import { createAgentService , AgentServiceService } from './agent' ;
2827import { createClientService , ClientServiceService } from './client' ;
@@ -31,13 +30,10 @@ import * as utils from './utils';
3130import * as errors from './errors' ;
3231
3332type NetworkConfig = {
33+ forwardHost ?: Host ;
34+ forwardPort ?: Port ;
3435 proxyHost ?: Host ;
3536 proxyPort ?: Port ;
36- egressHost ?: Host ;
37- egressPort ?: Port ;
38- // ReverseProxy
39- ingressHost ?: Host ;
40- ingressPort ?: Port ;
4137 // GRPCServer for agent service
4238 agentHost ?: Host ;
4339 agentPort ?: Port ;
@@ -59,8 +55,7 @@ class PolykeyAgent {
5955 nodePath = config . defaults . nodePath ,
6056 keysConfig = { } ,
6157 networkConfig = { } ,
62- forwardProxyConfig = { } ,
63- reverseProxyConfig = { } ,
58+ proxyConfig = { } ,
6459 nodeConnectionManagerConfig = { } ,
6560 seedNodes = { } ,
6661 // Optional dependencies
@@ -72,8 +67,7 @@ class PolykeyAgent {
7267 sigchain,
7368 acl,
7469 gestaltGraph,
75- fwdProxy,
76- revProxy,
70+ proxy,
7771 nodeGraph,
7872 nodeConnectionManager,
7973 nodeManager,
@@ -95,16 +89,12 @@ class PolykeyAgent {
9589 dbKeyBits ?: number ;
9690 recoveryCode ?: string ;
9791 } ;
98- forwardProxyConfig ?: {
92+ proxyConfig ?: {
9993 authToken ?: string ;
10094 connConnectTime ?: number ;
10195 connTimeoutTime ?: number ;
10296 connPingIntervalTime ?: number ;
10397 } ;
104- reverseProxyConfig ?: {
105- connConnectTime ?: number ;
106- connTimeoutTime ?: number ;
107- } ;
10898 nodeConnectionManagerConfig ?: {
10999 connConnectTime ?: number ;
110100 connTimeoutTime ?: number ;
@@ -120,8 +110,7 @@ class PolykeyAgent {
120110 sigchain ?: Sigchain ;
121111 acl ?: ACL ;
122112 gestaltGraph ?: GestaltGraph ;
123- fwdProxy ?: ForwardProxy ;
124- revProxy ?: ReverseProxy ;
113+ proxy ?: Proxy ;
125114 nodeGraph ?: NodeGraph ;
126115 nodeConnectionManager ?: NodeConnectionManager ;
127116 nodeManager ?: NodeManager ;
@@ -147,14 +136,10 @@ class PolykeyAgent {
147136 ...config . defaults . keysConfig ,
148137 ...utils . filterEmptyObject ( keysConfig ) ,
149138 } ;
150- const forwardProxyConfig_ = {
139+ const proxyConfig_ = {
151140 authToken : ( await keysUtils . getRandomBytes ( 10 ) ) . toString ( ) ,
152- ...config . defaults . forwardProxyConfig ,
153- ...utils . filterEmptyObject ( forwardProxyConfig ) ,
154- } ;
155- const reverseProxyConfig_ = {
156- ...config . defaults . reverseProxyConfig ,
157- ...utils . filterEmptyObject ( reverseProxyConfig ) ,
141+ ...config . defaults . proxyConfig ,
142+ ...utils . filterEmptyObject ( proxyConfig ) ,
158143 } ;
159144 const nodeConnectionManagerConfig_ = {
160145 ...config . defaults . nodeConnectionManagerConfig ,
@@ -256,17 +241,11 @@ class PolykeyAgent {
256241 logger : logger . getChild ( GestaltGraph . name ) ,
257242 fresh,
258243 } ) ) ;
259- fwdProxy =
260- fwdProxy ??
261- new ForwardProxy ( {
262- ...forwardProxyConfig_ ,
263- logger : logger . getChild ( ForwardProxy . name ) ,
264- } ) ;
265- revProxy =
266- revProxy ??
267- new ReverseProxy ( {
268- ...reverseProxyConfig_ ,
269- logger : logger . getChild ( ReverseProxy . name ) ,
244+ proxy =
245+ proxy ??
246+ new Proxy ( {
247+ ...proxyConfig_ ,
248+ logger : logger . getChild ( Proxy . name ) ,
270249 } ) ;
271250 nodeGraph =
272251 nodeGraph ??
@@ -281,8 +260,7 @@ class PolykeyAgent {
281260 new NodeConnectionManager ( {
282261 keyManager,
283262 nodeGraph,
284- fwdProxy,
285- revProxy,
263+ proxy,
286264 seedNodes,
287265 ...nodeConnectionManagerConfig_ ,
288266 logger : logger . getChild ( NodeConnectionManager . name ) ,
@@ -359,8 +337,7 @@ class PolykeyAgent {
359337 await notificationsManager ?. stop ( ) ;
360338 await vaultManager ?. stop ( ) ;
361339 await discovery ?. stop ( ) ;
362- await revProxy ?. stop ( ) ;
363- await fwdProxy ?. stop ( ) ;
340+ await proxy ?. stop ( ) ;
364341 await gestaltGraph ?. stop ( ) ;
365342 await acl ?. stop ( ) ;
366343 await sigchain ?. stop ( ) ;
@@ -381,8 +358,7 @@ class PolykeyAgent {
381358 sigchain,
382359 acl,
383360 gestaltGraph,
384- fwdProxy,
385- revProxy,
361+ proxy,
386362 nodeGraph,
387363 nodeConnectionManager,
388364 nodeManager,
@@ -414,8 +390,7 @@ class PolykeyAgent {
414390 public readonly sigchain : Sigchain ;
415391 public readonly acl : ACL ;
416392 public readonly gestaltGraph : GestaltGraph ;
417- public readonly fwdProxy : ForwardProxy ;
418- public readonly revProxy : ReverseProxy ;
393+ public readonly proxy : Proxy ;
419394 public readonly nodeGraph : NodeGraph ;
420395 public readonly nodeConnectionManager : NodeConnectionManager ;
421396 public readonly nodeManager : NodeManager ;
@@ -440,8 +415,7 @@ class PolykeyAgent {
440415 sigchain,
441416 acl,
442417 gestaltGraph,
443- fwdProxy,
444- revProxy,
418+ proxy,
445419 nodeGraph,
446420 nodeConnectionManager,
447421 nodeManager,
@@ -464,8 +438,7 @@ class PolykeyAgent {
464438 sigchain : Sigchain ;
465439 acl : ACL ;
466440 gestaltGraph : GestaltGraph ;
467- fwdProxy : ForwardProxy ;
468- revProxy : ReverseProxy ;
441+ proxy : Proxy ;
469442 nodeGraph : NodeGraph ;
470443 nodeConnectionManager : NodeConnectionManager ;
471444 nodeManager : NodeManager ;
@@ -489,8 +462,7 @@ class PolykeyAgent {
489462 this . sigchain = sigchain ;
490463 this . acl = acl ;
491464 this . gestaltGraph = gestaltGraph ;
492- this . fwdProxy = fwdProxy ;
493- this . revProxy = revProxy ;
465+ this . proxy = proxy ;
494466 this . discovery = discovery ;
495467 this . nodeGraph = nodeGraph ;
496468 this . nodeConnectionManager = nodeConnectionManager ;
@@ -541,8 +513,7 @@ class PolykeyAgent {
541513 nodeId : keyChangeData . nodeId ,
542514 } ) ;
543515 await this . nodeManager . refreshBuckets ( ) ;
544- this . fwdProxy . setTLSConfig ( keyChangeData . tlsConfig ) ;
545- this . revProxy . setTLSConfig ( keyChangeData . tlsConfig ) ;
516+ this . proxy . setTLSConfig ( keyChangeData . tlsConfig ) ;
546517 this . grpcServerClient . setTLSConfig ( keyChangeData . tlsConfig ) ;
547518 this . logger . info ( 'Propagated root keypair change' ) ;
548519 } ,
@@ -563,7 +534,7 @@ class PolykeyAgent {
563534 notificationsManager : this . notificationsManager ,
564535 acl : this . acl ,
565536 gestaltGraph : this . gestaltGraph ,
566- revProxy : this . revProxy ,
537+ proxy : this . proxy ,
567538 } ) ;
568539 const clientService = createClientService ( {
569540 pkAgent : this ,
@@ -581,8 +552,7 @@ class PolykeyAgent {
581552 acl : this . acl ,
582553 grpcServerClient : this . grpcServerClient ,
583554 grpcServerAgent : this . grpcServerAgent ,
584- fwdProxy : this . fwdProxy ,
585- revProxy : this . revProxy ,
555+ proxy : this . proxy ,
586556 fs : this . fs ,
587557 } ) ;
588558 // Starting modules
@@ -613,18 +583,13 @@ class PolykeyAgent {
613583 host : networkConfig_ . agentHost ,
614584 port : networkConfig_ . agentPort ,
615585 } ) ;
616- await this . fwdProxy . start ( {
617- proxyHost : networkConfig_ . proxyHost ,
618- proxyPort : networkConfig_ . proxyPort ,
619- egressHost : networkConfig_ . egressHost ,
620- egressPort : networkConfig_ . egressPort ,
621- tlsConfig,
622- } ) ;
623- await this . revProxy . start ( {
586+ await this . proxy . start ( {
587+ forwardHost : networkConfig_ . forwardHost ,
588+ forwardPort : networkConfig_ . forwardPort ,
624589 serverHost : this . grpcServerAgent . getHost ( ) ,
625590 serverPort : this . grpcServerAgent . getPort ( ) ,
626- ingressHost : networkConfig_ . ingressHost ,
627- ingressPort : networkConfig_ . ingressPort ,
591+ proxyHost : networkConfig_ . proxyHost ,
592+ proxyPort : networkConfig_ . proxyPort ,
628593 tlsConfig,
629594 } ) ;
630595 await this . nodeConnectionManager . start ( ) ;
@@ -639,8 +604,8 @@ class PolykeyAgent {
639604 nodeId : this . keyManager . getNodeId ( ) ,
640605 clientHost : this . grpcServerClient . getHost ( ) ,
641606 clientPort : this . grpcServerClient . getPort ( ) ,
642- ingressHost : this . revProxy . getIngressHost ( ) ,
643- ingressPort : this . revProxy . getIngressPort ( ) ,
607+ proxyHost : this . proxy . getProxyHost ( ) ,
608+ proxyPort : this . proxy . getProxyPort ( ) ,
644609 } ) ;
645610 this . logger . info ( `Started ${ this . constructor . name } ` ) ;
646611 } catch ( e ) {
@@ -650,8 +615,7 @@ class PolykeyAgent {
650615 await this . notificationsManager ?. stop ( ) ;
651616 await this . vaultManager ?. stop ( ) ;
652617 await this . discovery ?. stop ( ) ;
653- await this . revProxy ?. stop ( ) ;
654- await this . fwdProxy ?. stop ( ) ;
618+ await this . proxy ?. stop ( ) ;
655619 await this . grpcServerAgent ?. stop ( ) ;
656620 await this . grpcServerClient ?. stop ( ) ;
657621 await this . gestaltGraph ?. stop ( ) ;
@@ -679,8 +643,7 @@ class PolykeyAgent {
679643 await this . discovery . stop ( ) ;
680644 await this . nodeConnectionManager . stop ( ) ;
681645 await this . nodeGraph . stop ( ) ;
682- await this . revProxy . stop ( ) ;
683- await this . fwdProxy . stop ( ) ;
646+ await this . proxy . stop ( ) ;
684647 await this . grpcServerAgent . stop ( ) ;
685648 await this . grpcServerClient . stop ( ) ;
686649 await this . gestaltGraph . stop ( ) ;
0 commit comments