feat(remoteingress): include listenPorts for allowed edges sent to the Rust hub and always resync allowed edges when edge properties change

This commit is contained in:
2026-02-18 21:35:18 +00:00
parent 9cbdd24281
commit c88410ea53
5 changed files with 18 additions and 7 deletions

View File

@@ -1,5 +1,12 @@
# Changelog # Changelog
## 2026-02-18 - 6.13.0 - feat(remoteingress)
include listenPorts for allowed edges sent to the Rust hub and always resync allowed edges when edge properties change
- getAllowedEdges now returns listenPorts for each allowed edge (uses getEffectiveListenPorts)
- remoteingress handler now calls tunnelManager.syncAllowedEdges() whenever tunnelManager exists so ports/tags/enabled changes are propagated
- Improves Rust hub routing by providing per-edge listening ports and ensuring allowed-edge list is kept up-to-date
## 2026-02-18 - 6.12.0 - feat(remote-ingress) ## 2026-02-18 - 6.12.0 - feat(remote-ingress)
add Remote Ingress hub integration, OpsServer UI, APIs, and docs add Remote Ingress hub integration, OpsServer UI, APIs, and docs

View File

@@ -3,6 +3,6 @@
*/ */
export const commitinfo = { export const commitinfo = {
name: '@serve.zone/dcrouter', name: '@serve.zone/dcrouter',
version: '6.12.0', version: '6.13.0',
description: 'A multifaceted routing service handling mail and SMS delivery functions.' description: 'A multifaceted routing service handling mail and SMS delivery functions.'
} }

View File

@@ -117,8 +117,8 @@ export class RemoteIngressHandler {
return { success: false, edge: null as any }; return { success: false, edge: null as any };
} }
// Sync allowed edges if enabled status changed // Sync allowed edges — ports, tags, or enabled may have changed
if (tunnelManager && dataArg.enabled !== undefined) { if (tunnelManager) {
await tunnelManager.syncAllowedEdges(); await tunnelManager.syncAllowedEdges();
} }

View File

@@ -242,11 +242,15 @@ export class RemoteIngressManager {
/** /**
* Get the list of allowed edges (enabled only) for the Rust hub. * Get the list of allowed edges (enabled only) for the Rust hub.
*/ */
public getAllowedEdges(): Array<{ id: string; secret: string }> { public getAllowedEdges(): Array<{ id: string; secret: string; listenPorts: number[] }> {
const result: Array<{ id: string; secret: string }> = []; const result: Array<{ id: string; secret: string; listenPorts: number[] }> = [];
for (const edge of this.edges.values()) { for (const edge of this.edges.values()) {
if (edge.enabled) { if (edge.enabled) {
result.push({ id: edge.id, secret: edge.secret }); result.push({
id: edge.id,
secret: edge.secret,
listenPorts: this.getEffectiveListenPorts(edge),
});
} }
} }
return result; return result;

View File

@@ -3,6 +3,6 @@
*/ */
export const commitinfo = { export const commitinfo = {
name: '@serve.zone/dcrouter', name: '@serve.zone/dcrouter',
version: '6.12.0', version: '6.13.0',
description: 'A multifaceted routing service handling mail and SMS delivery functions.' description: 'A multifaceted routing service handling mail and SMS delivery functions.'
} }