You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@trafficcontrol.apache.org by mi...@apache.org on 2018/09/26 13:51:23 UTC

[trafficcontrol] 06/46: Added a figure; fixed some minor issues

This is an automated email from the ASF dual-hosted git repository.

mitchell852 pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/trafficcontrol.git

commit 1c4e5bf1cd832aca10a2618f7e3cc8de88151efd
Author: ocket8888 <oc...@gmail.com>
AuthorDate: Tue Sep 11 09:36:13 2018 -0600

    Added a figure; fixed some minor issues
---
 docs/source/admin/traffic_ops/configuration.rst | 246 ++++++++++++------------
 docs/source/admin/traffic_ops/topography.svg    |  37 ++++
 2 files changed, 165 insertions(+), 118 deletions(-)

diff --git a/docs/source/admin/traffic_ops/configuration.rst b/docs/source/admin/traffic_ops/configuration.rst
index d6acfb3..0661f90 100644
--- a/docs/source/admin/traffic_ops/configuration.rst
+++ b/docs/source/admin/traffic_ops/configuration.rst
@@ -12,9 +12,10 @@
 .. See the License for the specific language governing permissions and
 .. limitations under the License.
 ..
-*************************
+
+
 Traffic Ops - Configuring
-*************************
+%%%%%%%%%%%%%%%%%%%%%%%%%
 
 Follow the steps below to configure the newly installed Traffic Ops Instance.
 
@@ -25,43 +26,43 @@ By default, Traffic Ops runs as an SSL web server (that is, over HTTPS), and a c
 Self-signed Certificate (Development)
 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
