You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@trafficcontrol.apache.org by ne...@apache.org on 2017/01/14 22:05:37 UTC

[47/75] [partial] incubator-trafficcontrol-website git commit: add 1.8.0 docs

http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol-website/blob/ee296175/docs/1.8.0/_sources/basics/caching_proxies.txt
----------------------------------------------------------------------
diff --git a/docs/1.8.0/_sources/basics/caching_proxies.txt b/docs/1.8.0/_sources/basics/caching_proxies.txt
new file mode 100644
index 0000000..af93730
--- /dev/null
+++ b/docs/1.8.0/_sources/basics/caching_proxies.txt
@@ -0,0 +1,238 @@
+.. 
+.. 
+.. Licensed under the Apache License, Version 2.0 (the "License");
+.. you may not use this file except in compliance with the License.
+.. You may obtain a copy of the License at
+.. 
+..     http://www.apache.org/licenses/LICENSE-2.0
+.. 
+.. Unless required by applicable law or agreed to in writing, software
+.. distributed under the License is distributed on an "AS IS" BASIS,
+.. WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+.. See the License for the specific language governing permissions and
+.. limitations under the License.
+.. 
+
+
+.. |arrow| image:: fwda.png
+
+.. _rl-caching_proxy:
+
+Caching Proxies
+===============
+The main function of a CDN is to proxy requests from clients to origin servers 
+and cache the results. 
+To proxy, in the CDN context, is to obtain content using HTTP from an origin 
+server on behalf of a client. To cache is to store the results so they can be 
+reused when other clients are requesting the same content. There are three 
+types of proxies in use on the Internet today which are described below.
+
+.. index::
+  Reverse Proxy
+
+.. _rl-rev-proxy:
+
+|arrow| Reverse Proxy
+---------------------
+  A reverse proxy acts on behalf of the origin server. The client is mostly unaware it is communicating with a proxy and not the actual origin. 
+  All EDGE caches in a Traffic Control CDN are reverse proxies. 
+  To the end user a Traffic Control based CDN appears as a reverse proxy since 
+  it retrieves content from the origin server, acting on behalf of that origin server. The client requests a URL that has 
+  a hostname which resolves to the reverse proxy's IP address and, in compliance 
+  with the HTTP 1.1 specification, the client sends a ``Host:`` header to the reverse 
+  proxy that matches the hostname in the URL. 
+  The proxy looks up this hostname in a 
+  list of mappings to find the origin hostname; if the hostname of the Host header is not found in the list, 
+  the proxy will send an error (``404 Not Found``) to the client. 
+  If the supplied hostname is found in this list of mappings, the proxy checks the cache, and when the content is not already present, connects to the 
+  origin the requested ``Host:`` maps to and requests the path of the original URL, providing the origin hostname in the ``Host`` header.  The proxy then stores the URL in cache and serves the contents to the client. When there are subsequent requests for 
+  the same URL, a caching proxy serves the content out of cache thereby reducing 
+  latency and network traffic.
+
+.. seealso:: `ATS documentation on reverse proxy <https://docs.trafficserver.apache.org/en/latest/admin/reverse-proxy-http-redirects.en.html#http-reverse-proxy>`_.
+
+To insert a reverse proxy into the previous HTTP 1.1 example, the reverse proxy requires provisioning 
+for ``www.origin.com``. By adding a remap rule to the cache, the reverse proxy then maps requests to 
+this origin. The content owner must inform the clients, by updating the URL, to receive the content 
+from the cache and not from the origin server directly. For this example, the remap rule on the 
+cache is: ``http://www-origin-cache.cdn.com http://www.origin.com``.
+
+..  Note:: In the previous example minimal headers were shown on both the request and response. In the examples that follow, the origin server response is more realistic. 
+
+::
+
+  HTTP/1.1 200 OK
+  Date: Sun, 14 Dec 2014 23:22:44 GMT
+  Server: Apache/2.2.15 (Red Hat)
+  Last-Modified: Sun, 14 Dec 2014 23:18:51 GMT
+  ETag: "1aa008f-2d-50a3559482cc0"
+  Content-Length: 45
+  Connection: close
+  Content-Type: text/html; charset=UTF-8
+
+  <html><body>This is a fun file</body></html>
+
+The client is given the URL ``http://www-origin-cache.cdn.com/foo/bar/fun.html`` (note the different hostname) and when attempting to obtain that URL, the following occurs:
+
+1. The client sends a request to the LDNS server to resolve the name ``www-origin-cache.cdn.com`` to an IPv4 address.
+
+2. Similar to the previous case, the LDNS server resolves the name ``www-origin-cache.cdn.com`` to an IPv4 address, in this example, this address is 55.44.33.22.
+
+3. The client opens a TCP connection from a random port locally, to port 80 (the HTTP default) on 55.44.33.22, and sends the following: ::
+
+    GET /foo/bar/fun.html HTTP/1.1
+    Host: www-origin-cache.cdn.com
+
+4. The reverse proxy looks up ``www-origin-cache.cdn.com`` in its remap rules, and finds the origin is ``www.origin.com``.
+
+5. The proxy checks its cache to see if the response for ``http://www-origin-cache.cdn.com/foo/bar/fun.html`` is already in the cache.
+
+6a. If the response is not in the cache:
+
+  1. The proxy uses DNS to get the IPv4 address for ``www.origin.com``, connect to it on port 80, and sends: ::
+
+   	GET /foo/bar/fun.html HTTP/1.1
+   	Host: www.origin.com
+
+  2. The origin server responds with the headers and content as shown: ::
+
+      HTTP/1.1 200 OK
+      Date: Sun, 14 Dec 2014 23:22:44 GMT
+      Server: Apache/2.2.15 (Red Hat)
+      Last-Modified: Sun, 14 Dec 2014 23:18:51 GMT
+      ETag: "1aa008f-2d-50a3559482cc0"
+      Content-Length: 45
+      Connection: close
+      Content-Type: text/html; charset=UTF-8
+
+      <html><body>This is a fun file</body></html>
+
+  3. The proxy sends the origin response on to the client adding a ``Via:`` header (and maybe others): ::
+
+      HTTP/1.1 200 OK
+      Date: Sun, 14 Dec 2014 23:22:44 GMT
+      Last-Modified: Sun, 14 Dec 2014 23:18:51 GMT
+      ETag: "1aa008f-2d-50a3559482cc0"
+      Content-Length: 45
+      Connection: close
+      Content-Type: text/html; charset=UTF-8
+      Age: 0
+      Via: http/1.1 cache01.cdn.kabletown.net (ApacheTrafficServer/4.2.1 [uScSsSfUpSeN:t cCSi p sS])
+      Server: ATS/4.2.1
+
+    	<html><body>This is a fun file</body></html>
+
+6b. If it *is* in the cache:
+ 
+  The proxy responds to the client with the previously retrieved result: ::
+
+      HTTP/1.1 200 OK
+      Date: Sun, 14 Dec 2014 23:22:44 GMT
+      Last-Modified: Sun, 14 Dec 2014 23:18:51 GMT
+      ETag: "1aa008f-2d-50a3559482cc0"
+      Content-Length: 45
+      Connection: close
+      Content-Type: text/html; charset=UTF-8
+      Age: 39711
+      Via: http/1.1 cache01.cdn.kabletown.net (ApacheTrafficServer/4.2.1 [uScSsSfUpSeN:t cCSi p sS])
+      Server: ATS/4.2.1
+
+      <html><body>This is a fun file</body></html>
+
+
+.. index::
+  Forward Proxy
+
+.. _rl-fwd-proxy:
+
+|arrow| Forward Proxy
+---------------------
+  A forward proxy acts on behalf of the client. The origin server is mostly 
+  unaware of the proxy, the client requests the proxy to retrieve content from a 
+  particular origin server. All MID caches in a Traffic Control based CDN are 
+  forward proxies. In a forward proxy scenario, the client is explicitely configured  to use the
+  the proxy's IP address and port as a forward proxy. The client always connects to the forward 
+  proxy for content. The content provider does not have to change the URL the 
+  client obtains, and is unaware of the proxy in the middle. 
+
+..  seealso:: `ATS documentation on forward proxy <https://docs.trafficserver.apache.org/en/latest/admin/forward-proxy.en.html>`_.
+
+Below is an example of the client retrieving the URL ``http://www.origin.com/foo/bar/fun.html`` through a forward proxy:
+
+1. The client requires configuration to use the proxy, as opposed to the reverse proxy example. Assume the client configuration is through preferences entries or other to use the proxy IP address 99.88.77.66 and proxy port 8080.
+
+2. To retrieve ``http://www.origin.com/foo/bar/fun.html`` URL, the client connects to 99.88.77.66 on port 8080 and sends: 
+ 
+ ::
+
+  GET http://www.origin.com/foo/bar/fun.html HTTP/1.1
+
+
+ ..  Note:: In this case, the client places the entire URL after GET, including protocol and hostname (``http://www.origin.com``),  but in the reverse proxy and direct-to-origin case it  puts only the path portion of the URL (``/foo/bar/fun.html``) after the GET. 
+
+3. The proxy verifies whether the response for ``http://www-origin-cache.cdn.com/foo/bar/fun.html`` is already in the cache.
+
+4a. If it is not in the cache:
+
+  1. The proxy uses DNS to obtain the IPv4 address for ``www.origin.com``, connects to it on port 80, and sends: ::
+
+
+      GET /foo/bar/fun.html HTTP/1.1
+      Host: www.origin.com
+
+
+  2. The origin server responds with the headers and content as shown below: ::
+
+
+      HTTP/1.1 200 OK
+      Date: Sun, 14 Dec 2014 23:22:44 GMT
+      Server: Apache/2.2.15 (Red Hat)
+      Last-Modified: Sun, 14 Dec 2014 23:18:51 GMT
+      ETag: "1aa008f-2d-50a3559482cc0"
+      Content-Length: 45
+      Connection: close
+      Content-Type: text/html; charset=UTF-8
+
+      <html><body>This is a fun file</body></html>
+
+
+  3. The proxy sends this on to the client adding a ``Via:`` header (and maybe others): ::
+
+      HTTP/1.1 200 OK
+      Date: Sun, 14 Dec 2014 23:22:44 GMT
+      Last-Modified: Sun, 14 Dec 2014 23:18:51 GMT
+      ETag: "1aa008f-2d-50a3559482cc0"
+      Content-Length: 45
+      Connection: close
+      Content-Type: text/html; charset=UTF-8
+      Age: 0
+      Via: http/1.1 cache01.cdn.kabletown.net (ApacheTrafficServer/4.2.1 [uScSsSfUpSeN:t cCSi p sS])
+      Server: ATS/4.2.1
+          
+      <html><body>This is a fun file</body></html>
+
+
+4b. If it *is* in the cache:
+ 
+  The proxy responds to the client with the previously retrieved result: ::
+
+    HTTP/1.1 200 OK
+    Date: Sun, 14 Dec 2014 23:22:44 GMT
+    Last-Modified: Sun, 14 Dec 2014 23:18:51 GMT
+    ETag: "1aa008f-2d-50a3559482cc0"
+    Content-Length: 45
+    Connection: close
+    Content-Type: text/html; charset=UTF-8
+    Age: 99711
+    Via: http/1.1 cache01.cdn.kabletown.net (ApacheTrafficServer/4.2.1 [uScSsSfUpSeN:t cCSi p sS])
+    Server: ATS/4.2.1
+          
+    <html><body>This is a fun file</body></html>
+
+.. index::
+  Transparent Proxy
+  
+|arrow| Transparent Proxy 
+-------------------------
+  Neither the origin nor the client are aware of the actions performed by the transparent proxies. A Traffic Control based CDN does not use transparent proxies.   If you are interested you can learn more about transparent proxies on `wikipedia <http://en.wikipedia.org/wiki/Proxy_server#Transparent_proxy>`_.
+

http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol-website/blob/ee296175/docs/1.8.0/_sources/basics/content_delivery_networks.txt
----------------------------------------------------------------------
diff --git a/docs/1.8.0/_sources/basics/content_delivery_networks.txt b/docs/1.8.0/_sources/basics/content_delivery_networks.txt
new file mode 100644
index 0000000..872018e
--- /dev/null
+++ b/docs/1.8.0/_sources/basics/content_delivery_networks.txt
@@ -0,0 +1,40 @@
+.. 
+.. 
+.. Licensed under the Apache License, Version 2.0 (the "License");
+.. you may not use this file except in compliance with the License.
+.. You may obtain a copy of the License at
+.. 
+..     http://www.apache.org/licenses/LICENSE-2.0
+.. 
+.. Unless required by applicable law or agreed to in writing, software
+.. distributed under the License is distributed on an "AS IS" BASIS,
+.. WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+.. See the License for the specific language governing permissions and
+.. limitations under the License.
+.. 
+
+.. index::
+	Log File Analysis
+	CDN
+	Content Delivery Network 
+
+Content Delivery Networks
+=========================
+The vast majority of today's Internet traffic is media files (often video or audio) being sent from a single source (the *Content Provider*) to many thousands or even millions of destinations (the *Content Consumers*).  Content Delivery Networks are the technology that make that one-to-many distribution possible in an economical way. A Content Delivery Network (CDN) is a distributed system of servers for delivering content over HTTP. These servers are deployed in multiple locations with the goal of optimizing the delivery of content to the end users, while minimizing the traffic on the network. A CDN typically consists of the following:
+
+* **Caching Proxies**
+	The proxy (cache or caching proxy) is a server that both proxies the requests and caches the results for reusing.  
+
+* **Content Router**
+    The Content Router ensures that the end user is connected to the optimal cache for the location of the end user and content availability.
+
+* **Health Protocol** 
+    The Health Protocol monitors the usage of the caches and tenants in the CDN.
+
+* **Configuration Management System** 
+    In many cases a CDN encompasses hundreds of servers across a large geographic area. The Configuration Management System allows an operator to manage these servers.
+
+* **Log File Analysis System**
+    Every transaction in the CDN gets logged. The Log File Analysis System aggregates all of the log entries from all of the servers to a central location for analysis and troubleshooting.
+
+

http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol-website/blob/ee296175/docs/1.8.0/_sources/basics/http_11.txt
----------------------------------------------------------------------
diff --git a/docs/1.8.0/_sources/basics/http_11.txt b/docs/1.8.0/_sources/basics/http_11.txt
new file mode 100644
index 0000000..65d6d71
--- /dev/null
+++ b/docs/1.8.0/_sources/basics/http_11.txt
@@ -0,0 +1,48 @@
+.. 
+.. 
+.. Licensed under the Apache License, Version 2.0 (the "License");
+.. you may not use this file except in compliance with the License.
+.. You may obtain a copy of the License at
+.. 
+..     http://www.apache.org/licenses/LICENSE-2.0
+.. 
+.. Unless required by applicable law or agreed to in writing, software
+.. distributed under the License is distributed on an "AS IS" BASIS,
+.. WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+.. See the License for the specific language governing permissions and
+.. limitations under the License.
+.. 
+
+.. index::
+	http/1.1
+	HTTP
+
+HTTP 1.1
+========
+For a comprehensive look at Traffic Control, it is important to understand basic HTTP 1.1 protocol operations and how caches function. The example below illustrates the fulfillment of an HTTP 1.1 request in a situation without CDN or proxy, followed by viewing the changes after inserting different types of (caching) proxies. Several of the examples below are simplified for clarification of the essentials.
+
+For complete details on HTTP 1.1 see `RFC 2616 - Hypertext Transfer Protocol -- HTTP/1.1 <https://www.ietf.org/rfc/rfc2616.txt>`_.
+
+Below are the steps of a client retrieving the URL ``http://www.origin.com/foo/bar/fun.html`` using HTTP/1.1 without proxies:
+
+1. The client sends a request to the Local DNS (LDNS) server to resolve the name ``www.origin.com`` to an IPv4 address.
+
+2. If the LDNS does not have this name (IPv4 mapping cached), it sends DNS requests to the ., .com, and .origin.com authoritative servers until it receives a response with the address for ``www.origin.com``. Per the DNS SPEC, this response has a Time To Live (TTL), which indicates how long this mapping can be cached at the LDNS server. In the example, the IP address found by the LDNS server for www.origin.com is 44.33.22.11.
+
+  .. Note:: While longer DNS TTLs of a day (86400 seconds) or more are quite common in other use cases, in CDN use cases DNS TTLs are often below a minute.
+
+3. The client opens a TCP connection from a random port locally to port 80 (the HTTP default) on 44.33.22.11, and sends this (showing the minimum HTTP 1.1 request, typically there are additional headers): ::
+
+    GET /foo/bar/fun.html HTTP/1.1
+    Host: www.origin.com
+
+4. The server at ``www.origin.com`` looks up the Host: header to match that to a configuration section, usually referred to as a virtual host section. If the Host: header and configuration section match, the search continues for the content of the path ``/foo/bar/fun.html``, in the example, this is a file that contains ``<html><body>This is a fun file</body></html>``, so the server responds with the following: ::
+
+
+      HTTP/1.1 200 OK
+      Content-Type: text/html; charset=UTF-8
+      Content-Length: 45
+
+      <html><body>This is a fun file</body></html>
+
+ At this point, HTTP transaction is complete.

http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol-website/blob/ee296175/docs/1.8.0/_sources/basics/index.txt
----------------------------------------------------------------------
diff --git a/docs/1.8.0/_sources/basics/index.txt b/docs/1.8.0/_sources/basics/index.txt
new file mode 100644
index 0000000..23ee1da
--- /dev/null
+++ b/docs/1.8.0/_sources/basics/index.txt
@@ -0,0 +1,29 @@
+.. 
+.. 
+.. Licensed under the Apache License, Version 2.0 (the "License");
+.. you may not use this file except in compliance with the License.
+.. You may obtain a copy of the License at
+.. 
+..     http://www.apache.org/licenses/LICENSE-2.0
+.. 
+.. Unless required by applicable law or agreed to in writing, software
+.. distributed under the License is distributed on an "AS IS" BASIS,
+.. WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+.. See the License for the specific language governing permissions and
+.. limitations under the License.
+.. 
+
+CDN Basics
+**********
+
+Traffic Control is a CDN control plane, see the topics below to familiarize yourself with the basic concepts of a CDN.
+
+.. toctree::
+  :maxdepth: 2
+
+  content_delivery_networks
+  http_11
+  caching_proxies
+  cache_revalidation
+
+

http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol-website/blob/ee296175/docs/1.8.0/_sources/development/index.txt
----------------------------------------------------------------------
diff --git a/docs/1.8.0/_sources/development/index.txt b/docs/1.8.0/_sources/development/index.txt
new file mode 100644
index 0000000..851e463
--- /dev/null
+++ b/docs/1.8.0/_sources/development/index.txt
@@ -0,0 +1,29 @@
+.. 
+.. 
+.. Licensed under the Apache License, Version 2.0 (the "License");
+.. you may not use this file except in compliance with the License.
+.. You may obtain a copy of the License at
+.. 
+..     http://www.apache.org/licenses/LICENSE-2.0
+.. 
+.. Unless required by applicable law or agreed to in writing, software
+.. distributed under the License is distributed on an "AS IS" BASIS,
+.. WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+.. See the License for the specific language governing permissions and
+.. limitations under the License.
+.. 
+
+Developer's Guide
+*****************
+Use this guide to start developing applications that consume the Traffic Control APIs, to create extensions to Traffic Ops, or work on Traffic Control itself.
+
+.. toctree::
+  :maxdepth: 2
+
+  traffic_ops
+  traffic_portal
+  traffic_router
+  traffic_monitor
+  traffic_stats
+  traffic_server
+

http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol-website/blob/ee296175/docs/1.8.0/_sources/development/traffic_monitor.txt
----------------------------------------------------------------------
diff --git a/docs/1.8.0/_sources/development/traffic_monitor.txt b/docs/1.8.0/_sources/development/traffic_monitor.txt
new file mode 100644
index 0000000..012cbb3
--- /dev/null
+++ b/docs/1.8.0/_sources/development/traffic_monitor.txt
@@ -0,0 +1,112 @@
+.. 
+.. 
+.. Licensed under the Apache License, Version 2.0 (the "License");
+.. you may not use this file except in compliance with the License.
+.. You may obtain a copy of the License at
+.. 
+..     http://www.apache.org/licenses/LICENSE-2.0
+.. 
+.. Unless required by applicable law or agreed to in writing, software
+.. distributed under the License is distributed on an "AS IS" BASIS,
+.. WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+.. See the License for the specific language governing permissions and
+.. limitations under the License.
+.. 
+
+Traffic Monitor
+***************
+Introduction
+============
+Traffic Monitor is a Java Tomcat application that monitors caches, provides health state information to Traffic Router, and collects statistics for use in tools such as Traffic Ops and Traffic Stats.  The health state provided by Traffic Monitor is used by Traffic Router to control which caches are available on the CDN.
+
+Software Requirements
+=====================
+To work on Traffic Monitor you need a \*nix (MacOS and Linux are most commonly used) environment that has the following installed:
+
+* Eclipse >= Kepler SR2 (or another Java IDE)
+* Maven >= 3.3.1
+* JDK >= 6.0
+
+Traffic Monitor Project Tree Overview
+=====================================
+* ``traffic_control/traffic_monitor/`` - base directory for Traffic Monitor
+
+	* ``etc/`` - Miscellaneous simulator utilities
+	* ``src/main`` - Main source directory for the Traffic Monitor
+
+		* ``bin/`` - Configuration tools
+		* ``conf/`` - Configuration files
+		* ``java/`` - Java source code for Traffic Monitor
+		* ``opt/tomcat/conf`` - Contains Tomcat configuration file(s) pulled in during an RPM build
+		* ``resources/`` - Resources pulled in during an RPM build
+		* ``scripts/`` - Scripts used by the RPM build process
+		* ``webapp/`` - Java webapp resources
+
+	* ``src/test`` - Test source directory for Traffic Monitor
+
+		* ``java/`` - JUnit based unit tests for Traffic Monitor
+		* ``resources/conf`` - Configuration files used by unit tests
+		* ``resources/db`` - Files downloaded by unit tests
+		* ``resources/var`` - Files generated by unit tests
+
+Java Formatting Conventions 
+===========================
+None at this time.  The codebase will eventually be formatted per Java standards.
+
+Installing The Developer Environment
+====================================
+To install the Traffic Monitor Developer environment:
+
+1. Clone the traffic_control repository using Git.
+2. Change directories into ``traffic_control/traffic_monitor``.
+3. Edit the following parameters in src/test/resources/conf/traffic_monitor_config.js:
+
++-----------------+------------------------------------------------------------+
+|    Parameter    |                           Value                            |
++=================+============================================================+
+| ``tm.hostname`` | FQDN of the Traffic Ops instance (do not include http://). |
++-----------------+------------------------------------------------------------+
+| ``tm.username`` | Admin username for Traffic Ops                             |
++-----------------+------------------------------------------------------------+
+| ``tm.password`` | Password for admin user                                    |
++-----------------+------------------------------------------------------------+
+| ``cdnName``     | Name of the CDN this Traffic Monitor will monitor          |
++-----------------+------------------------------------------------------------+
+
+4. Import the existing git repo into Eclipse:
+
+	a. File -> Import -> Git -> Projects from Git; Next
+	b. Existing local repository; Next
+	c. Add -> browse to find ``traffic_control``; Add
+	d. Select ``traffic_control``; Next
+	e. Ensure "Import existing projects" is selected, expand ``traffic_control``, select ``traffic_monitor``; Next
+	f. Ensure ``traffic_monitor`` is checked; Finish
+	g. Ensure ``traffic_monitor`` has been opened by Eclipse after importing
+
+5. Run ``mvn clean verify`` from the ``traffic_monitor`` directory
+
+6. Start the embedded Jetty instance from within Eclipse
+
+	a. In the package explorer, expand ``traffic_monitor``
+	b. Expand ``src/test/java``
+	c. Expand the package ``com.comcast.cdn.traffic_control.traffic_monitor``
+	d. Open and run ``Start.java``
+
+		..  Note:: If an error is displayed in the Console, run ``mvn clean verify`` from the ``traffic_monitor`` directory
+
+	e. With a web browser, navigate to http://localhost:8080
+
+Test Cases
+==========
+Unit tests can be executed using Maven by running ``mvn test`` at the root of the ``traffic_monitor`` project.
+
+API
+===
+
+:ref:`reference-tm-api`
+
+.. toctree:: 
+  :hidden:
+  :maxdepth: 1
+
+  traffic_monitor/traffic_monitor_api
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol-website/blob/ee296175/docs/1.8.0/_sources/development/traffic_monitor/traffic_monitor_api.txt
----------------------------------------------------------------------
diff --git a/docs/1.8.0/_sources/development/traffic_monitor/traffic_monitor_api.txt b/docs/1.8.0/_sources/development/traffic_monitor/traffic_monitor_api.txt
new file mode 100644
index 0000000..0240fd4
--- /dev/null
+++ b/docs/1.8.0/_sources/development/traffic_monitor/traffic_monitor_api.txt
@@ -0,0 +1,178 @@
+.. 
+.. 
+.. Licensed under the Apache License, Version 2.0 (the "License");
+.. you may not use this file except in compliance with the License.
+.. You may obtain a copy of the License at
+.. 
+..     http://www.apache.org/licenses/LICENSE-2.0
+.. 
+.. Unless required by applicable law or agreed to in writing, software
+.. distributed under the License is distributed on an "AS IS" BASIS,
+.. WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+.. See the License for the specific language governing permissions and
+.. limitations under the License.
+.. 
+
+.. _reference-tm-api:
+
+Traffic Monitor APIs
+====================
+The Traffic Monitor URLs below allow certain query parameters for use in controlling the data returned. The optional query parameters are the *tabbed* in values under each URL, if they exist.
+
+|
+
+**/publish/EventLog**
+
+Log of recent events.
+
+|
+
+**/publish/CacheStats**
+
+Statistics gathered for each cache.
+
+**Query Parameters**
+
++--------------+---------+------------------------------------------------+
+|  Parameter   | Type    |                  Description                   |
++==============+=========+================================================+
+| ``hc``       | int     | The history count, number of items to display. |
++--------------+---------+------------------------------------------------+
+| ``stats``    | string  | A comma separated list of stats to display.    |
++--------------+---------+------------------------------------------------+
+| ``wildcard`` | boolean | Controls whether specified stats should be     |
+|              |         | treated as partial strings.                    |
++--------------+---------+------------------------------------------------+
+
+|
+
+**/publish/CacheStats/:cache**
+
+Statistics gathered for only this cache.
+
+**Query Parameters**
+
++--------------+---------+------------------------------------------------+
+|  Parameter   | Type    |                  Description                   |
++==============+=========+================================================+
+| ``hc``       | int     | The history count, number of items to display. |
++--------------+---------+------------------------------------------------+
+| ``stats``    | string  | A comma separated list of stats to display.    |
++--------------+---------+------------------------------------------------+
+| ``wildcard`` | boolean | Controls whether specified stats should be     |
+|              |         | treated as partial strings.                    |
++--------------+---------+------------------------------------------------+
+
+|
+
+**/publish/DsStats**
+
+Statistics gathered for delivery services.
+
+**Query Parameters**
+
++--------------+---------+------------------------------------------------+
+|  Parameter   | Type    |                  Description                   |
++==============+=========+================================================+
+| ``hc``       | int     | The history count, number of items to display. |
++--------------+---------+------------------------------------------------+
+| ``stats``    | string  | A comma separated list of stats to display.    |
++--------------+---------+------------------------------------------------+
+| ``wildcard`` | boolean | Controls whether specified stats should be     |
+|              |         | treated as partial strings.                    |
++--------------+---------+------------------------------------------------+
+
+|
+
+**/publish/DsStats/:deliveryService**
+
+Statistics gathered for this delivery service only.
+
+**Query Parameters**
+
++--------------+---------+------------------------------------------------+
+|  Parameter   | Type    |                  Description                   |
++==============+=========+================================================+
+| ``hc``       | int     | The history count, number of items to display. |
++--------------+---------+------------------------------------------------+
+| ``stats``    | string  | A comma separated list of stats to display.    |
++--------------+---------+------------------------------------------------+
+| ``wildcard`` | boolean | Controls whether specified stats should be     |
+|              |         | treated as partial strings.                    |
++--------------+---------+------------------------------------------------+
+
+|
+
+**/publish/CrStates**
+
+The current state of this CDN per the health protocol.
+
+|
+
+**raw**
+
+The current state of this CDN per this Traffic Monitor only.
+
+|
+
+**/publish/CrConfig**
+
+The CrConfig served to and consumed by Traffic Router.
+
+|
+
+**/publish/PeerStates**
+
+The health state information from all peer Traffic Monitors.
+
+**Query Parameters**
+
++--------------+---------+------------------------------------------------+
+|  Parameter   | Type    |                  Description                   |
++==============+=========+================================================+
+| ``hc``       | int     | The history count, number of items to display. |
++--------------+---------+------------------------------------------------+
+| ``stats``    | string  | A comma separated list of stats to display.    |
++--------------+---------+------------------------------------------------+
+| ``wildcard`` | boolean | Controls whether specified stats should be     |
+|              |         | treated as partial strings.                    |
++--------------+---------+------------------------------------------------+
+
+|
+
+**/publish/Stats**
+
+The general statistics about Traffic Monitor.
+
+|
+
+**/publish/StatSummary**
+
+The summary of cache statistics.
+
+**Query Parameters**
+
++---------------+---------+-----------------------------------------------------------+
+|   Parameter   |   Type  |                        Description                        |
++===============+=========+===========================================================+
+| ``startTime`` | number  | Window start. The number of milliseconds since the epoch. |
++---------------+---------+-----------------------------------------------------------+
+| ``endTime``   | number  | Window end. The number of milliseconds since the epoch.   |
++---------------+---------+-----------------------------------------------------------+
+| ``hc``        | int     | The history count, number of items to display.            |
++---------------+---------+-----------------------------------------------------------+
+| ``stats``     | string  | A comma separated list of stats to display.               |
++---------------+---------+-----------------------------------------------------------+
+| ``wildcard``  | boolean | Controls whether specified stats should be                |
+|               |         | treated as partial strings.                               |
++---------------+---------+-----------------------------------------------------------+
+| ``cache``     | string  | Summary statistics for just this cache.                   |
++---------------+---------+-----------------------------------------------------------+
+
+|
+
+**/publish/ConfigDoc**
+
+The overview of configuration options.
+
+

http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol-website/blob/ee296175/docs/1.8.0/_sources/development/traffic_ops.txt
----------------------------------------------------------------------
diff --git a/docs/1.8.0/_sources/development/traffic_ops.txt b/docs/1.8.0/_sources/development/traffic_ops.txt
new file mode 100644
index 0000000..5ec31e4
--- /dev/null
+++ b/docs/1.8.0/_sources/development/traffic_ops.txt
@@ -0,0 +1,630 @@
+.. 
+.. 
+.. Licensed under the Apache License, Version 2.0 (the "License");
+.. you may not use this file except in compliance with the License.
+.. You may obtain a copy of the License at
+.. 
+..     http://www.apache.org/licenses/LICENSE-2.0
+.. 
+.. Unless required by applicable law or agreed to in writing, software
+.. distributed under the License is distributed on an "AS IS" BASIS,
+.. WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+.. See the License for the specific language governing permissions and
+.. limitations under the License.
+.. 
+
+Traffic Ops
+***********
+
+Introduction
+============
+Traffic Ops uses a MySql or Postgres database to store the configuration information, and the `Mojolicious framework <http://mojolicio.us/>`_ to generate the user interface and REST APIs. 
+
+Software Requirements
+=====================
+To work on Traffic Ops you need a \*nix (MacOS and Linux are most commonly used) environment that has the following installed:
+
+* `Carton 1.0.12 <http://search.cpan.org/~miyagawa/Carton-v1.0.12/lib/Carton.pm>`_
+
+  * cpan JSON
+  * cpan JSON::PP
+
+* `Go 1.4 <http://golang.org/doc/install>`_
+* Perl 5.10.1
+* Git
+* MySQL 5.1.52
+* `Goose <https://bitbucket.org/liamstask/goose/>`_
+
+Traffic Ops Project Tree Overview
+=======================================
+
+**/opt/traffic_ops/app**
+
+* bin/ - Directory for scripts, cronjobs, etc
+
+* conf/
+
+  * /development - Development (local) specific config files.
+  * /misc - Miscellaneous config files.
+  * /production - Production specific config files.
+  * /test - Test (unit test) specific config files.
+
+* db/ - Database related area.
+
+  * /migrations - Database Migration files.
+
+* lib/
+
+  * /API - Mojo Controllers for the /API area of the application.
+  * /Common - Common Code between both the API and UI areas.
+  * /Extensions      
+  * Fixtures/ - Test Case fixture data for the 'to_test' database.
+    * /Integration - Integration Tests.
+  * /MojoPlugins - Mojolicious Plugins for Common Controller Code.
+  * Schema/ - Database Schema area.
+    * /Result - DBIx ORM related files.
+  * /Test - Common Test. 
+  * /UI - Mojo Controllers for the Traffic Ops UI itself.
+  * Utils/           
+    * /Helper - Common utilities for the Traffic Ops application.
+
+* log/ - Log directory where the development and test files are written by the app.
+
+* public/
+             
+ * css/ - Stylesheets.
+ * images/ - Images.
+ * js/ - Javascripts
+
+* script/ - Mojo Bootstrap scripts.
+   
+* t/ - Unit Tests for the UI.
+
+ * api/ - Unit Tests for the API.
+
+* t_integration/ - High level tests for Integration level testing.
+
+* templates/ - Mojo Embedded Perl (.ep) files for the UI.
+
+
+
+Perl Formatting Conventions 
+===========================
+Perl tidy is for use in code formatting. See the following config file for formatting conventions.
+
+::
+
+
+  edit a file called $HOME/.perltidyrc
+
+  -l=156
+  -et=4
+  -t
+  -ci=4
+  -st
+  -se
+  -vt=0
+  -cti=0
+  -pt=1
+  -bt=1
+  -sbt=1
+  -bbt=1
+  -nsfs
+  -nolq
+  -otr
+  -aws
+  -wls="= + - / * ."
+  -wrs=\"= + - / * .\"
+  -wbb="% + - * / x != == >= <= =~ < > | & **= += *= &= <<= &&= -= /= |= + >>= ||= .= %= ^= x="
+
+
+Database Management
+===================
+..  Add db naming conventions
+
+The admin.pl script is for use in managing the Traffic Ops database tables. Below is an example of its usage. 
+
+``$ db/admin.pl``
+
+Usage:  db/admin.pl [--env (development|test|production)] [arguments]
+
+Example: ``db/admin.pl --env=test reset``
+
+Purpose:  This script is used to manage the database. The environments are defined in the dbconf.yml, as well as the database names.
+
+* To use the ``admin.pl`` script, you may need to add ``traffic_ops/lib`` and ``traffic_ops/local/lib/perl5`` to your `PERL5LIB <http://modperlbook.org/html/3-9-2-2-Using-the-PERL5LIB-environment-variable.html>`_ environment variable.
+
++-----------+--------------------------------------------------------------------+
+| Arguments | Description                                                        |
++===========+====================================================================+
+| create    | Execute db 'create' the database for the current environment.      |
++-----------+--------------------------------------------------------------------+
+| down      | Roll back a single migration from the current version.             |
++-----------+--------------------------------------------------------------------+
+| drop      | Execute db 'drop' on the database for the current environment.     |
++-----------+--------------------------------------------------------------------+
+| redo      | Roll back the most recently applied migration, then run it again.  |
++-----------+--------------------------------------------------------------------+
+| reset     | Execute db drop, create, load_schema, migrate on the database for  |
+|           | the current environment.                                           |
++-----------+--------------------------------------------------------------------+
+| seed      | Execute SQL from db/seeds.sql for loading static data.             |
++-----------+--------------------------------------------------------------------+
+| setup     | Execute db drop, create, load_schema, migrate, seed on the         |
+|           | database for the current environment.                              |
++-----------+--------------------------------------------------------------------+
+| status    | Print the status of all migrations.                                |
++-----------+--------------------------------------------------------------------+
+| upgrade   | Execute migrate then seed on the database for the current          |
+|           | environment.                                                       |
++-----------+--------------------------------------------------------------------+
+
+Installing The Developer Environment
+====================================
+To install the Traffic Ops Developer environment:
+
+1. Clone the traffic_control repository from `github.com <https://github.com/apache/incubator-trafficcontrol>`_.
+2. Install the local dependencies using Carton (cpanfile).
+
+  ::
+
+   $ cd traffic_ops/app
+   $ carton
+
+3. Set up a user in MySQL.
+
+  Example: :: 
+
+    master $ mysql
+    Welcome to the MySQL monitor.  Commands end with ; or \g.
+    Your MySQL connection id is 305
+    Server version: 5.6.19 Homebrew
+
+    Copyright (c) 2000, 2014, Oracle and/or its affiliates. All rights reserved.
+
+    Oracle is a registered trademark of Oracle Corporation and/or its
+    affiliates. Other names may be trademarks of their respective
+    owners.
+
+    Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
+
+    mysql> create user 'to_user'@'localhost';
+    mysql> grant all on to_development.* to 'to_user'@'localhost' identified by 'twelve';
+    mysql> grant all on to_test.* to 'to_user'@'localhost' identified by 'twelve';
+    mysql> grant all on to_integration.* to 'to_user'@'localhost' identified by 'twelve';
+
+
+4. Enter ``db/admin.pl --env=<enviroment name> setup`` to set up the traffic_ops database(s). 
+
+   * Unit test database: ``$ db/admin.pl --env=test setup``
+   * Development database: ``$ db/admin.pl --env=development setup``
+   * Integration database: ``$ db/admin.pl --env=integration setup``
+
+   |
+
+   Running the the admin.pl script in setup mode should look like this: ::
+
+       master $ db/admin.pl --env=development setup
+       Using database.conf: conf/development/database.conf
+       Using database.conf: conf/development/database.conf
+       Using database.conf: conf/development/database.conf
+       Using database.conf: conf/development/database.conf
+       Using database.conf: conf/development/database.conf
+       Using database.conf: conf/development/database.conf
+       Executing 'drop database to_development'
+       Executing 'create database to_development'
+       Creating database tables...
+       Warning: Using a password on the command line interface can be insecure.
+       Migrating database...
+       goose: migrating db environment 'development', current version: 0, target: 20150210100000
+       OK    20141222103718_extension.sql
+       OK    20150108100000_add_job_deliveryservice.sql
+       OK    20150205100000_cg_location.sql
+       OK    20150209100000_cran_to_asn.sql
+       OK    20150210100000_ds_keyinfo.sql
+       Seeding database...
+       Warning: Using a password on the command line interface can be insecure.
+
+5. (Optional) To load temporary data into the tables: ``$ perl bin/db/setup_kabletown.pl``
+
+6. Run the postinstall script: ``traffic_ops/install/bin/postinstall``
+
+7. To start Traffic Ops, enter ``$ bin/start.pl``
+
+   The local Traffic Ops instance uses an open source framework called morbo, starting following the start command execution.
+
+   Start up success includes the following:
+
+  ::
+   
+
+   [2015-02-24 10:44:34,991] [INFO] Listening at "http://*:3000".
+   
+   Server available at http://127.0.0.1:3000.
+
+
+8. Using a browser, navigate to the given address: ``http://127.0.0.1:3000``
+9. For the initial log in:
+  
+  * User name: admin
+  * Password: password
+
+10. Change the log in information.
+
+Test Cases
+==========
+Use prove to execute test cases. Execute after a carton install:
+
+* To run the Unit Tests: ``$ local/bin/prove -qrp  t/``
+* To run the Integration Tests: ``$ local/bin/prove -qrp t_integration/``
+
+The KableTown CDN example
+-------------------------
+The integration tests will load an example CDN with most of the features of Traffic Control being used. This is mostly for testing purposes, but can also be used as an example of how to configure certain features. To load the KableTown CDN example and access it:
+
+1. Run the integration tests 
+2. Start morbo against the integration database: ``export MOJO_MODE=integration; ./bin/start.pl``
+3. Using a browser, navigate to the given address: ``http://127.0.0.1:3000``
+4. For the initial log in:
+  
+  * User name: admin
+  * Password: password
+
+
+Extensions
+==========
+Traffic Ops Extensions are a way to enhance the basic functionality of Traffic Ops in a custom manner. There are three types of extensions:
+
+1. Check Extensions
+
+  These allow you to add custom checks to the "Health->Server Checks" view.
+
+2. Configuration Extensions
+
+  These allow you to add custom configuration file generators.
+
+3. Data source Extensions
+
+  These allow you to add statistic sources for the graph views and APIs.
+
+Extensions are managed using the $TO_HOME/bin/extensions command line script. For more information see :ref:`admin-to-ext-script`.
+
+Check Extensions
+----------------
+
+In other words, check extensions are scripts that, after registering with Traffic Ops, have a column reserved in the "Health->Server Checks" view and that usually run periodically out of cron.
+
+.. |checkmark| image:: ../../../traffic_ops/app/public/images/good.png 
+
+.. |X| image:: ../../../traffic_ops/app/public/images/bad.png
+
+
+It is the responsibility of the check extension script to iterate over the servers it wants to check and post the results.
+
+An example script might proceed by logging into the Traffic Ops server using the HTTPS base_url provided on the command line. The script is hardcoded with an auth token that is also provisioned in the Traffic Ops User database. This token allows the script to obtain a cookie used in later communications with the Traffic Ops API. The script then obtains a list of all caches to be polled by accessing Traffic Ops' ``/api/1.1/servers.json`` REST target. This list is walked, running a command to gather the stats from that cache. For some extensions, an HTTP GET request might be made to the ATS astats plugin, while for others the cache might be pinged, or a command run over SSH. The results are then compiled into a numeric or boolean result and the script POSTs tha result back to the Traffic Ops ``/api/1.1/servercheck/`` target.
+
+A check extension can have a column of |checkmark|'s and |X|'s (CHECK_EXTENSION_BOOL) or a column that shows a number (CHECK_EXTENSION_NUM).A simple example of a check extension of type CHECK_EXTENSION_NUM that will show 99.33 for all servers of type EDGE is shown below: :: 
+
+
+  Script here.
+
+Check Extension scripts are located in the $TO_HOME/bin/checks directory.
+
+Currently, the following Check Extensions are available and installed by default:
+
+**Cache Disk Usage Check - CDU**
+  This check shows how much of the available total cache disk is in use. A "warm" cache should show 100.00.
+
+**Cache Hit Ratio Check - CHR**
+  The cache hit ratio for the cache in the last 15 minutes (the interval is determined by the cron entry). 
+
+**DiffServe CodePoint Check - DSCP**
+  Checks if the returning traffic from the cache has the correct DSCP value as assigned in the delivery service. (Some routers will overwrite DSCP)
+
+**Maximum Transmission Check - MTU**
+  Checks if the Traffic Ops host (if that is the one running the check) can send and receive 8192 size packets to the ``ip_address`` of the server in the server table.
+
+**Operational Readiness Check - ORT**
+  See :ref:`reference-traffic-ops-ort` for more information on the ort script. The ORT column shows how many changes the traffic_ops_ort.pl script would apply if it was run. The number in this column should be 0. 
+
+**Ping Check - 10G, ILO, 10G6, FQDN**
+  The bin/checks/ToPingCheck.pl is to check basic IP connectivity, and in the default setup it checks IP connectivity to the following:
+  
+  10G
+    Is the ``ip_address`` (the main IPv4 address) from the server table pingable?
+  ILO
+    Is the ``ilo_ip_address`` (the lights-out-mangement IPv4 address) from the server table pingable?
+  10G6
+    Is the ``ip6_address`` (the main IPv6 address) from the server table pingable?
+  FQDN 
+    Is the Fully Qualified Domain name (the concatenation of ``host_name`` and ``.`` and ``domain_name`` from the server table) pingable?
+
+**Traffic Router Check - RTR**
+  Checks the state of each cache as perceived by all Traffic Monitors (via Traffic Router). This extension asks each Traffic Router for the state of the cache. A check failure is indicated if one or more monitors report an error for a cache. A cache is only marked as good if all reports are positive. (This is a pessimistic approach, opposite of how TM marks a cache as up, "the optimistic approach")
+  
+
+Configuration Extensions
+------------------------
+NOTE: Config Extensions are Beta at this time.
+
+
+Data Source Extensions
+----------------------
+Traffic Ops has the ability to load custom code at runtime that allow any CDN user to build custom APIs for any requirement that Traffic Ops does not fulfill.  There are two classes of Data Source Extensions, private and public.  Private extensions are Traffic Ops extensions that are not publicly available, and should be kept in the /opt/traffic_ops_extensions/private/lib. Public extensions are Traffic Ops extensions that are Open Source in nature and free to enhance or contribute back to the Traffic Ops Open Source project and should be kept in /opt/traffic_ops/app/lib/Extensions.
+
+
+Extensions at Runtime
+---------------------
+The search path for extensions depends on the configuration of the PERL5LIB, which is preconfigured in the Traffic Ops start scripts.  The following directory structure is where Traffic Ops will look for Extensions in this order.
+
+Extension Directories
+---------------------
+PERL5LIB Example Configuration: ::
+
+   export PERL5LIB=/opt/traffic_ops_extensions/private/lib/Extensions:/opt/traffic_ops/app/lib/Extensions/TrafficStats
+
+Perl Package Naming Convention
+------------------------------
+To prevent Extension namespace collisions within Traffic Ops all Extensions should follow the package naming convention below:
+
+Extensions::<ExtensionName>
+
+Data Source Extension Perl package name example
+Extensions::TrafficStats
+Extensions::YourCustomExtension
+
+TrafficOpsRoutes.pm
+-------------------
+Traffic Ops accesses each extension through the addition of a URL route as a custom hook.  These routes will be defined in a file called TrafficOpsRoutes.pm that should live in the top directory of your Extension.  The routes that are defined should follow the Mojolicious route conventions.
+
+
+Development Configuration
+--------------------------
+To incorporate any custom Extensions during development set your PERL5LIB with any number of directories with the understanding that the PERL5LIB search order will come into play, so keep in mind that top-down is how your code will be located.  Once Perl locates your custom route or Perl package/class it 'pins' on that class or Mojo Route and doesn't look any further, which allows for the developer to *override* Traffic Ops functionality.
+
+API
+===
+The Traffic Ops API provides programmatic access to read and write CDN data providing authorized API consumers with the ability to monitor CDN performance and configure CDN settings and parameters.
+
+Response Structure
+------------------
+All successful responses have the following structure: ::
+
+    {
+      "response": <JSON object with main response>,
+    }
+
+To make the documentation easier to read, only the ``<JSON object with main response>`` is documented, even though the response and version fields are always present. 
+
+Using API Endpoints
+-------------------
+1. Authenticate with your Traffic Portal or Traffic Ops user account credentials.
+2. Upon successful user authentication, note the mojolicious cookie value in the response headers. 
+3. Pass the mojolicious cookie value, along with any subsequent calls to an authenticated API endpoint.
+
+Example: ::
+  
+    [jvd@laika ~]$ curl -H "Accept: application/json" http://localhost:3000/api/1.1/usage/asns.json
+    {"alerts":[{"level":"error","text":"Unauthorized, please log in."}]}
+    [jvd@laika ~]$
+    [jvd@laika ~]$ curl -v -H "Accept: application/json" -v -X POST --data '{ "u":"admin", "p":"secret_passwd" }' http://localhost:3000/api/1.1/user/login
+    * Hostname was NOT found in DNS cache
+    *   Trying ::1...
+    * connect to ::1 port 3000 failed: Connection refused
+    *   Trying 127.0.0.1...
+    * Connected to localhost (127.0.0.1) port 3000 (#0)
+    > POST /api/1.1/user/login HTTP/1.1
+    > User-Agent: curl/7.37.1
+    > Host: localhost:3000
+    > Accept: application/json
+    > Content-Length: 32
+    > Content-Type: application/x-www-form-urlencoded
+    >
+    * upload completely sent off: 32 out of 32 bytes
+    < HTTP/1.1 200 OK
+    < Connection: keep-alive
+    < Access-Control-Allow-Methods: POST,GET,OPTIONS,PUT,DELETE
+    < Access-Control-Allow-Origin: http://localhost:8080
+    < Access-Control-Allow-Headers: Origin, X-Requested-With, Content-Type, Accept
+    < Set-Cookie: mojolicious=eyJleHBpcmVzIjoxNDI5NDAyMjAxLCJhdXRoX2RhdGEiOiJhZG1pbiJ9--f990d03b7180b1ece97c3bb5ca69803cd6a79862; expires=Sun, 19 Apr 2015 00:10:01 GMT; path=/; HttpOnly
+    < Content-Type: application/json
+    < Date: Sat, 18 Apr 2015 20:10:01 GMT
+    < Access-Control-Allow-Credentials: true
+    < Content-Length: 81
+    < Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+    * Server Mojolicious (Perl) is not blacklisted
+    < Server: Mojolicious (Perl)
+    <
+    * Connection #0 to host localhost left intact
+    {"alerts":[{"level":"success","text":"Successfully logged in."}]}
+    [jvd@laika ~]$
+
+    [jvd@laika ~]$ curl -H'Cookie: mojolicious=eyJleHBpcmVzIjoxNDI5NDAyMjAxLCJhdXRoX2RhdGEiOiJhZG1pbiJ9--f990d03b7180b1ece97c3bb5ca69803cd6a79862;' -H "Accept: application/json" http://localhost:3000/api/1.1/asns.json
+    {"response":{"asns":[{"lastUpdated":"2012-09-17 15:41:22", .. asn data deleted ..   ,}
+    [jvd@laika ~]$
+
+API Errors
+----------
+
+**Response Properties**
+
++----------------------+--------+------------------------------------------------+
+| Parameter            | Type   | Description                                    |
++======================+========+================================================+
+|``alerts``            | array  | A collection of alert messages.                |
++----------------------+--------+------------------------------------------------+
+| ``>level``           | string | Success, info, warning or error.               |
++----------------------+--------+------------------------------------------------+
+| ``>text``            | string | Alert message.                                 |
++----------------------+--------+------------------------------------------------+
+
+The 3 most common errors returned by Traffic Ops are:
+
+401 Unauthorized
+  When you don't supply the right cookie, this is the response. :: 
+
+    [jvd@laika ~]$ curl -v -H "Accept: application/json" http://localhost:3000/api/1.1/usage/asns.json
+    * Hostname was NOT found in DNS cache
+    *   Trying ::1...
+    * connect to ::1 port 3000 failed: Connection refused
+    *   Trying 127.0.0.1...
+    * Connected to localhost (127.0.0.1) port 3000 (#0)
+    > GET /api/1.1/usage/asns.json HTTP/1.1
+    > User-Agent: curl/7.37.1
+    > Host: localhost:3000
+    > Accept: application/json
+    >
+    < HTTP/1.1 401 Unauthorized
+    < Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+    < Content-Length: 84
+    * Server Mojolicious (Perl) is not blacklisted
+    < Server: Mojolicious (Perl)
+    < Connection: keep-alive
+    < Access-Control-Allow-Methods: POST,GET,OPTIONS,PUT,DELETE
+    < Access-Control-Allow-Headers: Origin, X-Requested-With, Content-Type, Accept
+    < Access-Control-Allow-Origin: http://localhost:8080
+    < Date: Sat, 18 Apr 2015 20:36:12 GMT
+    < Content-Type: application/json
+    < Access-Control-Allow-Credentials: true
+    <
+    * Connection #0 to host localhost left intact
+    {"alerts":[{"level":"error","text":"Unauthorized, please log in."}]}
+    [jvd@laika ~]$
+
+404 Not Found
+  When the resource (path) is non existent Traffic Ops returns a 404::
+
+    [jvd@laika ~]$ curl -v -H'Cookie: mojolicious=eyJleHBpcmVzIjoxNDI5NDAyMjAxLCJhdXRoX2RhdGEiOiJhZG1pbiJ9--f990d03b7180b1ece97c3bb5ca69803cd6a79862;' -H "Accept: application/json" http://localhost:3000/api/1.1/asnsjj.json
+    * Hostname was NOT found in DNS cache
+    *   Trying ::1...
+    * connect to ::1 port 3000 failed: Connection refused
+    *   Trying 127.0.0.1...
+    * Connected to localhost (127.0.0.1) port 3000 (#0)
+    > GET /api/1.1/asnsjj.json HTTP/1.1
+    > User-Agent: curl/7.37.1
+    > Host: localhost:3000
+    > Cookie: mojolicious=eyJleHBpcmVzIjoxNDI5NDAyMjAxLCJhdXRoX2RhdGEiOiJhZG1pbiJ9--f990d03b7180b1ece97c3bb5ca69803cd6a79862;
+    > Accept: application/json
+    >
+    < HTTP/1.1 404 Not Found
+    * Server Mojolicious (Perl) is not blacklisted
+    < Server: Mojolicious (Perl)
+    < Content-Length: 75
+    < Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+    < Content-Type: application/json
+    < Date: Sat, 18 Apr 2015 20:37:43 GMT
+    < Access-Control-Allow-Credentials: true
+    < Set-Cookie: mojolicious=eyJleHBpcmVzIjoxNDI5NDAzODYzLCJhdXRoX2RhdGEiOiJhZG1pbiJ9--8a5a61b91473bc785d4073fe711de8d2c63f02dd; expires=Sun, 19 Apr 2015 00:37:43 GMT; path=/; HttpOnly
+    < Access-Control-Allow-Methods: POST,GET,OPTIONS,PUT,DELETE
+    < Connection: keep-alive
+    < Access-Control-Allow-Headers: Origin, X-Requested-With, Content-Type, Accept
+    < Access-Control-Allow-Origin: http://localhost:8080
+    <
+    * Connection #0 to host localhost left intact
+    {"alerts":[{"text":"Resource not found.","level":"error"}]}
+    [jvd@laika ~]$
+
+500 Internal Server Error
+  When you are asking for a correct path, but the database doesn't match, it returns a 500:: 
+
+    [jvd@laika ~]$ curl -v -H'Cookie: mojolicious=eyJleHBpcmVzIjoxNDI5NDAyMjAxLCJhdXRoX2RhdGEiOiJhZG1pbiJ9--f990d03b7180b1ece97c3bb5ca69803cd6a79862;' -H "Accept: application/json" http://localhost:3000/api/1.1/servers/hostname/jj/details.json
+    * Hostname was NOT found in DNS cache
+    *   Trying ::1...
+    * connect to ::1 port 3000 failed: Connection refused
+    *   Trying 127.0.0.1...
+    * Connected to localhost (127.0.0.1) port 3000 (#0)
+    > GET /api/1.1/servers/hostname/jj/details.json HTTP/1.1
+    > User-Agent: curl/7.37.1
+    > Host: localhost:3000
+    > Cookie: mojolicious=eyJleHBpcmVzIjoxNDI5NDAyMjAxLCJhdXRoX2RhdGEiOiJhZG1pbiJ9--f990d03b7180b1ece97c3bb5ca69803cd6a79862;
+    > Accept: application/json
+    >
+    < HTTP/1.1 500 Internal Server Error
+    * Server Mojolicious (Perl) is not blacklisted
+    < Server: Mojolicious (Perl)
+    < Cache-Control: no-cache, no-store, max-age=0, must-revalidate
+    < Content-Length: 93
+    < Set-Cookie: mojolicious=eyJhdXRoX2RhdGEiOiJhZG1pbiIsImV4cGlyZXMiOjE0Mjk0MDQzMDZ9--1b08977e91f8f68b0ff5d5e5f6481c76ddfd0853; expires=Sun, 19 Apr 2015 00:45:06 GMT; path=/; HttpOnly
+    < Content-Type: application/json
+    < Date: Sat, 18 Apr 2015 20:45:06 GMT
+    < Access-Control-Allow-Credentials: true
+    < Access-Control-Allow-Methods: POST,GET,OPTIONS,PUT,DELETE
+    < Connection: keep-alive
+    < Access-Control-Allow-Headers: Origin, X-Requested-With, Content-Type, Accept
+    < Access-Control-Allow-Origin: http://localhost:8080
+    <
+    * Connection #0 to host localhost left intact
+    {"alerts":[{"level":"error","text":"An error occurred. Please contact your administrator."}]}
+    [jvd@laika ~]$
+
+  The rest of the API documentation will only document the ``200 OK`` case, where no errors have occured.
+
+Traffic Ops API Routes
+----------------------
+
+.. toctree:: 
+  :maxdepth: 1
+
+  traffic_ops_api/routes
+
+API 1.1 Reference 
+-----------------
+
+.. toctree:: 
+  :maxdepth: 1
+
+  traffic_ops_api/v11/asn
+  traffic_ops_api/v11/cachegroup
+  traffic_ops_api/v11/cdn
+  traffic_ops_api/v11/changelog
+  traffic_ops_api/v11/deliveryservice
+  traffic_ops_api/v11/hwinfo
+  traffic_ops_api/v11/parameter
+  traffic_ops_api/v11/phys_location
+  traffic_ops_api/v11/profile
+  traffic_ops_api/v11/region
+  traffic_ops_api/v11/role
+  traffic_ops_api/v11/server
+  traffic_ops_api/v11/static_dns
+  traffic_ops_api/v11/status
+  traffic_ops_api/v11/system
+  traffic_ops_api/v11/to_extension
+  traffic_ops_api/v11/type
+  traffic_ops_api/v11/user
+
+API 1.2 Reference 
+-----------------
+
+.. toctree:: 
+  :maxdepth: 1
+
+  traffic_ops_api/v12/asn
+  traffic_ops_api/v12/cachegroup
+  traffic_ops_api/v12/cache_stats
+  traffic_ops_api/v12/cdn
+  traffic_ops_api/v12/changelog
+  traffic_ops_api/v12/deliveryservice
+  traffic_ops_api/v12/deliveryservice_stats
+  traffic_ops_api/v12/division
+  traffic_ops_api/v12/federation
+  traffic_ops_api/v12/hwinfo
+  traffic_ops_api/v12/parameter
+  traffic_ops_api/v12/phys_location
+  traffic_ops_api/v12/profile
+  traffic_ops_api/v12/profile_parameter
+  traffic_ops_api/v12/influxdb
+  traffic_ops_api/v12/region
+  traffic_ops_api/v12/role
+  traffic_ops_api/v12/server
+  traffic_ops_api/v12/static_dns
+  traffic_ops_api/v12/status
+  traffic_ops_api/v12/system
+  traffic_ops_api/v12/to_extension
+  traffic_ops_api/v12/type
+  traffic_ops_api/v12/user
+  traffic_ops_api/v12/topology
+
+
+
+
+

http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol-website/blob/ee296175/docs/1.8.0/_sources/development/traffic_ops_api/routes.txt
----------------------------------------------------------------------
diff --git a/docs/1.8.0/_sources/development/traffic_ops_api/routes.txt b/docs/1.8.0/_sources/development/traffic_ops_api/routes.txt
new file mode 100644
index 0000000..ec90963
--- /dev/null
+++ b/docs/1.8.0/_sources/development/traffic_ops_api/routes.txt
@@ -0,0 +1,116 @@
+.. raw:: html
+
+  <style>
+  table {
+      table-layout: fixed;
+      width: 100%;
+  }
+
+  td {
+      word-wrap:break-word;
+  }
+  table.docutils col:nth-child(1) {
+      width: 30%;
+  }
+  table.docutils col:nth-child(2) {
+      width: 30%;
+  }
+  table.docutils col:nth-child(3) {
+      width: 30%;
+  }
+  .wy-nav-content {
+      max-width: 1200px;
+      width: 90%;
+  }
+  </style>
+
+.. 
+.. 
+.. Licensed under the Apache License, Version 2.0 (the "License");
+.. you may not use this file except in compliance with the License.
+.. You may obtain a copy of the License at
+.. 
+..     http://www.apache.org/licenses/LICENSE-2.0
+.. 
+.. Unless required by applicable law or agreed to in writing, software
+.. distributed under the License is distributed on an "AS IS" BASIS,
+.. WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+.. See the License for the specific language governing permissions and
+.. limitations under the License.
+.. 
+
+
+.. _to-api-routes:
+
+API Routes
+==========
+
++------------------------------------+----------------------------------------------------+----------------------------------------------------+
+| 1.0                                |   1.1                                              |   1.2                                              |
++====================================+====================================================+====================================================+
+| /asns                              |   :ref:`to-api-v11-asns-route`                     |   :ref:`to-api-v12-asns-route`                     |
++------------------------------------+----------------------------------------------------+----------------------------------------------------+
+| /availableds                       |   :ref:`to-api-v11-ds-route`                       |   :ref:`to-api-v12-ds-route`                       |
++------------------------------------+----------------------------------------------------+----------------------------------------------------+
+| *Not Implemented*                  |   *Not Implemented*                                |   :ref:`to-api-v12-cache-stats-route`              |
++------------------------------------+----------------------------------------------------+----------------------------------------------------+
+| /datacrans                         |   /api/1.1/crans.json                              |   /api/1.2/crans.json                              |
++------------------------------------+----------------------------------------------------+----------------------------------------------------+
+| /datacrans/orderby/:field          |   /api/1.1/crans.json                              |   /api/1.2/crans.json                              |
++------------------------------------+----------------------------------------------------+----------------------------------------------------+
+| /datadeliveryservice               |   :ref:`to-api-v11-ds-route`                       |   :ref:`to-api-v12-ds-route`                       |
++------------------------------------+----------------------------------------------------+----------------------------------------------------+
+| /datadeliveryserviceserver         |   /api/1.1/deliveryserviceserver.json              |   /api/1.2/deliveryserviceserver.json              |
++------------------------------------+----------------------------------------------------+----------------------------------------------------+
+| /datadomains                       |   /api/1.1/cdns/domains.json                       |   /api/1.2/cdns/domains.json                       |
++------------------------------------+----------------------------------------------------+----------------------------------------------------+
+| *Not Implemented*                  |  *Not Implemented*                                 |   :ref:`to-api-v12-ds-stats-route`                 |
++------------------------------------+----------------------------------------------------+----------------------------------------------------+
+| /datahwinfo                        |   :ref:`to-api-v11-hwinfo-route`                   |   :ref:`to-api-v12-hwinfo-route`                   |
++------------------------------------+----------------------------------------------------+----------------------------------------------------+
+| /datalinks                         |   /api/1.1/deliveryserviceserver.json              |   /api/1.2/deliveryserviceserver.json              |
++------------------------------------+----------------------------------------------------+----------------------------------------------------+
+| /datalinks/orderby/:field          |   /api/1.1/deliveryserviceserver.json              |   /api/1.2/deliveryserviceserver.json              |
++------------------------------------+----------------------------------------------------+----------------------------------------------------+
+| /datalogs                          |   :ref:`to-api-v11-change-logs-route`              |   :ref:`to-api-v12-change-logs-route`              |
++------------------------------------+----------------------------------------------------+----------------------------------------------------+
+| /datalocation/orderby/id           |   :ref:`to-api-v11-cachegroups-route`              |   :ref:`to-api-v12-cachegroups-route`              |
++------------------------------------+----------------------------------------------------+----------------------------------------------------+
+| /datalocationparameters            |   :ref:`to-api-v11-cachegroups-route`              |   :ref:`to-api-v12-cachegroups-route`              |
++------------------------------------+----------------------------------------------------+----------------------------------------------------+
+| /dataparameter                     |   :ref:`to-api-v11-parameters-route`               |   :ref:`to-api-v12-parameters-route`               |
++------------------------------------+----------------------------------------------------+----------------------------------------------------+
+| /dataparameter/:parameter          |   /api/1.1/parameters/profile/:parameter.json      |   /api/1.2/parameters/profile/:parameter.json      |
++------------------------------------+----------------------------------------------------+----------------------------------------------------+
+| /dataphys_location                 |   :ref:`to-api-v11-phys-loc-route`                 |   :ref:`to-api-v12-phys-loc-route`                 |
++------------------------------------+----------------------------------------------------+----------------------------------------------------+
+| /dataprofile                       |   :ref:`to-api-v11-profiles-route`                 |   :ref:`to-api-v12-profiles-route`                 |
+|                                    |                                                    |                                                    |
+| /dataprofile/orderby/name          |                                                    |                                                    |
++------------------------------------+----------------------------------------------------+----------------------------------------------------+
+| /dataregion                        |   :ref:`to-api-v11-regions-route`                  |   :ref:`to-api-v12-regions-route`                  |
++------------------------------------+----------------------------------------------------+----------------------------------------------------+
+| /datarole                          |   :ref:`to-api-v11-roles-route`                    |   :ref:`to-api-v12-roles-route`                    |
++------------------------------------+----------------------------------------------------+----------------------------------------------------+
+| /datarole/orderby/:field           |   :ref:`to-api-v11-roles-route`                    |   :ref:`to-api-v12-roles-route`                    |
++------------------------------------+----------------------------------------------------+----------------------------------------------------+
+| /dataserver                        |   :ref:`to-api-v11-servers-route`                  |   :ref:`to-api-v12-servers-route`                  |
++------------------------------------+----------------------------------------------------+----------------------------------------------------+
+| /dataserver/orderby/:field         |   :ref:`to-api-v11-servers-route`                  |   :ref:`to-api-v12-servers-route`                  |
++------------------------------------+----------------------------------------------------+----------------------------------------------------+
+| /dataserverdetail/select/:hostname |   /api/1.1/servers/hostname/:hostname/details.json |   /api/1.2/servers/hostname/:hostname/details.json |
++------------------------------------+----------------------------------------------------+----------------------------------------------------+
+| /datastaticdnsentry                |   :ref:`to-api-v11-static-dns-route`               |   :ref:`to-api-v12-static-dns-route`               |
++------------------------------------+----------------------------------------------------+----------------------------------------------------+
+| /datastatus                        |   :ref:`to-api-v11-statuses-route`                 |   :ref:`to-api-v12-statuses-route`                 |
++------------------------------------+----------------------------------------------------+----------------------------------------------------+
+| /datastatus/orderby/name           |   :ref:`to-api-v11-statuses-route`                 |   :ref:`to-api-v12-statuses-route`                 |
++------------------------------------+----------------------------------------------------+----------------------------------------------------+
+| /datatype                          |   :ref:`to-api-v11-types-route`                    |   :ref:`to-api-v12-types-route`                    |
++------------------------------------+----------------------------------------------------+----------------------------------------------------+
+| /datatype/orderby/:field           |   :ref:`to-api-v11-types-route`                    |   :ref:`to-api-v12-types-route`                    |
++------------------------------------+----------------------------------------------------+----------------------------------------------------+
+| /datauser                          |   :ref:`to-api-v11-users-route`                    |   :ref:`to-api-v12-users-route`                    |
++------------------------------------+----------------------------------------------------+----------------------------------------------------+
+| /datauser/orderby/:field           |   :ref:`to-api-v11-users-route`                    |   :ref:`to-api-v12-users-route`                    |
++------------------------------------+----------------------------------------------------+----------------------------------------------------+

http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol-website/blob/ee296175/docs/1.8.0/_sources/development/traffic_ops_api/v11/asn.txt
----------------------------------------------------------------------
diff --git a/docs/1.8.0/_sources/development/traffic_ops_api/v11/asn.txt b/docs/1.8.0/_sources/development/traffic_ops_api/v11/asn.txt
new file mode 100644
index 0000000..b6960d7
--- /dev/null
+++ b/docs/1.8.0/_sources/development/traffic_ops_api/v11/asn.txt
@@ -0,0 +1,69 @@
+.. 
+.. 
+.. Licensed under the Apache License, Version 2.0 (the "License");
+.. you may not use this file except in compliance with the License.
+.. You may obtain a copy of the License at
+.. 
+..     http://www.apache.org/licenses/LICENSE-2.0
+.. 
+.. Unless required by applicable law or agreed to in writing, software
+.. distributed under the License is distributed on an "AS IS" BASIS,
+.. WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+.. See the License for the specific language governing permissions and
+.. limitations under the License.
+.. 
+
+
+.. _to-api-v11-asn:
+
+ASN
+===
+
+.. _to-api-v11-asns-route:
+
+/api/1.1/asns
++++++++++++++
+
+**GET /api/1.1/asns**
+
+  Authentication Required: Yes
+
+  Role(s) Required: None
+
+  **Response Properties**
+
+  +------------------+--------+-------------------------------------------------------------------------+
+  |    Parameter     |  Type  |                               Description                               |
+  +==================+========+=========================================================================+
+  | ``asns``         | array  | A collection of asns                                                    |
+  +------------------+--------+-------------------------------------------------------------------------+
+  | ``>lastUpdated`` | string | The Time / Date this server entry was last updated                      |
+  +------------------+--------+-------------------------------------------------------------------------+
+  | ``>id``          | string | Local unique identifier for the ASN                                     |
+  +------------------+--------+-------------------------------------------------------------------------+
+  | ``>asn``         | string | Autonomous System Numbers per APNIC for identifying a service provider. |
+  +------------------+--------+-------------------------------------------------------------------------+
+  | ``>cachegroup``  | string | Related cachegroup name                                                 |
+  +------------------+--------+-------------------------------------------------------------------------+
+
+  **Response Example** ::
+
+    {
+     "response": {
+        "asns": [
+           {
+              "lastUpdated": "2012-09-17 21:41:22",
+              "id": "27",
+              "asn": "7015",
+              "cachegroup": "us-ma-woburn"
+           },
+           {
+              "lastUpdated": "2012-09-17 21:41:22",
+              "id": "28",
+              "asn": "7016",
+              "cachegroup": "us-pa-pittsburgh"
+           }
+        ]
+     },
+    }
+

http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol-website/blob/ee296175/docs/1.8.0/_sources/development/traffic_ops_api/v11/cachegroup.txt
----------------------------------------------------------------------
diff --git a/docs/1.8.0/_sources/development/traffic_ops_api/v11/cachegroup.txt b/docs/1.8.0/_sources/development/traffic_ops_api/v11/cachegroup.txt
new file mode 100644
index 0000000..5278645
--- /dev/null
+++ b/docs/1.8.0/_sources/development/traffic_ops_api/v11/cachegroup.txt
@@ -0,0 +1,317 @@
+.. 
+.. 
+.. Licensed under the Apache License, Version 2.0 (the "License");
+.. you may not use this file except in compliance with the License.
+.. You may obtain a copy of the License at
+.. 
+..     http://www.apache.org/licenses/LICENSE-2.0
+.. 
+.. Unless required by applicable law or agreed to in writing, software
+.. distributed under the License is distributed on an "AS IS" BASIS,
+.. WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+.. See the License for the specific language governing permissions and
+.. limitations under the License.
+.. 
+
+.. _to-api-v11-cachegroup:
+
+Cache Group
+===========
+
+.. _to-api-v11-cachegroups-route:
+
+/api/1.1/cachegroups
+++++++++++++++++++++
+
+**GET /api/1.1/cachegroups**
+
+  Authentication Required: Yes
+
+  Role(s) Required: None
+
+  **Response Properties**
+
+  +-----------------------------------+--------+--------------------------------------------------------------------------+
+  | Parameter                         | Type   | Description                                                              |
+  +===================================+========+==========================================================================+
+  | ``id``                            | string | Local unique identifier for the Cache Group                              |
+  +-----------------------------------+--------+--------------------------------------------------------------------------+
+  | ``lastUpdated``                   | string | The Time / Date this entry was last updated                              |
+  +-----------------------------------+--------+--------------------------------------------------------------------------+
+  | ``latitude``                      | string | Latitude for the Cache Group                                             |
+  +-----------------------------------+--------+--------------------------------------------------------------------------+
+  | ``longitude``                     | string | Longitude for the Cache Group                                            |
+  +-----------------------------------+--------+--------------------------------------------------------------------------+
+  | ``name``                          | string | The name of the Cache Group entry                                        |
+  +-----------------------------------+--------+--------------------------------------------------------------------------+
+  | ``parentCachegroupId``            | string | Parent cachegroup ID.                                                    |
+  +-----------------------------------+--------+--------------------------------------------------------------------------+
+  | ``parentCachegroupName``          | string | Parent cachegroup name.                                                  |
+  +-----------------------------------+--------+--------------------------------------------------------------------------+
+  | ``secondaryParentCachegroupId``   | string | Secondary parent cachegroup ID.                                          |
+  +-----------------------------------+--------+--------------------------------------------------------------------------+
+  | ``secondaryParentCachegroupName`` | string | Secondary parent cachegroup name.                                        |
+  +-----------------------------------+--------+--------------------------------------------------------------------------+
+  | ``shortName``                     | string | Abbreviation of the Cache Group Name                                     |
+  +-----------------------------------+--------+--------------------------------------------------------------------------+
+  | ``typeId``                        | string | Unique identifier for the 'Type' of Cache Group entry                    |
+  +-----------------------------------+--------+--------------------------------------------------------------------------+
+  | ``typeName``                      | string | The name of the type of Cache Group entry                                |
+  +-----------------------------------+--------+--------------------------------------------------------------------------+
+
+  **Response Example** ::
+
+    {
+     "response": [
+        {
+           "id": "21",
+           "lastUpdated": "2012-09-25 20:27:28",
+           "latitude": "0",
+           "longitude": "0",
+           "name": "dc-chicago",
+           "parentCachegroupId": null,
+           "parentCachegroupName": null,
+           "secondaryParentCachegroupId": null,
+           "secondaryParentCachegroupName": null,
+           "shortName": "dcchi",
+           "typeName": "MID_LOC",
+           "typeId": "4"
+        },
+        {
+           "id": "22",
+           "lastUpdated": "2012-09-25 20:27:28",
+           "latitude": "0",
+           "longitude": "0",
+           "name": "dc-chicago-1",
+           "parentCachegroupId": null,
+           "parentCachegroupName": null,
+           "secondaryParentCachegroupId": null,
+           "secondaryParentCachegroupName": null,
+           "shortName": "dcchi",
+           "typeName": "MID_LOC",
+           "typeId": "4"
+        }
+     ],
+    }
+
+|
+
+**GET /api/1.1/cachegroups/trimmed**
+
+  Authentication Required: Yes
+
+  Role(s) Required: None
+
+  **Response Properties**
+
+  +----------------------+--------+------------------------------------------------+
+  | Parameter            | Type   | Description                                    |
+  +======================+========+================================================+
+  |``name``              | string |                                                |
+  +----------------------+--------+------------------------------------------------+
+
+  **Response Example** ::
+
+      {
+       "response": [
+          {
+             "name": "dc-chicago"
+          },
+          {
+             "name": "dc-cmc"
+          }
+       ],
+     }
+
+|
+
+**GET /api/1.1/cachegroups/:id**
+
+  Authentication Required: Yes
+
+  Role(s) Required: None
+
+  **Response Properties**
+
+  +-----------------------------------+--------+--------------------------------------------------------------------------+
+  | Parameter                         | Type   | Description                                                              |
+  +===================================+========+==========================================================================+
+  | ``id``                            | string | Local unique identifier for the Cache Group                              |
+  +-----------------------------------+--------+--------------------------------------------------------------------------+
+  | ``lastUpdated``                   | string | The Time / Date this entry was last updated                              |
+  +-----------------------------------+--------+--------------------------------------------------------------------------+
+  | ``latitude``                      | string | Latitude for the Cache Group                                             |
+  +-----------------------------------+--------+--------------------------------------------------------------------------+
+  | ``longitude``                     | string | Longitude for the Cache Group                                            |
+  +-----------------------------------+--------+--------------------------------------------------------------------------+
+  | ``name``                          | string | The name of the Cache Group entry                                        |
+  +-----------------------------------+--------+--------------------------------------------------------------------------+
+  | ``parentCachegroupId``            | string | Parent cachegroup ID.                                                    |
+  +-----------------------------------+--------+--------------------------------------------------------------------------+
+  | ``parentCachegroupName``          | string | Parent cachegroup name.                                                  |
+  +-----------------------------------+--------+--------------------------------------------------------------------------+
+  | ``secondaryParentCachegroupId``   | string | Secondary parent cachegroup ID.                                          |
+  +-----------------------------------+--------+--------------------------------------------------------------------------+
+  | ``secondaryParentCachegroupName`` | string | Secondary parent cachegroup name.                                        |
+  +-----------------------------------+--------+--------------------------------------------------------------------------+
+  | ``shortName``                     | string | Abbreviation of the Cache Group Name                                     |
+  +-----------------------------------+--------+--------------------------------------------------------------------------+
+  | ``typeId``                        | string | Unique identifier for the 'Type' of Cache Group entry                    |
+  +-----------------------------------+--------+--------------------------------------------------------------------------+
+  | ``typeName``                      | string | The name of the type of Cache Group entry                                |
+  +-----------------------------------+--------+--------------------------------------------------------------------------+
+
+  **Response Example** ::
+
+    {
+     "response": [
+        {
+           "id": "21",
+           "lastUpdated": "2012-09-25 20:27:28",
+           "latitude": "0",
+           "longitude": "0",
+           "name": "dc-chicago",
+           "parentCachegroupId": null,
+           "parentCachegroupName": null,
+           "secondaryParentCachegroupId": null,
+           "secondaryParentCachegroupName": null,
+           "shortName": "dcchi",
+           "typeName": "MID_LOC",
+           "typeId": "4"
+        }
+     ],
+    }
+
+|
+
+
+**GET /api/1.1/cachegroup/:parameter_id/parameter**
+
+  Authentication Required: Yes
+
+  Role(s) Required: None
+
+  **Request Route Parameters**
+
+  +------------------+----------+-------------+
+  |       Name       | Required | Description |
+  +==================+==========+=============+
+  | ``parameter_id`` | yes      |             |
+  +------------------+----------+-------------+
+
+  **Response Properties**
+
+  +-----------------+--------+-------------+
+  |    Parameter    |  Type  | Description |
+  +=================+========+=============+
+  | ``cachegroups`` | array  |             |
+  +-----------------+--------+-------------+
+  | ``>name``       | string |             |
+  +-----------------+--------+-------------+
+  | ``>id``         | string |             |
+  +-----------------+--------+-------------+
+
+  **Response Example** ::
+
+    {
+     "response": {
+        "cachegroups": [
+           {
+              "name": "dc-chicago",
+              "id": "21"
+           },
+           {
+              "name": "dc-cmc",
+              "id": "22"
+           }
+        ]
+     },
+    }
+
+
+**GET /api/1.1/cachegroupparameters**
+
+  Authentication Required: Yes
+
+  Role(s) Required: None
+
+  **Response Properties**
+
+  +--------------------------+--------+-----------------------------------------+
+  |        Parameter         |  Type  |               Description               |
+  +==========================+========+=========================================+
+  | ``cachegroupParameters`` | array  | A collection of cache group parameters. |
+  +--------------------------+--------+-----------------------------------------+
+  | ``>parameter``           | string |                                         |
+  +--------------------------+--------+-----------------------------------------+
+  | ``>last_updated``        | string |                                         |
+  +--------------------------+--------+-----------------------------------------+
+  | ``>cachegroup``          | string |                                         |
+  +--------------------------+--------+-----------------------------------------+
+
+  **Response Example** ::
+
+    {
+     "response": {
+        "cachegroupParameters": [
+           {
+              "parameter": "379",
+              "last_updated": "2013-08-05 18:49:37",
+              "cachegroup": "us-ca-sanjose"
+           },
+           {
+              "parameter": "380",
+              "last_updated": "2013-08-05 18:49:37",
+              "cachegroup": "us-ca-sanjose"
+           },
+           {
+              "parameter": "379",
+              "last_updated": "2013-08-05 18:49:37",
+              "cachegroup": "us-ma-woburn"
+           }
+        ]
+     },
+    }
+
+
+|
+
+**GET /api/1.1/cachegroups/:parameter_id/parameter/available**
+
+  Authentication Required: Yes
+
+  Role(s) Required: None
+
+  **Request Route Parameters**
+
+  +------------------+----------+-------------+
+  |       Name       | Required | Description |
+  +==================+==========+=============+
+  | ``parameter_id`` | yes      |             |
+  +------------------+----------+-------------+
+
+  **Response Properties**
+
+  +----------------------+--------+------------------------------------------------+
+  | Parameter            | Type   | Description                                    |
+  +======================+========+================================================+
+  |``name``              |        |                                                |
+  +----------------------+--------+------------------------------------------------+
+  |``id``                |        |                                                |
+  +----------------------+--------+------------------------------------------------+
+
+  **Response Example** ::
+
+    {
+     "response": [
+        {
+           "name": "dc-chicago",
+           "id": "21"
+        },
+        {
+           "name": "dc-cmc",
+           "id": "22"
+        }
+     ],
+    }
+