fix(route-config): sync applied routes to remote ingress manager after route updates
This commit is contained in:
@@ -1,5 +1,11 @@
|
|||||||
# Changelog
|
# Changelog
|
||||||
|
|
||||||
|
## 2026-04-02 - 12.2.2 - fix(route-config)
|
||||||
|
sync applied routes to remote ingress manager after route updates
|
||||||
|
|
||||||
|
- add an optional route-applied callback to RouteConfigManager
|
||||||
|
- forward merged SmartProxy routes to RemoteIngressManager whenever routes are updated
|
||||||
|
|
||||||
## 2026-04-02 - 12.2.1 - fix(web-ui)
|
## 2026-04-02 - 12.2.1 - fix(web-ui)
|
||||||
align dees-table props and action handlers in security profile and network target views
|
align dees-table props and action handlers in security profile and network target views
|
||||||
|
|
||||||
|
|||||||
@@ -3,6 +3,6 @@
|
|||||||
*/
|
*/
|
||||||
export const commitinfo = {
|
export const commitinfo = {
|
||||||
name: '@serve.zone/dcrouter',
|
name: '@serve.zone/dcrouter',
|
||||||
version: '12.2.1',
|
version: '12.2.2',
|
||||||
description: 'A multifaceted routing service handling mail and SMS delivery functions.'
|
description: 'A multifaceted routing service handling mail and SMS delivery functions.'
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -478,6 +478,12 @@ export class DcRouter {
|
|||||||
}
|
}
|
||||||
: undefined,
|
: undefined,
|
||||||
this.referenceResolver,
|
this.referenceResolver,
|
||||||
|
// Sync merged routes to RemoteIngressManager whenever routes change
|
||||||
|
(routes) => {
|
||||||
|
if (this.remoteIngressManager) {
|
||||||
|
this.remoteIngressManager.setRoutes(routes as any[]);
|
||||||
|
}
|
||||||
|
},
|
||||||
);
|
);
|
||||||
this.apiTokenManager = new ApiTokenManager();
|
this.apiTokenManager = new ApiTokenManager();
|
||||||
await this.apiTokenManager.initialize();
|
await this.apiTokenManager.initialize();
|
||||||
|
|||||||
@@ -23,6 +23,7 @@ export class RouteConfigManager {
|
|||||||
private getHttp3Config?: () => IHttp3Config | undefined,
|
private getHttp3Config?: () => IHttp3Config | undefined,
|
||||||
private getVpnAllowList?: (tags?: string[]) => string[],
|
private getVpnAllowList?: (tags?: string[]) => string[],
|
||||||
private referenceResolver?: ReferenceResolver,
|
private referenceResolver?: ReferenceResolver,
|
||||||
|
private onRoutesApplied?: (routes: plugins.smartproxy.IRouteConfig[]) => void,
|
||||||
) {}
|
) {}
|
||||||
|
|
||||||
/** Expose stored routes map for reference resolution lookups. */
|
/** Expose stored routes map for reference resolution lookups. */
|
||||||
@@ -393,6 +394,12 @@ export class RouteConfigManager {
|
|||||||
}
|
}
|
||||||
|
|
||||||
await smartProxy.updateRoutes(enabledRoutes);
|
await smartProxy.updateRoutes(enabledRoutes);
|
||||||
|
|
||||||
|
// Notify listeners (e.g. RemoteIngressManager) of the merged route set
|
||||||
|
if (this.onRoutesApplied) {
|
||||||
|
this.onRoutesApplied(enabledRoutes);
|
||||||
|
}
|
||||||
|
|
||||||
logger.log('info', `Applied ${enabledRoutes.length} routes to SmartProxy (${this.storedRoutes.size} programmatic, ${this.overrides.size} overrides)`);
|
logger.log('info', `Applied ${enabledRoutes.length} routes to SmartProxy (${this.storedRoutes.size} programmatic, ${this.overrides.size} overrides)`);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,6 +3,6 @@
|
|||||||
*/
|
*/
|
||||||
export const commitinfo = {
|
export const commitinfo = {
|
||||||
name: '@serve.zone/dcrouter',
|
name: '@serve.zone/dcrouter',
|
||||||
version: '12.2.1',
|
version: '12.2.2',
|
||||||
description: 'A multifaceted routing service handling mail and SMS delivery functions.'
|
description: 'A multifaceted routing service handling mail and SMS delivery functions.'
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user