BREAKING CHANGE(opsserver): Return structured configuration (IConfigData) from opsserver and update UI to render detailed config sections
This commit is contained in:
@@ -1,6 +1,78 @@
|
||||
import * as plugins from '../plugins.js';
|
||||
import * as authInterfaces from '../data/auth.js';
|
||||
|
||||
export interface IConfigData {
|
||||
system: {
|
||||
baseDir: string;
|
||||
dataDir: string;
|
||||
publicIp: string | null;
|
||||
proxyIps: string[];
|
||||
uptime: number;
|
||||
storageBackend: 'filesystem' | 'custom' | 'memory';
|
||||
storagePath: string | null;
|
||||
};
|
||||
smartProxy: {
|
||||
enabled: boolean;
|
||||
routeCount: number;
|
||||
acme: {
|
||||
enabled: boolean;
|
||||
accountEmail: string;
|
||||
useProduction: boolean;
|
||||
autoRenew: boolean;
|
||||
renewThresholdDays: number;
|
||||
} | null;
|
||||
};
|
||||
email: {
|
||||
enabled: boolean;
|
||||
ports: number[];
|
||||
portMapping: Record<string, number> | null;
|
||||
hostname: string | null;
|
||||
domains: string[];
|
||||
emailRouteCount: number;
|
||||
receivedEmailsPath: string | null;
|
||||
};
|
||||
dns: {
|
||||
enabled: boolean;
|
||||
port: number;
|
||||
nsDomains: string[];
|
||||
scopes: string[];
|
||||
recordCount: number;
|
||||
records: Array<{ name: string; type: string; value: string; ttl?: number }>;
|
||||
dnsChallenge: boolean;
|
||||
};
|
||||
tls: {
|
||||
contactEmail: string | null;
|
||||
domain: string | null;
|
||||
source: 'acme' | 'static' | 'none';
|
||||
certPath: string | null;
|
||||
keyPath: string | null;
|
||||
};
|
||||
cache: {
|
||||
enabled: boolean;
|
||||
storagePath: string | null;
|
||||
dbName: string | null;
|
||||
defaultTTLDays: number;
|
||||
cleanupIntervalHours: number;
|
||||
ttlConfig: Record<string, number>;
|
||||
};
|
||||
radius: {
|
||||
enabled: boolean;
|
||||
authPort: number | null;
|
||||
acctPort: number | null;
|
||||
bindAddress: string | null;
|
||||
clientCount: number;
|
||||
vlanDefaultVlan: number | null;
|
||||
vlanAllowUnknownMacs: boolean | null;
|
||||
vlanMappingCount: number;
|
||||
};
|
||||
remoteIngress: {
|
||||
enabled: boolean;
|
||||
tunnelPort: number | null;
|
||||
hubDomain: string | null;
|
||||
tlsConfigured: boolean;
|
||||
};
|
||||
}
|
||||
|
||||
// Get Configuration (read-only)
|
||||
export interface IReq_GetConfiguration extends plugins.typedrequestInterfaces.implementsTR<
|
||||
plugins.typedrequestInterfaces.ITypedRequest,
|
||||
@@ -12,7 +84,7 @@ export interface IReq_GetConfiguration extends plugins.typedrequestInterfaces.im
|
||||
section?: string;
|
||||
};
|
||||
response: {
|
||||
config: any;
|
||||
config: IConfigData;
|
||||
section?: string;
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user