I am in the process of setting up w Web 8.5 Content Delivery environment for a standard DXA-based website. I followed the documentation and executed these four commands:
Add-TtmCdTopologyType -Id DevStagingAndLive -Name "Staging & Live" -EnvironmentPurposes "Staging,Live" Add-TtmCdEnvironment -Id DevContentDelivery -EnvironmentPurpose Staging -DiscoveryEndpointUrl http://localhost:8082/discovery.svc -AuthenticationType OAuth -ClientId cmuser -ClientSecret CMUserP@ssw0rd Add-TtmCdTopology -Id WebTopology -Name "Web Topology" -CdTopologyTypeId DevStagingAndLive -CdEnvironmentIds DevContentDelivery Add-TtmWebsite -Id "dev.stg.mysite.com" -CdEnvironmentId DevContentDelivery -BaseUrls "http://localhost:83/,http://dev.stg.mysite.com/"
All goes good on commands 1 and 2, but when I execute the third command (Add-TtmCdTopology), I get the following error:
Add-TtmCdTopology : Invalid value for property 'CdEnvironmentIds'. CdTopologyType purposes should match CdEnvironments purposes. CdTopologyType purposes: Staging,Live, CdEnvironments purposes: Staging. At line:1 char:1 + Add-TtmCdTopology -Id WebTopology -Name "Web Topology" -CdTopologyTyp ... + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : NotSpecified: (Tridion.Topolog...TopologyCommand:AddCdTopologyCommand) [Add-TtmCdTopolog y], DataServiceException + FullyQualifiedErrorId : Tridion.TopologyManager.Automation.AddCdTopologyCommand
The error is pretty obvious, my environment is configured for Staging Purpose only, and the command is trying to add the topology "Web Topology" for that environment with the "Staging & Live" topology type, which is configured for 2 purposes. Again, looking at the documentation and the diagram, it seemed that I could create only one cd environemnt (DevContentDelivery) and associate a topology type with "two purposes" (formerly what I called 'targets'). The problem is that the cd environment is tied to a given discovery service, and I've also read that is better (kinda mandatory) to have one discovery service for Staging and another one for Live. Here comes the question:
Does that mean that I need to create two CD environments (one pointing to each discovery service) and two topology types (one for each)? and then associate my "Topology" to both environments?
As I said, my goal is to setup a traditional Staging and Live publishing scenario within the same server. But I am confused "as f%$)k!
Thanks in advance.
After reading (for the 5th time) this page: Topology Manager Concepts
I figured that this statement explains what Rick confirmed below:
A Topology defines a complete publishing environment: it consists of a set of Content Delivery environments, each with a distinct Purpose. A Topology is a concrete instance of a Topology Type. For example, given a Topology Type that defines two Purposes "Live" and "Staging", a Topology defines what the words "Live" and "Staging" actually stand for. The Topology must specify one Content Delivery environment for each of the Purposes defined in its Topology Type.