From 56b7dd800d23713b99bf33b041f1253cd09000c5 Mon Sep 17 00:00:00 2001 From: Paul Payne Date: Thu, 9 Jul 2026 20:39:38 +0000 Subject: [PATCH] feat: Update web UI for domain-keyed service model - RegisteredService: removed name, added subdomains bool - CertEntry: removed service field (domain is the key) - Ingress page: domain as primary label, subdomains badge - Certificates page: source shown under domain - All type-check passes Co-Authored-By: Claude Opus 4.6 (1M context) --- web/src/components/IngressProxyComponent.tsx | 8 +++++--- web/src/router/pages/CertificatesPage.tsx | 3 +-- web/src/services/api/cert.ts | 1 - web/src/services/api/networking.ts | 6 ++---- 4 files changed, 8 insertions(+), 10 deletions(-) diff --git a/web/src/components/IngressProxyComponent.tsx b/web/src/components/IngressProxyComponent.tsx index 1f62006..1ef3ae1 100644 --- a/web/src/components/IngressProxyComponent.tsx +++ b/web/src/components/IngressProxyComponent.tsx @@ -154,7 +154,7 @@ export function IngressProxyComponent() { ) : services.length > 0 ? (
{services.map(s => ( -
+
{s.reach === 'public' ? ( @@ -162,8 +162,10 @@ export function IngressProxyComponent() { ) : ( )} - {s.name} - {s.domain} + {s.domain} + {s.subdomains && ( + *.{s.domain} + )}
{s.backend.address}
diff --git a/web/src/router/pages/CertificatesPage.tsx b/web/src/router/pages/CertificatesPage.tsx index e9d5f7f..c22e7f4 100644 --- a/web/src/router/pages/CertificatesPage.tsx +++ b/web/src/router/pages/CertificatesPage.tsx @@ -168,8 +168,7 @@ export function CertificatesPage() {
{entry.domain}
- {entry.service} - ({entry.source}) + {entry.source}
diff --git a/web/src/services/api/cert.ts b/web/src/services/api/cert.ts index 8cf2057..86d4387 100644 --- a/web/src/services/api/cert.ts +++ b/web/src/services/api/cert.ts @@ -12,7 +12,6 @@ export interface CertInfo { export interface CertEntry { domain: string; - service: string; source: string; cert: CertInfo; coveredBy?: string; diff --git a/web/src/services/api/networking.ts b/web/src/services/api/networking.ts index a3d9d36..26f613c 100644 --- a/web/src/services/api/networking.ts +++ b/web/src/services/api/networking.ts @@ -3,9 +3,9 @@ import { apiClient } from './client'; // Services export interface RegisteredService { - name: string; - source: string; domain: string; + source: string; + subdomains: boolean; backend: { address: string; type: string; @@ -24,10 +24,8 @@ export const servicesApi = { // HAProxy export interface HaproxyInstanceRoute { - name: string; domain: string; backendIP: string; - extraDomains?: string[]; } export interface HaproxyStatus {