chore: trim spaces for x-caddy, diff Caddy configs when comparing service specs

This commit is contained in:
Pasha Sviderski
2025-08-13 19:27:40 +10:00
parent 12c07812a2
commit dd7bc6c982
5 changed files with 101 additions and 11 deletions
+13
View File
@@ -1,8 +1,21 @@
package api
import "strings"
// CaddySpec is the Caddy reverse proxy configuration for a service.
type CaddySpec struct {
// Config contains the Caddy config (Caddyfile) content. It must not conflict with the Caddy configs
// of other services.
Config string
}
func (c *CaddySpec) Equals(other *CaddySpec) bool {
if c == nil {
return other == nil || strings.TrimSpace(other.Config) == ""
}
if other == nil {
return strings.TrimSpace(c.Config) == ""
}
return strings.TrimSpace(c.Config) == strings.TrimSpace(other.Config)
}