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:
@@ -315,6 +315,19 @@ func (d *Deployer) executeDeploy(
|
||||
Mounts: mounts,
|
||||
}
|
||||
|
||||
// Set proxy labels for providers that use Docker labels (e.g., Traefik).
|
||||
if stage.EnableProxy {
|
||||
fqdn := subdomain + "." + settings.Domain
|
||||
if proxyLabels := d.proxy.ContainerLabels(fqdn, project.Port); proxyLabels != nil {
|
||||
if containerCfg.Labels == nil {
|
||||
containerCfg.Labels = make(map[string]string)
|
||||
}
|
||||
for k, v := range proxyLabels {
|
||||
containerCfg.Labels[k] = v
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
d.logDeploy(deployID, fmt.Sprintf("Creating container %s", containerName), "info")
|
||||
containerID, err = d.docker.CreateContainer(ctx, containerCfg)
|
||||
if err != nil {
|
||||
|
||||
Reference in New Issue
Block a user