feat(remote-ingress): add Remote Ingress hub integration, OpsServer UI, APIs, and docs

This commit is contained in:
2026-02-18 18:47:18 +00:00
parent 86e6c4f600
commit dce1de8c4b
13 changed files with 456 additions and 43 deletions

View File

@@ -200,7 +200,7 @@ export interface IRemoteIngressState {
edges: interfaces.data.IRemoteIngress[];
statuses: interfaces.data.IRemoteIngressStatus[];
selectedEdgeId: string | null;
newEdgeSecret: string | null;
newEdgeId: string | null;
isLoading: boolean;
error: string | null;
lastUpdated: number;
@@ -212,7 +212,7 @@ export const remoteIngressStatePart = await appState.getStatePart<IRemoteIngress
edges: [],
statuses: [],
selectedEdgeId: null,
newEdgeSecret: null,
newEdgeId: null,
isLoading: false,
error: null,
lastUpdated: 0,
@@ -928,11 +928,12 @@ export const createRemoteIngressAction = remoteIngressStatePart.createAction<{
});
if (response.success) {
// Refresh the list and store the new secret for display
// Refresh the list
await remoteIngressStatePart.dispatchAction(fetchRemoteIngressAction, null);
return {
...statePartArg.getState(),
newEdgeSecret: response.edge.secret,
newEdgeId: response.edge.id,
};
}
@@ -1023,7 +1024,7 @@ export const regenerateRemoteIngressSecretAction = remoteIngressStatePart.create
if (response.success) {
return {
...currentState,
newEdgeSecret: response.secret,
newEdgeId: edgeId,
};
}
@@ -1037,11 +1038,11 @@ export const regenerateRemoteIngressSecretAction = remoteIngressStatePart.create
}
);
export const clearNewEdgeSecretAction = remoteIngressStatePart.createAction(
export const clearNewEdgeIdAction = remoteIngressStatePart.createAction(
async (statePartArg) => {
return {
...statePartArg.getState(),
newEdgeSecret: null,
newEdgeId: null,
};
}
);