-	Example Procedure::
-
-		$ openssl genrsa -des3 -passout pass:x -out localhost.pass.key 2048
-		Generating RSA private key, 2048 bit long modulus
-		...
-		$ openssl rsa -passin pass:x -in localhost.pass.key -out localhost.key
-		writing RSA key
-		$ rm localhost.pass.key
-
-		$ openssl req -new -key localhost.key -out localhost.csr
-		You are about to be asked to enter information that will be incorporated
-		into your certificate request.
-		What you are about to enter is what is called a Distinguished Name or a DN.
-		There are quite a few fields but you can leave some blank
-		For some fields there will be a default value,
-		If you enter '.', the field will be left blank.
-		-----
-		Country Name (2 letter code) [XX]:US<enter>
-		State or Province Name (full name) []:CO<enter>
-		Locality Name (eg, city) [Default City]:Denver<enter>
-		Organization Name (eg, company) [Default Company Ltd]: <enter>
-		Organizational Unit Name (eg, section) []: <enter>
-		Common Name (eg, your name or your server's hostname) []: <enter>
-		Email Address []: <enter>
-
-		Please enter the following 'extra' attributes
-		to be sent with your certificate request
-		A challenge password []: pass<enter>
-		An optional company name []: <enter>
-		$ openssl x509 -req -sha256 -days 365 -in localhost.csr -signkey localhost.key -out localhost.crt
-		Signature ok
-		subject=/C=US/ST=CO/L=Denver/O=Default Company Ltd
-		Getting Private key
-		$ sudo cp localhost.crt /etc/pki/tls/certs
-		$ sudo cp localhost.key /etc/pki/tls/private
-		$ sudo chown trafops:trafops /etc/pki/tls/certs/localhost.crt
-		$ sudo chown trafops:trafops /etc/pki/tls/private/localhost.key
+Example Procedure::
+
+	$ openssl genrsa -des3 -passout pass:x -out localhost.pass.key 2048
+	Generating RSA private key, 2048 bit long modulus
+	...
+	$ openssl rsa -passin pass:x -in localhost.pass.key -out localhost.key
+	writing RSA key
+	$ rm localhost.pass.key
+
+	$ openssl req -new -key localhost.key -out localhost.csr
+	You are about to be asked to enter information that will be incorporated
+	into your certificate request.
+	What you are about to enter is what is called a Distinguished Name or a DN.
+	There are quite a few fields but you can leave some blank
+	For some fields there will be a default value,
+	If you enter '.', the field will be left blank.
+	-----
+	Country Name (2 letter code) [XX]:US<enter>
+	State or Province Name (full name) []:CO<enter>
+	Locality Name (eg, city) [Default City]:Denver<enter>
+	Organization Name (eg, company) [Default Company Ltd]: <enter>
+	Organizational Unit Name (eg, section) []: <enter>
+	Common Name (eg, your name or your server's hostname) []: <enter>
+	Email Address []: <enter>
+
+	Please enter the following 'extra' attributes
+	to be sent with your certificate request
+	A challenge password []: pass<enter>
+	An optional company name []: <enter>
+	$ openssl x509 -req -sha256 -days 365 -in localhost.csr -signkey localhost.key -out localhost.crt
+	Signature ok
+	subject=/C=US/ST=CO/L=Denver/O=Default Company Ltd
+	Getting Private key
+	$ sudo cp localhost.crt /etc/pki/tls/certs
+	$ sudo cp localhost.key /etc/pki/tls/private
+	$ sudo chown trafops:trafops /etc/pki/tls/certs/localhost.crt
+	$ sudo chown trafops:trafops /etc/pki/tls/private/localhost.key
 
 Certificate from Certificate Authority (Production)
 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
@@ -130,20 +131,20 @@ Many of the settings for the different servers in a Traffic Control CDN are cont
   Global Profile
 
 +--------------------------+---------------+---------------------------------------------------------------------------------------------------------------------------------------+
-|           Name           |  Config file  |                                                                 Value                                                                 |
+|           Name           |  Config File  |                                                                 Value                                                                 |
 +==========================+===============+=======================================================================================================================================+
 | tm.url                   | global        | The URL where this Traffic Ops instance is being served from.                                                                         |
 +--------------------------+---------------+---------------------------------------------------------------------------------------------------------------------------------------+
 | tm.rev_proxy.url         | global        | Not required. The URL where the Traffic Ops Configuration file cache instance is being served from. Requires Traffic Ops ORT 2.1 and  |
-|                          |               | above. When configured, ORT will request configuration files via this fqdn, which should be setup as a reverse proxy to the Traffic   |
-|                          |               | Ops host or hosts. Suggested cache lifetime for these files is ~3 minutes or less. This setting allows for greater scaleability of a  |
-|                          |               | CDN maintained by Traffic Ops by caching configuration files of profile and cdn scope.                                                |
+|                          |               | above. When configured, ORT will request configuration files via this FQDN, which should be setup as a reverse proxy to the Traffic   |
+|                          |               | Ops host or hosts. Suggested cache lifetime for these files is ~3 minutes or less. This setting allows for greater scalability of a   |
+|                          |               | CDN maintained by Traffic Ops by caching configuration files of profile and CDN scope.                                                |
 +--------------------------+---------------+---------------------------------------------------------------------------------------------------------------------------------------+
 | tm.toolname              | global        | The name of the Traffic Ops tool. Usually "Traffic Ops". Used in the About screen and in the comments headers of the files generated. |
 +--------------------------+---------------+---------------------------------------------------------------------------------------------------------------------------------------+
 | tm.infourl               | global        | This is the "for more information go here" URL, which is visible in the About page.                                                   |
 +--------------------------+---------------+---------------------------------------------------------------------------------------------------------------------------------------+
-| tm.logourl               | global        | This is the URL of the logo for Traffic Ops and can be relative if the logo is under traffic_ops/app/public.                          |
+| tm.logourl               | global        | This is the URL of the logo for Traffic Ops and can be relative if the logo is under ``traffic_ops/app/public``.                      |
 +--------------------------+---------------+---------------------------------------------------------------------------------------------------------------------------------------+
 | tm.instance_name         | global        | The name of the Traffic Ops instance. Can be used when multiple instances are active. Visible in the About page.                      |
 +--------------------------+---------------+---------------------------------------------------------------------------------------------------------------------------------------+
@@ -152,13 +153,14 @@ Many of the settings for the different servers in a Traffic Control CDN are cont
 |                          |               | this variable can significantly lighten the load on the Traffic Monitor system and it is recommended to                               |
 |                          |               | set this parameter on a production system.                                                                                            |
 +--------------------------+---------------+---------------------------------------------------------------------------------------------------------------------------------------+
-| geolocation.polling.url  | CRConfig.json | The location to get the GeoLiteCity database from.                                                                                    |
+| geolocation.polling.url  | CRConfig.json | The location of a GeoIP2 database for Traffic Router to use.                                                                          |
 +--------------------------+---------------+---------------------------------------------------------------------------------------------------------------------------------------+
-| geolocation6.polling.url | CRConfig.json | The location to get the IPv6 GeoLiteCity database from.                                                                               |
+| geolocation6.polling.url | CRConfig.json | The location of an IPv6 GeoIP2 database for Traffic Router to use when routing IPv6 traffic.                                          |
 +--------------------------+---------------+---------------------------------------------------------------------------------------------------------------------------------------+
-| maxmind.default.override | CRConfig.json | The destination geo coordinates to use for client location when maxmind returns a default location that matches the country code.     |
-|                          |               | This parameter can be specified multiple times with different values to support default overrides for multiple countries.             |
-|                          |               | Format: <CountryCode>;<Lat>,<Long>   Ex: US;37.751,-97.822                                                                            |
+| maxmind.default.override | CRConfig.json | The destination geographic coordinates to use for client location when the GeoIP2 database returns a default location that matches    |
+|                          |               | the country code. This parameter can be specified multiple times with different values to support default overrides for multiple      |
+|                          |               | countries. The reason for the name 'MaxMind' is because that is the default GeoIP2 implementation used by Comcast production servers. |
+|                          |               | Format: ``<Country Code>;<Latitude>,<Longitude>``   Ex: ``US;37.751,-97.822``                                                         |
 +--------------------------+---------------+---------------------------------------------------------------------------------------------------------------------------------------+
 
 These parameters should be set to reflect the local environment.
@@ -184,72 +186,77 @@ After running the ``postinstall`` script, Traffic Ops has the following profiles
 
 Below is a list of cache parameters that are likely to need changes from the default profiles shipped with Traffic Ops:
 
-+--------------------------+-------------------+-------------------------------------------------------------------------------------------------------------------------+
-|           Name           |    Config file    |                                                       Description                                                       |
-+==========================+===================+=========================================================================================================================+
-| allow_ip                 | astats.config     | This is a comma separated  list of IPv4 CIDR blocks that will have access to the astats statistics on the caches.      |
-|                          |                   | The Traffic Monitor IP addresses have to be included in this, if they are using IPv4 to monitor the caches.            |
-+--------------------------+-------------------+-------------------------------------------------------------------------------------------------------------------------+
-| allow_ip6                | astats.config     | This is a comma separated  list of IPv6 CIDR blocks that will have access to the astats statistics on the caches.      |
-|                          |                   | The Traffic Monitor IP addresses have to be included in this, if they are using IPv6 to monitor the caches.            |
-+--------------------------+-------------------+-------------------------------------------------------------------------------------------------------------------------+
-| Drive_Prefix             | storage.config    | The device path start of the disks. For example, if you have ``/dev/sda`` through ``/dev/sdf`` set this to ``/dev/sd``  |
-+--------------------------+-------------------+-------------------------------------------------------------------------------------------------------------------------+
-| Drive_Letters            | storage.config    | The letter part of the disks, in the same example as above set this to ``a,b,c,d,e,f``                                  |
-+--------------------------+-------------------+-------------------------------------------------------------------------------------------------------------------------+
-| purge_allow_ip           | ip_allow.config   | The IP address range that is allowed to execute the PURGE method on the caches (not related to :ref:`rl-purge`)         |
-+--------------------------+-------------------+-------------------------------------------------------------------------------------------------------------------------+
-| coalesce_masklen_v4	   | ip_allow.config   | The masklen to use when coalescing v4 networks into one line using http://search.cpan.org/~miker/NetAddr-IP-4.078/IP.pm |
-+--------------------------+-------------------+-------------------------------------------------------------------------------------------------------------------------+
-| coalesce_number_v4 	   | ip_allow.config   | The number to use when coalescing v4 networks into one line using http://search.cpan.org/~miker/NetAddr-IP-4.078/IP.pm  |
-+--------------------------+-------------------+-------------------------------------------------------------------------------------------------------------------------+
-| coalesce_masklen_v6	   | ip_allow.config   | The masklen to use when coalescing v6 networks into one line using http://search.cpan.org/~miker/NetAddr-IP-4.078/IP.pm |
-+--------------------------+-------------------+-------------------------------------------------------------------------------------------------------------------------+
-| coalesce_masklen_v6	   | ip_allow.config   | The masklen to use when coalescing v6 networks into one line using http://search.cpan.org/~miker/NetAddr-IP-4.078/IP.pm |
-+--------------------------+-------------------+-------------------------------------------------------------------------------------------------------------------------+
-| health.threshold.loadavg | rascal.properties | The Unix load average at which Traffic Router will stop sending traffic to this cache                                   |
-+--------------------------+-------------------+-------------------------------------------------------------------------------------------------------------------------+
-| health.threshold.\\      | rascal.properties | The amount of bandwidth that Traffic Router will try to keep available on the cache.                                   |
-| availableBandwidthInKbps |                   | For example: "">1500000" means stop sending new traffic to this cache when traffic is at 8.5Gbps on a 10Gbps interface. |
-+--------------------------+-------------------+-------------------------------------------------------------------------------------------------------------------------+
-
-Below is a list of Traffic Server plugins that need to be configured in the parameter table:
-
-+------------------+---------------+------------------------------------------------------+------------------------------------------------------------------------------------------------------------+
-|       Name       |  Config file  |                     Description                      |                                                  Details                                                   |
-+==================+===============+======================================================+============================================================================================================+
-| astats_over_http | package       | The package version for the astats_over_http plugin. | `astats_over_http <http://trafficcontrol.apache.org/downloads/index.html>`_                                |
-+------------------+---------------+------------------------------------------------------+------------------------------------------------------------------------------------------------------------+
-| trafficserver    | package       | The package version for the trafficserver plugin.   | `trafficserver <http://trafficcontrol.apache.org/downloads/index.html>`_                                   |
-+------------------+---------------+------------------------------------------------------+------------------------------------------------------------------------------------------------------------+
-| regex_revalidate | plugin.config | The config to be used for regex_revalidate.         | `regex_revalidate <https://docs.trafficserver.apache.org/en/5.3.x/reference/plugins/regex_remap.en.html>`_ |
-|                  |               | For example: --config regex_revalidate.config        |                                                                                                            |
-+------------------+---------------+------------------------------------------------------+------------------------------------------------------------------------------------------------------------+
-| remap_stats      | plugin.config | The config to be used for remap_stats.              | `remap_stats <https://github.com/apache/trafficserver/tree/master/plugins/experimental/remap_stats>`_      |
-|                  |               | Value is left blank.                                |                                                                                                            |
-+------------------+---------------+------------------------------------------------------+------------------------------------------------------------------------------------------------------------+
++--------------------------+-------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+|           Name           |    Config File    |                                                                            Description                                                                             |
++==========================+===================+====================================================================================================================================================================+
+| allow_ip                 | astats.config     | This is a comma separated  list of IPv4 Classless Inter-Domain Routing (CIDR) blocks that will have access to the 'astats' statistics on the caches. The Traffic   |
+|                          |                   | Monitor IP addresses have to be included in this, if they are using IPv4 to monitor the caches.                                                                    |
++--------------------------+-------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| allow_ip6                | astats.config     | This is a comma-separated list of IPv6 CIDR blocks that will have access to the 'astats' statistics on the caches. The Traffic Monitor IP addresses have to be     |
+|                          |                   | included in this, if they are using IPv6 to monitor the caches.                                                                                                    |
++--------------------------+-------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| Drive_Prefix             | storage.config    | The device path start of the disks. For example, if you have ``/dev/sda`` through ``/dev/sdf`` set this to ``/dev/sd``                                             |
++--------------------------+-------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| Drive_Letters            | storage.config    | The letter part of the disks, in the same example as above set this to ``a,b,c,d,e,f``                                                                             |
++--------------------------+-------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| purge_allow_ip           | ip_allow.config   | The IP address range that is allowed to execute the PURGE method on the caches (not related to :ref:`rl-purge`)                                                    |
++--------------------------+-------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| coalesce_masklen_v4	   | ip_allow.config   | The mask length to use when coalescing IPv4 networks into one line using `the NetAddr\:\:IP Perl library. <http://search.cpan.org/~miker/NetAddr-IP-4.078/IP.pm>`_ |
++--------------------------+-------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| coalesce_number_v4 	   | ip_allow.config   | The number to use when coalescing IPv4 networks into one line using `the NetAddr\:\:IP Perl library. <http://search.cpan.org/~miker/NetAddr-IP-4.078/IP.pm>`_      |
++--------------------------+-------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| coalesce_masklen_v6	   | ip_allow.config   | The mask length to use when coalescing IPv6 networks into one line using `the NetAddr\:\:IP Perl library. <http://search.cpan.org/~miker/NetAddr-IP-4.078/IP.pm>`_ |
++--------------------------+-------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| health.threshold.loadavg | rascal.properties | The Unix 'load average' (see ``man uptime``) at which Traffic Router will stop sending traffic to this cache                                                       |
++--------------------------+-------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| health.threshold.\\      | rascal.properties | The amount of bandwidth (in kilobits per second) that Traffic Router will try to keep available on the cache. For example: "">1500000" means stop sending new      |
+| availableBandwidthInKbps |                   | traffic to this cache when traffic is at 8.5Gbps on a 10Gbps interface.                                                                                            |
++--------------------------+-------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+
+Below is a list of Traffic Server plug-ins that need to be configured in the parameter table:
+
++------------------+---------------+----------------------------------------------------------+------------------------------------------------------------------------------------------------------------+
+|       Name       |  Config File  |                       Description                        |                                                  Details                                                   |
++==================+===============+==========================================================+============================================================================================================+
+| astats_over_http | package       | The package version for the ``astats_over_http plugin``. | `astats_over_http <http://trafficcontrol.apache.org/downloads/index.html>`_                                |
++------------------+---------------+----------------------------------------------------------+------------------------------------------------------------------------------------------------------------+
+| trafficserver    | package       | The package version for the ``trafficserver`` plugin.    | `trafficserver <http://trafficcontrol.apache.org/downloads/index.html>`_                                   |
++------------------+---------------+----------------------------------------------------------+------------------------------------------------------------------------------------------------------------+
+| regex_revalidate | plugin.config | The configuration to be used for ``regex_revalidate``.   | `regex_revalidate <https://docs.trafficserver.apache.org/en/5.3.x/reference/plugins/regex_remap.en.html>`_ |
++------------------+---------------+----------------------------------------------------------+------------------------------------------------------------------------------------------------------------+
+| remap_stats      | plugin.config | The configuration to be used for ``remap_stats``.        | `remap_stats <https://github.com/apache/trafficserver/tree/master/plugins/experimental/remap_stats>`_      |
+|                  |               | Value is left blank.                                     |                                                                                                            |
++------------------+---------------+----------------------------------------------------------+------------------------------------------------------------------------------------------------------------+
 
 Below is a list of cache parameters for special configuration, which are unlikely to need changes, but may be useful in particular circumstances:
 
 +--------------------------+-------------------+-------------------------------------------------------------------------------------------------------------------------+
-|           Name           |    Config file    |                                                       Description                                                       |
+|           Name           |    Config File    |                                                       Description                                                       |
 +==========================+===================+=========================================================================================================================+
-| not_a_parent             | parent.config     | This is a boolean flag and is considered true if it exists and has any value except 'false'.                            |
-|                          |                   | This prevents servers with this parameter in their profile from being inserted into the parent.config generated for     |
-|                          |                   | servers with this server's cachegroup as a parent of their cachegroup. This is primarily useful for when edge caches    |
-|                          |                   | are configured to have a cachegroup of other edge caches as parents (a highly unusual configuration), and it is         |
-|                          |                   | necessary to exclude some, but not all, edges in the parent cachegroup from the parent.config (for example, because they|
-|                          |                   | lack necessary capabilities), but still have all edges in the same cachegroup in order to take traffic from ordinary    |
-|                          |                   | delivery services at that cachegroup's geo location. Once again, this is a highly unusual scenario, and under ordinary  |
-|                          |                   | circumstances this parameter should not exist.                                                                         |
+| not_a_parent             | parent.config     | This is a boolean flag and is considered 'true' if it exists and has any value except 'false'.                          |
+|                          |                   | This prevents servers with this parameter in their profile from being inserted into the ``parent.config`` generated for |
+|                          |                   | servers with this server's Cache Group as a parent of their CacheGroup. This is primarily useful for when edge caches   |
+|                          |                   | are configured to have a Cache Group of other edge caches as parents (a highly unusual configuration), and it is        |
+|                          |                   | necessary to exclude some, but not all, edges in the parent Cache Group from the ``parent.config`` (for example,        |
+|                          |                   | because they lack necessary capabilities), but still have all edges in the same Cache Group in order to take traffic    |
+|                          |                   | from ordinary Delivery Services at that Cache Group's geographic location. Once again, this is a highly unusual         |
+|                          |                   | scenario, and under ordinary circumstances this parameter should not exist.                                             |
 +--------------------------+-------------------+-------------------------------------------------------------------------------------------------------------------------+
 
 
 Regions, Locations and Cache Groups
 ===================================
-All servers have to have a `location`, which is their physical location. Each location is part of a `region`, and each region is part of a `division`. For Example, ``Denver`` could be a location in the ``Mile High`` region and that region could be part of the ``West`` division. Enter your divisions first in  `Misc->Divisions`, then enter the regions in `Misc->Regions`, referencing the divisions entered, and finally, enter the physical locations in `Misc->Locations`, referencing the regio [...]
+All servers have to have a 'location', which is their physical location. Each location is part of a 'region', and each region is part of a 'division'. For Example, ``Denver`` could be a location in the ``Mile High`` region and that region could be part of the ``West`` division. The hierarchy between these terms is illustrated graphically below.
+
+.. figure:: topography.svg
+	:align: center
+	:figwidth: 25%
+
+	Topography Hierarchy
+
+To create these structures in Traffic Portal, first in enter your divisions under `Topology->Divisions`, then enter the regions in `Topology->Regions`, referencing the divisions entered and, finally, enter the physical locations in `Topology->Phys Locations`, referencing the regions entered.
 
-All servers also have to be part of a `cache group`. A cache group is a logical grouping of caches, that don't have to be in the same physical location (in fact, usually a cache group is spread across minimally 2 physical Locations for redundancy purposes), but share geo coordinates for content routing purposes. JvD to add more.
+All servers also have to be part of a Cache Group. A Cache Group is a logical grouping of caches, that don't have to be in the same physical location (in fact, usually a cache group is spread across minimally 2 physical Locations for redundancy purposes), but share geographical coordinates for content routing purposes.
 
 
 
@@ -259,20 +266,23 @@ Content purge using ATS is not simple; there is no file system to delete files/d
 
 Content Purge is controlled by the following parameters in the profile of the cache:
 
-+----------------------+-------------------------+--------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------+
-|         Name         |       Config file       |                   Description                    |                                                                         Details                                                                         |
-+======================+=========================+==================================================+=========================================================================================================================================================+
-| location             | regex_revalidate.config | What location the file should be in on the cache | The presence of this parameter tells ort to distribute this file; delete this parameter from the profile if this file is distributed using other means. |
-+----------------------+-------------------------+--------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------+
-| maxRevalDurationDays | regex_revalidate.config | The maximum time a purge can be active           | To prevent a build up of many checks before each request, this is longest time the system will allow                                                    |
-+----------------------+-------------------------+--------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------+
-| regex_revalidate     | plugin.config           | The config to be used for regex_revalidate.     | `regex_revalidate <https://docs.trafficserver.apache.org/en/5.3.x/reference/plugins/regex_remap.en.html>`_                                              |
-|                      |                         | For example: --config regex_revalidate.config    |                                                                                                                                                         |
-+----------------------+-------------------------+--------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------+
-| use_reval_pending    | global                  | Configures Traffic Ops to use separate           | When this flag is in use ORT will check for a new regex_revalidate.config every 60 seconds in syncds mode during the dispersal timer. This will         |
-|                      |                         | reval_pending flag for each cache.              | also allow ORT to be run in revalidate mode, which will check for and clear the reval_pending flag. This can be set to run via cron task.             |
-|                      |                         |                                                  | Enable with a value of 1. Use of this feature requires Traffic Ops 2.1 and above. Parameter should be assigned to the GLOBAL profile.                 |
-+----------------------+-------------------------+--------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------+
++----------------------+-------------------------+--------------------------------------------------+-----------------------------------------------------------------------------------------------------------------+
+|         Name         |       Config File       |                   Description                    |                                                     Details                                                     |
++======================+=========================+==================================================+=================================================================================================================+
+| location             | regex_revalidate.config | Where in the file system file should located on  | The presence of this parameter tells ORT to distribute this file; delete this parameter from the profile if     |
+|                      |                         | the cache server.                                | this file is distributed using other means.                                                                     |
++----------------------+-------------------------+--------------------------------------------------+-----------------------------------------------------------------------------------------------------------------+
+| maxRevalDurationDays | regex_revalidate.config | The maximum duration for which a purge shall be  | To prevent a build up of many checks before each request, this is longest duration (in days) for which the      |
+|                      |                         | active.                                          | system will allow content purges to remain active.                                                              |
++----------------------+-------------------------+--------------------------------------------------+-----------------------------------------------------------------------------------------------------------------+
+| regex_revalidate     | plugin.config           | The configuration to be used for                 | `regex_revalidate <https://docs.trafficserver.apache.org/en/5.3.x/reference/plugins/regex_remap.en.html>`_      |
+|                      |                         | ``regex_revalidate``.                            |                                                                                                                 |
++----------------------+-------------------------+--------------------------------------------------+-----------------------------------------------------------------------------------------------------------------+
+| use_reval_pending    | global                  | Configures Traffic Ops to use a separate         | When this flag is in use ORT will check for a new ``regex_revalidate.config`` every 60 seconds in SYNCDS mode   |
+|                      |                         | ``reval_pending`` flag for each cache server.    | during the dispersal timer. This will also allow ORT to be run in REVALIDATE mode, which will check for and     |
+|                      |                         |                                                  | clear the ``reval_pending`` flag. This can be set to run via ``cron`` task. Enable with a value of '1'. This    |
+|                      |                         |                                                  | feature will not work on Traffic Ops versions older than 2.1.                                                   |
++----------------------+-------------------------+--------------------------------------------------+-----------------------------------------------------------------------------------------------------------------+
 
 
 Note that the TTL the adminstrator enters in the purge request should be longer than the TTL of the content to ensure the bad content will not be used. If the CDN is serving content of unknown, or unlimited TTL, the administrator should consider using `proxy-config-http-cache-guaranteed-min-lifetime <https://docs.trafficserver.apache.org/en/latest/admin-guide/files/records.config.en.html#proxy-config-http-cache-guaranteed-min-lifetime>`_ to limit the maximum time an object can be in the  [...]
diff --git a/docs/source/admin/traffic_ops/topography.svg b/docs/source/admin/traffic_ops/topography.svg
new file mode 100644
index 0000000..f8e5036
--- /dev/null
+++ b/docs/source/admin/traffic_ops/topography.svg
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="174.47356mm" width="174.47356mm" version="1.1" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" viewBox="0 0 618.21339 618.21339">
+	<g transform="translate(-105.05585,-181.61069)">
+		<path fill="#a7fffc" d="m723.25132 494.0449a309.10669 309.10669 0 0 1 -312.10398 305.76446 309.10669 309.10669 0 0 1 -306.07968 -311.79485 309.10669 309.10669 0 0 1 311.48541 -306.39458 309.10669 309.10669 0 0 1 306.70917 311.17564"/>
+		<text style="word-spacing:0px;letter-spacing:0px" xml:space="preserve" font-size="40px" y="276.99146" x="334.69965" font-family="sans-serif" line-height="125%" fill="#000000"><tspan x="334.69965" y="276.99146">Division</tspan></text>
+		<g transform="translate(81.26128 -.28444541)">
+			<path d="m273.74536 407.9839a103.03556 103.03556 0 0 1 -104.03465 101.92148 103.03556 103.03556 0 0 1 -102.026557 -103.93161 103.03556 103.03556 0 0 1 103.828467 -102.13152 103.03556 103.03556 0 0 1 102.23639 103.72521" fill="#ff7679"/>
+			<text style="word-spacing:0px;letter-spacing:0px" line-height="125%" font-size="25px" y="343.49908" x="127.76534" font-family="sans-serif" xml:space="preserve" fill="#000000"><tspan y="343.49908" x="127.76534">Region</tspan></text>
+			<path d="m215.38211 463.39205a44.95179 44.95179 0 0 1 -45.38767 44.46574 44.95179 44.95179 0 0 1 -44.51159 -45.34271 44.95179 44.95179 0 0 1 45.29772 -44.55738 44.95179 44.95179 0 0 1 44.60313 45.25266" fill="#caff8a"/>
+			<text style="word-spacing:0px;letter-spacing:0px" line-height="125%" font-size="17.5px" y="468.03418" x="133.30951" font-family="sans-serif" xml:space="preserve" fill="#000000"><tspan y="468.03418" x="133.30951">Location</tspan></text>
+			<path fill="#caff8a" d="m163.76043 389.12456a44.95179 44.95179 0 0 1 -45.38767 44.46575 44.95179 44.95179 0 0 1 -44.511583 -45.34272 44.95179 44.95179 0 0 1 45.297713 -44.55738 44.95179 44.95179 0 0 1 44.60313 45.25267"/>
+			<text style="word-spacing:0px;letter-spacing:0px" xml:space="preserve" font-size="17.5px" y="393.76669" x="81.687836" font-family="sans-serif" line-height="125%" fill="#000000"><tspan x="81.687836" y="393.76669">Location</tspan></text>
+			<path d="m264.5206 388.13173a44.95179 44.95179 0 0 1 -45.38767 44.46575 44.95179 44.95179 0 0 1 -44.51159 -45.34272 44.95179 44.95179 0 0 1 45.29771 -44.55738 44.95179 44.95179 0 0 1 44.60314 45.25267" fill="#caff8a"/>
+			<text style="word-spacing:0px;letter-spacing:0px" line-height="125%" font-size="17.5px" y="392.77386" x="182.448" font-family="sans-serif" xml:space="preserve" fill="#000000"><tspan y="392.77386" x="182.448">Location</tspan></text>
+		</g>
+		<g transform="translate(397.38317 -.51219714)">
+			<path fill="#ff7679" d="m273.74536 407.9839a103.03556 103.03556 0 0 1 -104.03465 101.92148 103.03556 103.03556 0 0 1 -102.026557 -103.93161 103.03556 103.03556 0 0 1 103.828467 -102.13152 103.03556 103.03556 0 0 1 102.23639 103.72521"/>
+			<text style="word-spacing:0px;letter-spacing:0px" xml:space="preserve" font-size="25px" y="343.49908" x="127.76534" font-family="sans-serif" line-height="125%" fill="#000000"><tspan x="127.76534" y="343.49908">Region</tspan></text>
+			<path fill="#caff8a" d="m215.38211 463.39205a44.95179 44.95179 0 0 1 -45.38767 44.46574 44.95179 44.95179 0 0 1 -44.51159 -45.34271 44.95179 44.95179 0 0 1 45.29772 -44.55738 44.95179 44.95179 0 0 1 44.60313 45.25266"/>
+			<text style="word-spacing:0px;letter-spacing:0px" xml:space="preserve" font-size="17.5px" y="468.03418" x="133.30951" font-family="sans-serif" line-height="125%" fill="#000000"><tspan x="133.30951" y="468.03418">Location</tspan></text>
+			<path d="m163.76043 389.12456a44.95179 44.95179 0 0 1 -45.38767 44.46575 44.95179 44.95179 0 0 1 -44.511583 -45.34272 44.95179 44.95179 0 0 1 45.297713 -44.55738 44.95179 44.95179 0 0 1 44.60313 45.25267" fill="#caff8a"/>
+			<text style="word-spacing:0px;letter-spacing:0px" line-height="125%" font-size="17.5px" y="393.76669" x="81.687836" font-family="sans-serif" xml:space="preserve" fill="#000000"><tspan y="393.76669" x="81.687836">Location</tspan></text>
+			<path fill="#caff8a" d="m264.5206 388.13173a44.95179 44.95179 0 0 1 -45.38767 44.46575 44.95179 44.95179 0 0 1 -44.51159 -45.34272 44.95179 44.95179 0 0 1 45.29771 -44.55738 44.95179 44.95179 0 0 1 44.60314 45.25267"/>
+			<text style="word-spacing:0px;letter-spacing:0px" xml:space="preserve" font-size="17.5px" y="392.77386" x="182.448" font-family="sans-serif" line-height="125%" fill="#000000"><tspan x="182.448" y="392.77386">Location</tspan></text>
+		</g>
+		<g transform="translate(242.65532,247.40291)">
+			<path d="m273.74536 407.9839a103.03556 103.03556 0 0 1 -104.03465 101.92148 103.03556 103.03556 0 0 1 -102.026557 -103.93161 103.03556 103.03556 0 0 1 103.828467 -102.13152 103.03556 103.03556 0 0 1 102.23639 103.72521" fill="#ff7679"/>
+			<text style="word-spacing:0px;letter-spacing:0px" line-height="125%" font-size="25px" y="343.49908" x="127.76534" font-family="sans-serif" xml:space="preserve" fill="#000000"><tspan y="343.49908" x="127.76534">Region</tspan></text>
+			<path d="m215.38211 463.39205a44.95179 44.95179 0 0 1 -45.38767 44.46574 44.95179 44.95179 0 0 1 -44.51159 -45.34271 44.95179 44.95179 0 0 1 45.29772 -44.55738 44.95179 44.95179 0 0 1 44.60313 45.25266" fill="#caff8a"/>
+			<text style="word-spacing:0px;letter-spacing:0px" line-height="125%" font-size="17.5px" y="468.03418" x="133.30951" font-family="sans-serif" xml:space="preserve" fill="#000000"><tspan y="468.03418" x="133.30951">Location</tspan></text>
+			<path fill="#caff8a" d="m163.76043 389.12456a44.95179 44.95179 0 0 1 -45.38767 44.46575 44.95179 44.95179 0 0 1 -44.511583 -45.34272 44.95179 44.95179 0 0 1 45.297713 -44.55738 44.95179 44.95179 0 0 1 44.60313 45.25267"/>
+			<text style="word-spacing:0px;letter-spacing:0px" xml:space="preserve" font-size="17.5px" y="393.76669" x="81.687836" font-family="sans-serif" line-height="125%" fill="#000000"><tspan x="81.687836" y="393.76669">Location</tspan></text>
+			<path d="m264.5206 388.13173a44.95179 44.95179 0 0 1 -45.38767 44.46575 44.95179 44.95179 0 0 1 -44.51159 -45.34272 44.95179 44.95179 0 0 1 45.29771 -44.55738 44.95179 44.95179 0 0 1 44.60314 45.25267" fill="#caff8a"/>
+			<text style="word-spacing:0px;letter-spacing:0px" line-height="125%" font-size="17.5px" y="392.77386" x="182.448" font-family="sans-serif" xml:space="preserve" fill="#000000"><tspan y="392.77386" x="182.448">Location</tspan></text>
+		</g>
+	</g>
+</svg>