diff --git a/testing/deployer/topology/compile.go b/testing/deployer/topology/compile.go index 98f1c1e917..7faf74d01a 100644 --- a/testing/deployer/topology/compile.go +++ b/testing/deployer/topology/compile.go @@ -203,7 +203,7 @@ func compile(logger hclog.Logger, raw *Config, prev *Topology) (*Topology, error n.Index = nextIndex nextIndex++ - n.Images = c.Images.OverrideWith(n.Images).ChooseNode(n.Kind) + n.Images = c.Images.OverrideWith(n.Images.ChooseConsul(c.Enterprise)).ChooseNode(n.Kind) n.Cluster = c.Name n.Datacenter = c.Datacenter diff --git a/testing/deployer/topology/images.go b/testing/deployer/topology/images.go index 836ddb091c..7adb8d3f7e 100644 --- a/testing/deployer/topology/images.go +++ b/testing/deployer/topology/images.go @@ -8,8 +8,12 @@ import ( ) type Images struct { - Consul string `json:",omitempty"` - ConsulCE string `json:",omitempty"` + // Consul is the image used for creating the container, + // Use ChooseConsul() to control which image (ConsulCE or ConsulEnterprise) assign to Consul + Consul string `json:",omitempty"` + // ConsulCE sets the CE image + ConsulCE string `json:",omitempty"` + // ConsulEnterprise sets the ent image ConsulEnterprise string `json:",omitempty"` Envoy string Dataplane string @@ -82,6 +86,7 @@ func (i Images) ChooseNode(kind NodeKind) Images { return i } +// ChooseConsul controls which image assigns to Consul func (i Images) ChooseConsul(enterprise bool) Images { if enterprise { i.Consul = i.ConsulEnterprise