Hi,
I'd like to bring your attention to a minor problem with Site objects.
The SiteService and SiteFarm objects don't have a From field which prevents users from specifying a named defaults section to be used when configuring Sites.
The
|
func SerializeServiceToFrontend(service *models.SiteService, name string) *models.Frontend { |
|
fr := &models.Frontend{Name: name} |
|
if service != nil { |
|
fr.Mode = service.Mode |
|
fr.Maxconn = service.Maxconn |
|
fr.HTTPConnectionMode = service.HTTPConnectionMode |
|
|
|
} |
|
return fr |
|
} |
and
|
func SerializeFarmToBackend(farm *models.SiteFarm) *models.Backend { |
|
return &models.Backend{ |
|
Name: farm.Name, |
|
Mode: farm.Mode, |
|
Forwardfor: farm.Forwardfor, |
|
Balance: farm.Balance, |
|
} |
|
} |
methods don't set the
|
From string `json:"from,omitempty"` |
and
|
From string `json:"from,omitempty"` |
respectively which leads to warnings in HAProxy when applying the configuration:
[WARNING] (1) : config : parsing [/etc/haproxy/haproxy.cfg:48] : defaults section 'defaults' (declared at /etc/haproxy/haproxy.cfg:22) is explicitly referenced by another proxy and implicitly used here. To avoid any ambiguity don't mix both usage. Add a last defaults section not explicitly used or always use explicit references.
This is not ideal because if we try to update a configuration file with an unnamed defaults section, the config parser automatically renames it as unnamed_defaults_1 and updates all existing sections with from unnamed_defaults_1. When we subsequently update the configuration file via dataplaneapi we get the above warning if we don't set the From attribute for all frontend and backend sections we are trying to create, including the ones created through a Site object
Hi,
I'd like to bring your attention to a minor problem with Site objects.
The
SiteServiceandSiteFarmobjects don't have aFromfield which prevents users from specifying a named defaults section to be used when configuring Sites.The
client-native/configuration/site.go
Lines 530 to 539 in fd6b9e5
and
client-native/configuration/site.go
Lines 541 to 548 in fd6b9e5
methods don't set the
client-native/models/frontend.go
Line 139 in fd6b9e5
client-native/models/backend.go
Line 143 in fd6b9e5
[WARNING] (1) : config : parsing [/etc/haproxy/haproxy.cfg:48] : defaults section 'defaults' (declared at /etc/haproxy/haproxy.cfg:22) is explicitly referenced by another proxy and implicitly used here. To avoid any ambiguity don't mix both usage. Add a last defaults section not explicitly used or always use explicit references.This is not ideal because if we try to update a configuration file with an unnamed
defaultssection, the config parser automatically renames it asunnamed_defaults_1and updates all existing sections withfrom unnamed_defaults_1. When we subsequently update the configuration file via dataplaneapi we get the above warning if we don't set theFromattribute for all frontend and backend sections we are trying to create, including the ones created through a Site object