Skip to content

Commit

Permalink
Build documentation for 0.0 at 9400c46
Browse files Browse the repository at this point in the history
  • Loading branch information
doc bot committed Sep 10, 2023
1 parent 247fbbd commit c03fb7c
Show file tree
Hide file tree
Showing 6 changed files with 65 additions and 12 deletions.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file not shown.
12 changes: 10 additions & 2 deletions _sources/arch.rst.txt
Original file line number Diff line number Diff line change
Expand Up @@ -46,11 +46,19 @@ controller
DynamoDB
`Amazon DynamoDB`_ NoSQL database service.

The CDN uses a single DynamoDB table which primarily contains mappings
between URIs and S3 object keys.
DynamoDB (content)
A DynamoDB table which primarily contains mappings between URIs and S3 object
keys. Used to look up content. Where multiple matches exist for the same URI,
the latest item is used.

For more information about the data contained here, see :ref:`schema_ref`.

DynamoDB (config)
A DynamoDB table which holds configuration influencing the behavior of the CDN.
Examples of configuration include the variables needed to respond to `/listing`
requests, and information on aliases between paths (emulating symlinks between
directories).

S3
`Amazon S3`_, Simple Storage Service.

Expand Down
63 changes: 54 additions & 9 deletions arch.html
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@
<h2>Overview<a class="headerlink" href="#overview" title="Link to this heading"></a></h2>
<p>This diagram shows the relationship between all major components used
in the delivery of content via the CDN.</p>
<div class="graphviz"><img src="_images/graphviz-80b25e9e891a7b52a17f6a68801f6dbe50edd089.png" alt="digraph {
<div class="graphviz"><img src="_images/graphviz-50b989859db264b9edff1ae259589159cc937929.png" alt="digraph {
ranksep=&quot;1.4&quot;;
# These are arranged and labelled to communicate the
Expand All @@ -52,11 +52,17 @@ <h2>Overview<a class="headerlink" href="#overview" title="Link to this heading">
xlabel=&lt; &lt;table bgcolor=&quot;white&quot; border=&quot;0&quot; cellborder=&quot;0&quot; cellpadding=&quot;0&quot; style=&quot;rounded&quot;&gt;&lt;tr&gt;&lt;td&gt;2&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt; &gt;
]
origin_request -&gt; db [
origin_request -&gt; dbcontent [
xlabel=&lt; &lt;table bgcolor=&quot;white&quot; border=&quot;0&quot; cellborder=&quot;0&quot; cellpadding=&quot;0&quot; style=&quot;rounded&quot;&gt;&lt;tr&gt;&lt;td&gt;3&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt; &gt;,
dir=both
]
origin_request -&gt; dbconfig [
# This connection doesn't get a number since the reading of config is not
# directly tied to the lifecycle of a request.
dir=both
]
origin_request -&gt; controller:s [
xlabel=&lt; &lt;table bgcolor=&quot;white&quot; border=&quot;0&quot; cellborder=&quot;0&quot; cellpadding=&quot;0&quot; style=&quot;rounded&quot;&gt;&lt;tr&gt;&lt;td&gt;4&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt; &gt;
]
Expand All @@ -80,7 +86,8 @@ <h2>Overview<a class="headerlink" href="#overview" title="Link to this heading">
# Connection order here is reversed to force the publishing tools to the bottom
# of the graph, which makes them stand out a bit more.
S3:s -&gt; exodus_gw:ne [dir=&quot;back&quot;]
db:s -&gt; exodus_gw:nw [dir=&quot;back&quot;]
dbcontent:s -&gt; exodus_gw:nw [dir=&quot;back&quot;]
dbconfig -&gt; exodus_gw [dir=&quot;both&quot;]
exodus_gw -&gt; exodus_rsync:n [dir=&quot;back&quot;];
exodus_gw -&gt; native_tools:n [dir=&quot;back&quot;];
Expand All @@ -92,16 +99,16 @@ <h2>Overview<a class="headerlink" href="#overview" title="Link to this heading">
legacy_tools [label=&quot;publishing tools (rsync)&quot;, style=&quot;dashed&quot;];
native_tools [label=&quot;publishing tools (exodus)&quot;, style=&quot;dashed&quot;];
db [
dbcontent [
shape=plaintext
fontsize=9
label=&lt;
&lt;table border='1' cellborder='1' cellspacing='0'&gt;
&lt;tr&gt;&lt;td colspan='4'&gt;&lt;font point-size=&quot;14&quot;&gt;&lt;b&gt;☁ DynamoDB&lt;/b&gt;&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan='4'&gt;&lt;font point-size=&quot;14&quot;&gt;&lt;b&gt;☁ DynamoDB (content)&lt;/b&gt;&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;b&gt;web_uri (partition key)&lt;/b&gt;&lt;/td&gt;
&lt;td&gt;&lt;b&gt;from_date (sort key)&lt;/b&gt;&lt;/td&gt;
&lt;td&gt;&lt;b&gt;web_uri&lt;/b&gt;&lt;/td&gt;
&lt;td&gt;&lt;b&gt;from_date&lt;/b&gt;&lt;/td&gt;
&lt;td&gt;&lt;b&gt;object_key&lt;/b&gt;&lt;/td&gt;
&lt;td&gt;&lt;b&gt;content_type&lt;/b&gt;&lt;/td&gt;
&lt;/tr&gt;
Expand Down Expand Up @@ -134,6 +141,32 @@ <h2>Overview<a class="headerlink" href="#overview" title="Link to this heading">
&gt;
];
dbconfig [
shape=plaintext
fontsize=9
label=&lt;
&lt;table border='1' cellborder='1' cellspacing='0'&gt;
&lt;tr&gt;&lt;td colspan='4'&gt;&lt;font point-size=&quot;14&quot;&gt;&lt;b&gt;☁ DynamoDB (config)&lt;/b&gt;&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;b&gt;config_id&lt;/b&gt;&lt;/td&gt;
&lt;td&gt;&lt;b&gt;from_date&lt;/b&gt;&lt;/td&gt;
&lt;td&gt;&lt;b&gt;config&lt;/b&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;exodus-config&lt;/td&gt;
&lt;td&gt;2023-08-04 21:05:40&lt;/td&gt;
&lt;td&gt;{&quot;listing&quot;: {&quot;/content/dist/rhel8&quot;: {...&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;exodus-config&lt;/td&gt;
&lt;td&gt;2023-08-07 21:20:31&lt;/td&gt;
&lt;td&gt;{&quot;listing&quot;: {&quot;/content/dist/rhel8&quot;: {...&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan='4'&gt;...&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;
&gt;
];
S3 [
shape=plaintext
fontsize=9
Expand Down Expand Up @@ -196,6 +229,11 @@ <h2>Overview<a class="headerlink" href="#overview" title="Link to this heading">
native_tools;
}
}
# both DynamoDB and S3 would normally be on the same rank, which makes
# the diagram way too wide. This ought to help by shifting the config
# table downwards.
{ rank=same; exodus_gw; dbconfig; }
}" class="graphviz" /></div>
<ul class="simple">
<li><p>Numbered connections represent the sequence of events when the CDN processes
Expand Down Expand Up @@ -226,10 +264,17 @@ <h2>Components<a class="headerlink" href="#components" title="Link to this headi
<p>…and so on.</p>
</dd>
<dt>DynamoDB</dt><dd><p><a class="reference external" href="https://aws.amazon.com/dynamodb/">Amazon DynamoDB</a> NoSQL database service.</p>
<p>The CDN uses a single DynamoDB table which primarily contains mappings
between URIs and S3 object keys.</p>
</dd>
<dt>DynamoDB (content)</dt><dd><p>A DynamoDB table which primarily contains mappings between URIs and S3 object
keys. Used to look up content. Where multiple matches exist for the same URI,
the latest item is used.</p>
<p>For more information about the data contained here, see <a class="reference internal" href="schema-reference.html#schema-ref"><span class="std std-ref">Schema Reference</span></a>.</p>
</dd>
<dt>DynamoDB (config)</dt><dd><p>A DynamoDB table which holds configuration influencing the behavior of the CDN.
Examples of configuration include the variables needed to respond to <cite>/listing</cite>
requests, and information on aliases between paths (emulating symlinks between
directories).</p>
</dd>
<dt>S3</dt><dd><p><a class="reference external" href="https://aws.amazon.com/s3/">Amazon S3</a>, Simple Storage Service.</p>
<p>The CDN uses S3 to store the binary objects retrievable by clients.
A single bucket is used, configured as the origin of the CloudFront CDN.</p>
Expand Down
2 changes: 1 addition & 1 deletion searchindex.js

Large diffs are not rendered by default.

0 comments on commit c03fb7c

Please sign in to comment.