2026-02-16 11:25:16 +00:00
|
|
|
import * as plugins from '../plugins.js';
|
|
|
|
|
import * as authInterfaces from '../data/auth.js';
|
|
|
|
|
import type { IRemoteIngress, IRemoteIngressStatus } from '../data/remoteingress.js';
|
|
|
|
|
|
|
|
|
|
// ============================================================================
|
|
|
|
|
// Remote Ingress Edge Management
|
|
|
|
|
// ============================================================================
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Create a new remote ingress edge registration.
|
|
|
|
|
*/
|
|
|
|
|
export interface IReq_CreateRemoteIngress extends plugins.typedrequestInterfaces.implementsTR<
|
|
|
|
|
plugins.typedrequestInterfaces.ITypedRequest,
|
|
|
|
|
IReq_CreateRemoteIngress
|
|
|
|
|
> {
|
|
|
|
|
method: 'createRemoteIngress';
|
|
|
|
|
request: {
|
|
|
|
|
identity?: authInterfaces.IIdentity;
|
|
|
|
|
name: string;
|
2026-02-17 10:55:31 +00:00
|
|
|
listenPorts?: number[];
|
2026-02-17 14:17:18 +00:00
|
|
|
autoDerivePorts?: boolean;
|
2026-02-16 11:25:16 +00:00
|
|
|
tags?: string[];
|
|
|
|
|
};
|
|
|
|
|
response: {
|
|
|
|
|
success: boolean;
|
|
|
|
|
edge: IRemoteIngress;
|
|
|
|
|
};
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Delete a remote ingress edge registration.
|
|
|
|
|
*/
|
|
|
|
|
export interface IReq_DeleteRemoteIngress extends plugins.typedrequestInterfaces.implementsTR<
|
|
|
|
|
plugins.typedrequestInterfaces.ITypedRequest,
|
|
|
|
|
IReq_DeleteRemoteIngress
|
|
|
|
|
> {
|
|
|
|
|
method: 'deleteRemoteIngress';
|
|
|
|
|
request: {
|
|
|
|
|
identity?: authInterfaces.IIdentity;
|
|
|
|
|
id: string;
|
|
|
|
|
};
|
|
|
|
|
response: {
|
|
|
|
|
success: boolean;
|
|
|
|
|
message?: string;
|
|
|
|
|
};
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Update a remote ingress edge registration.
|
|
|
|
|
*/
|
|
|
|
|
export interface IReq_UpdateRemoteIngress extends plugins.typedrequestInterfaces.implementsTR<
|
|
|
|
|
plugins.typedrequestInterfaces.ITypedRequest,
|
|
|
|
|
IReq_UpdateRemoteIngress
|
|
|
|
|
> {
|
|
|
|
|
method: 'updateRemoteIngress';
|
|
|
|
|
request: {
|
|
|
|
|
identity?: authInterfaces.IIdentity;
|
|
|
|
|
id: string;
|
|
|
|
|
name?: string;
|
|
|
|
|
listenPorts?: number[];
|
2026-02-17 14:17:18 +00:00
|
|
|
autoDerivePorts?: boolean;
|
2026-02-16 11:25:16 +00:00
|
|
|
enabled?: boolean;
|
|
|
|
|
tags?: string[];
|
|
|
|
|
};
|
|
|
|
|
response: {
|
|
|
|
|
success: boolean;
|
|
|
|
|
edge: IRemoteIngress;
|
|
|
|
|
};
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Regenerate the secret for a remote ingress edge.
|
|
|
|
|
*/
|
|
|
|
|
export interface IReq_RegenerateRemoteIngressSecret extends plugins.typedrequestInterfaces.implementsTR<
|
|
|
|
|
plugins.typedrequestInterfaces.ITypedRequest,
|
|
|
|
|
IReq_RegenerateRemoteIngressSecret
|
|
|
|
|
> {
|
|
|
|
|
method: 'regenerateRemoteIngressSecret';
|
|
|
|
|
request: {
|
|
|
|
|
identity?: authInterfaces.IIdentity;
|
|
|
|
|
id: string;
|
|
|
|
|
};
|
|
|
|
|
response: {
|
|
|
|
|
success: boolean;
|
|
|
|
|
secret: string;
|
|
|
|
|
};
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Get all remote ingress edge registrations.
|
|
|
|
|
*/
|
|
|
|
|
export interface IReq_GetRemoteIngresses extends plugins.typedrequestInterfaces.implementsTR<
|
|
|
|
|
plugins.typedrequestInterfaces.ITypedRequest,
|
|
|
|
|
IReq_GetRemoteIngresses
|
|
|
|
|
> {
|
|
|
|
|
method: 'getRemoteIngresses';
|
|
|
|
|
request: {
|
|
|
|
|
identity?: authInterfaces.IIdentity;
|
|
|
|
|
};
|
|
|
|
|
response: {
|
|
|
|
|
edges: IRemoteIngress[];
|
|
|
|
|
};
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Get runtime status of all remote ingress edges.
|
|
|
|
|
*/
|
|
|
|
|
export interface IReq_GetRemoteIngressStatus extends plugins.typedrequestInterfaces.implementsTR<
|
|
|
|
|
plugins.typedrequestInterfaces.ITypedRequest,
|
|
|
|
|
IReq_GetRemoteIngressStatus
|
|
|
|
|
> {
|
|
|
|
|
method: 'getRemoteIngressStatus';
|
|
|
|
|
request: {
|
|
|
|
|
identity?: authInterfaces.IIdentity;
|
|
|
|
|
};
|
|
|
|
|
response: {
|
|
|
|
|
statuses: IRemoteIngressStatus[];
|
|
|
|
|
};
|
|
|
|
|
}
|