refactor: remove standalone proxies, add Traefik provider with Docker labels
Standalone proxy removal: - Delete store, API handlers, proxy manager, health monitor, validator, hints - Delete frontend pages (proxies list, create, edit) and components (ProxyCard, ProxyForm, ProxyFilter, ProxyGroup, ValidationChecklist) - Remove proxy routes from router, nav items, dashboard references - Clean up SystemHealthCard to remove proxy section Traefik provider: - Add TraefikProvider implementing proxy.Provider via Docker labels - ContainerLabels() returns traefik.enable, router rule, entrypoints, service port, TLS cert resolver, docker network - ConfigureRoute() returns router name (labels handle routing at container creation) - DeleteRoute() is no-op (container removal auto-deregisters) - Ping() checks Traefik API health (optional) - Wire ContainerLabels into deployer (executeDeploy + blueGreenDeploy) - Add Traefik settings: entrypoint, cert_resolver, network, api_url - Add traefik option to proxy provider selector in settings UI - Show conditional Traefik config fields - Add i18n keys (EN + RU)
This commit is contained in:
@@ -11,15 +11,12 @@ import type {
|
||||
NpmCertificate,
|
||||
Project,
|
||||
ProjectDetail,
|
||||
ProxyView,
|
||||
Registry,
|
||||
RegistryImage,
|
||||
Settings,
|
||||
StaleContainer,
|
||||
Stage,
|
||||
StageEnv,
|
||||
StandaloneProxy,
|
||||
ValidationResult,
|
||||
Volume,
|
||||
VolumeScopeInfo,
|
||||
BrowseResult,
|
||||
@@ -531,43 +528,6 @@ export function fetchEventLogStats(): Promise<EventLogStats> {
|
||||
return get<EventLogStats>('/api/events/log/stats');
|
||||
}
|
||||
|
||||
// ── Proxies ─────────────────────────────────────────────────────────
|
||||
|
||||
export function validateProxy(host: string, port: number): Promise<ValidationResult> {
|
||||
return post<ValidationResult>('/api/proxies/validate', { host, port });
|
||||
}
|
||||
|
||||
export function createProxy(data: {
|
||||
domain: string;
|
||||
destination_url: string;
|
||||
destination_port: number;
|
||||
}): Promise<StandaloneProxy> {
|
||||
return post<StandaloneProxy>('/api/proxies', data);
|
||||
}
|
||||
|
||||
export function listProxies(): Promise<StandaloneProxy[]> {
|
||||
return get<StandaloneProxy[]>('/api/proxies');
|
||||
}
|
||||
|
||||
export function getProxy(id: string): Promise<StandaloneProxy> {
|
||||
return get<StandaloneProxy>(`/api/proxies/${id}`);
|
||||
}
|
||||
|
||||
export function updateProxy(
|
||||
id: string,
|
||||
data: { domain: string; destination_url: string; destination_port: number }
|
||||
): Promise<StandaloneProxy> {
|
||||
return put<StandaloneProxy>(`/api/proxies/${id}`, data);
|
||||
}
|
||||
|
||||
export function deleteProxy(id: string): Promise<{ deleted: string }> {
|
||||
return del<{ deleted: string }>(`/api/proxies/${id}`);
|
||||
}
|
||||
|
||||
export function listAllProxies(): Promise<ProxyView[]> {
|
||||
return get<ProxyView[]>('/api/proxies/all');
|
||||
}
|
||||
|
||||
// ── Stale Containers ────────────────────────────────────────────────
|
||||
|
||||
export function fetchStaleContainers(): Promise<StaleContainer[]> {
|
||||
|
||||
Reference in New Issue
Block a user