feat: add service catalog management with policy integration for domain-based resource access control

Add ServiceCatalogItem type and services CRUD API endpoints (list, create, update, delete). Extend Policy type to include services array with domain, upstream_ip, proxy_ip, and ports metadata.

Add ServicesPage component with table view and create/edit modals for managing service definitions. Include service name, domain, proxy, and upstream columns with port parsing logic.

Integrate service selection
This commit is contained in:
2026-03-18 13:09:54 +01:00
parent 0ac93dfeb6
commit 6cf49ff3e0
25 changed files with 1375 additions and 99 deletions

View File

@@ -1,12 +1,21 @@
package wireguard
type Peer struct {
DeviceID string `json:"device_id"`
PublicKey string `json:"public_key"`
AssignedIP string `json:"assigned_ip"`
AllowedDestinations []string `json:"allowed_destinations"`
DNSServers []string `json:"dns_servers"`
WebProxyTargets []string `json:"web_proxy_targets"`
DeviceID string `json:"device_id"`
PublicKey string `json:"public_key"`
AssignedIP string `json:"assigned_ip"`
AllowedDestinations []string `json:"allowed_destinations"`
DNSServers []string `json:"dns_servers"`
AllowedServices []AllowedService `json:"allowed_services"`
}
type AllowedService struct {
Name string `json:"name"`
Domain string `json:"domain"`
UpstreamIP string `json:"upstream_ip"`
ProxyIP string `json:"proxy_ip"`
AccessProxyIP string `json:"access_proxy_ip"`
Ports []int `json:"ports"`
}
type GatewayBundle struct {