feat(route): add YAML anchor exclusion reason

Add ExcludedReasonYAMLAnchor to explicitly identify routes with "x-" prefix
used for YAML anchors and references. These routes are removed before
validation.
This commit is contained in:
yusing
2026-01-31 18:56:16 +08:00
parent 4c62a4b365
commit 12a8b9a1b4

View File

@@ -749,6 +749,7 @@ const (
ExcludedReasonNoPortSpecified ExcludedReasonNoPortSpecified
ExcludedReasonBlacklisted ExcludedReasonBlacklisted
ExcludedReasonBuildx ExcludedReasonBuildx
ExcludedReasonYAMLAnchor
ExcludedReasonOld ExcludedReasonOld
) )
@@ -768,6 +769,8 @@ func (re ExcludedReason) String() string {
return "Blacklisted (backend service or database)" return "Blacklisted (backend service or database)"
case ExcludedReasonBuildx: case ExcludedReasonBuildx:
return "Buildx" return "Buildx"
case ExcludedReasonYAMLAnchor:
return "YAML anchor or reference"
case ExcludedReasonOld: case ExcludedReasonOld:
return "Container renaming intermediate state" return "Container renaming intermediate state"
default: default:
@@ -802,6 +805,12 @@ func (r *Route) findExcludedReason() ExcludedReason {
} else if r.IsZeroPort() && r.Scheme != route.SchemeFileServer { } else if r.IsZeroPort() && r.Scheme != route.SchemeFileServer {
return ExcludedReasonNoPortSpecified return ExcludedReasonNoPortSpecified
} }
// this should happen on validation API only,
// those routes are removed before validation.
// see removeXPrefix in provider/file.go
if strings.HasPrefix(r.Alias, "x-") { // for YAML anchors and references
return ExcludedReasonYAMLAnchor
}
if strings.HasSuffix(r.Alias, "-old") { if strings.HasSuffix(r.Alias, "-old") {
return ExcludedReasonOld return ExcludedReasonOld
} }