All, I’ve put a PR together to add support for single-layer CDNs. Currently, edge and mid cache roles are basically hardwired into the code, so that when a parent.config file is generated, the rules for edges and mids are always the same. This is fine if you are only using edges and mids, but not so much if you’ve got edges only. MSO is completely unsupported in a config like this, and the parent.config looks like an edge config, with each remap listed without parents. This is incorrect.
What my PR does is actually very simple. Rather than look at the cache type at the various stages of the parent config generation, we look at the parent cachegroup types. If both parent cachegroups are either ORG type or unassigned, then $is_top_level is set to 1 (default is 0) and the variable is passed to the various subroutines that parent_dot_config uses to generate data. These subroutines have been exclusive to parent_dot_config since the scope change a while back, so this change does not affect any other subs. From there, all decisions about generating configuration data are based on whether or not the cache is a top level cache. With this addition we will be able to properly generate parent configs for edge-only CDNs, as well as support multisite. A PR is in place marked as do not merge to allow review. I intend to add some documentation changes and do some heavy testing before I will pursue merging. Derek
