move fog.io stuff into main repo

This commit is contained in:
geemus 2011-03-31 10:17:55 -07:00
parent 8dfc9beb0d
commit a2fa2e91ea
11 changed files with 771 additions and 1 deletions

2
.gitignore vendored
View File

@ -4,7 +4,7 @@
*.sw?
.bundle
.DS_Store
_site/*
docs/_site/*
coverage
doc/*
Gemfile.lock

View File

@ -0,0 +1,42 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<link rel="stylesheet" href="public/styles/reset.css" type="text/css" />
<link rel="stylesheet" href="public/styles/grids.css" type="text/css" />
<link rel="stylesheet" href="public/styles/template.css" type="text/css" />
<link rel="stylesheet" href="public/styles/default.css" type="text/css" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>{{ page.title }}</title>
</head>
<body>
<div class="page">
<div class="head line">
<div class="identity size3of4 unit">
<img src="public/images/fog.png" title="fog" />
<h1>The Ruby cloud services library</h1>
</div>
<div class="acquire size1of4 lastUnit">
<dl>
<dt>version</dt><dd>v0.7.1</dd>
<dt>install</dt><dd><code>gem install fog</code></dd>
<dt>source</dt><dd><a href="http://github.com/geemus/fog">geemus/fog</a></dd>
</dl>
</div>
</div>
<div class="body">
{{ content }}
</div>
<div class="foot">
sponsored by
<img height="20px" src="public/images/engineyard.png" title="engineyard" />
</div>
</div>
</body>
</html>

17
docs/index.html Normal file
View File

@ -0,0 +1,17 @@
---
layout: default
title: fog - The Ruby cloud services library
---
<h2>The Ruby cloud services library</h2>
<div class="content">
<p>Whether you need compute, dns, storage, or a multitude of other services, fog provides an accessible entry point and facilitates cross service compatibility.</p>
<p>Just getting started working with cloud resources? You are not alone, and having so many complicated options makes it hard to know where to start. fog delivers the knowledge of cloud experts to you, helping you to bootstrap your cloud usage and guiding you as your own expertise develops.</p>
<p>By coding with fog from the start you avoid vendor lock-in and give yourself more flexibility to provide value. Whether you are writing a library, designing a software as a service product or just hacking on the weekend this flexibility is a huge boon.</p>
<p>With a rapidly expanding community and codebase the advantages of fog just keep coming. Join us and together we will realize the future of cloud computing.</p>
</div>
<h2>Getting Started</h2>
<div class="content">
<p>fog.io is very much a work in progress. In the meantime there are some great details available in the <a href="https://github.com/geemus/fog/blob/master/README.rdoc">README</a>.</p>
</div>

401
docs/providers.html Normal file
View File

@ -0,0 +1,401 @@
---
layout: default
title: fog - providers
---
<h2>Providers</h2>
<div class='content'>
<!-- Template
<td class='complete'>complete</td>
<td class='pending'>pending</td>
<td class='targeted'>targeted</td>
<td class='maintainers'>?</td>
-->
<table class='providers'>
<thead>
<tr>
<th class='hidden'></th>
<th class='service' colspan='3'>Compute</th>
<th class='hidden'></th>
</tr>
<tr>
<th>Provider [signup|docs]</th><th>Requests</th><th>Models</th><th>Mocks</th><th>Maintainers</th>
</tr>
</thead>
<tbody>
<tr>
<th class='provider'>
AWS
[
<a href='https://aws-portal.amazon.com/gp/aws/developer/registration/index.html'>+</a>
|
<a href='http://docs.amazonwebservices.com/AWSEC2/latest/APIReference/query-apis.html'>?</a>
]
</th>
<td class='complete'>complete</td>
<td class='complete'>complete</td>
<td class='complete'>complete</td>
<td class='maintainers'><a href='http://github.com/geemus'>geemus</a></td>
</tr>
<tr>
<th class='provider'>
<b><em>Bluebox</b></em>
[
<a href='https://www.bluebox.net/solutions/simple/order'>+</a>
|
<a href='https://boxpanel.bluebox.net/public/the_vault/index.php/Blocks_API'>?</a>
]
</th>
<td class='complete'>complete</td>
<td class='complete'>complete</td>
<td class='pending'>pending</td>
<td class='maintainers'>?</td>
</tr>
<tr>
<th class='provider'>
<b><em>Brightbox</b></em>
[
<a href='http://beta.brightbox.com/beta#signup'>+</a>
|
<a href='https://api.gb1.brightbox.com/1.0/'>?</a>
]
</th>
<td class='complete'>complete</td>
<td class='complete'>complete</td>
<td class='pending'>pending</td>
<td class='maintainers'>?</td>
</tr>
<tr>
<th class='provider'>
<b><em>GoGrid</em></b>
[
<a href='http://www.gogrid.com/signUp'>+</a>
|
<a href='http://wiki.gogrid.com/wiki/index.php/API'>?</a>
]
</th>
<td class='pending'>pending</td>
<td class='pending'>pending</td>
<td class='pending'>pending</td>
<td class='maintainers'>?</td>
</tr>
<tr>
<th class='provider'>
Linode
[
<a href='https://www.linode.com/signup/'>+</a>
|
<a href='http://www.linode.com/api/'>?</a>
]
</th>
<td class='pending'>pending</td>
<td class='pending'>pending</td>
<td class='pending'>pending</td>
<td class='maintainers'>?</td>
</tr>
<tr>
<th class='provider'>
NewServers
[
<a href='https://noc.newservers.com/register'>+</a>
|
<a href='http://www.newservers.com/api.html'>?</a>
]
</th>
<td class='pending'>pending</td>
<td class='pending'>pending</td>
<td class='pending'>pending</td>
<td class='maintainers'>?</td>
</tr>
<tr>
<th class='provider'>
Rackspace
[
<a href='https://www.rackspacecloud.com/signup'>+</a>
|
<a href='http://docs.rackspacecloud.com/servers/api/cs-devguide-latest.pdf'>?</a>
]
</th>
<td class='complete'>complete</td>
<td class='complete'>complete</td>
<td class='complete'>complete</td>
<td class='maintainers'>?</td>
</tr>
<tr>
<th class='provider'>
Slicehost
[
<a href='https://manage.slicehost.com/customers/new'>+</a>
|
<a href='http://articles.slicehost.com/assets/2008/10/3/Slicehost_API-17.pdf'>?</a>
]
</th>
<td class='complete'>complete</td>
<td class='complete'>complete</td>
<td class='pending'>pending</td>
<td class='maintainers'>?</td>
</tr>
<tr>
<th class='provider'>
TerremarkEcloud
[
<a href='http://www.terremark.com/services/cloudcomputing/theenterprisecloud.aspx'>+</a>
|
<a href='http://support.theenterprisecloud.com/kb/default.asp?id=749&amp;Lang=1&amp;SID='>?</a>
]
</th>
<td class='pending'>pending</td>
<td class='pending'>pending</td>
<td class='pending'>pending</td>
<td class='maintainers'><a href='http://github.com/geemus'>geemus</a></td>
</tr>
</tbody>
</table>
<table class='providers'>
<thead>
<tr>
<th class='hidden'></th>
<th class='service' colspan='3'>DNS</th>
<th class='hidden'></th>
</tr>
<tr>
<th>Provider [signup|docs]</th><th>Requests</th><th>Models</th><th>Mocks</th><th>Maintainers</th>
</tr>
</thead>
<tbody>
<tr>
<th class='provider'>
AWS
[
<a href='https://aws-portal.amazon.com/gp/aws/developer/registration/index.html'>+</a>
|
<a href='http://docs.amazonwebservices.com/AWSEC2/latest/APIReference/query-apis.html'>?</a>
]
</th>
<td class='complete'>complete</td>
<td class='complete'>complete</td>
<td class='pending'>pending</td>
<td class='maintainers'>?</td>
</tr>
<tr>
<th class='provider'>
Linode
[
<a href='https://www.linode.com/signup/'>+</a>
|
<a href='http://www.linode.com/api/'>?</a>
]
</th>
<td class='complete'>complete</td>
<td class='complete'>complete</td>
<td class='pending'>pending</td>
<td class='maintainers'>?</td>
</tr>
<tr>
<th class='provider'>
Slicehost
[
<a href='https://manage.slicehost.com/customers/new'>+</a>
|
<a href='http://articles.slicehost.com/assets/2008/10/3/Slicehost_API-17.pdf'>?</a>
]
</th>
<td class='complete'>complete</td>
<td class='complete'>complete</td>
<td class='pending'>pending</td>
<td class='maintainers'>?</td>
</tr>
<tr>
<th class='provider'>
Zerigo
[
<a href='https://www.zerigo.com/signup/dns'>+</a>
|
<a href='http://www.zerigo.com/docs/apis/dns/1.1'>?</a>
]
</th>
<td class='complete'>complete</td>
<td class='complete'>complete</td>
<td class='pending'>pending</td>
<td class='maintainers'>?</td>
</tr>
</tbody>
</table>
<table class='providers'>
<thead>
<tr>
<th class='hidden'></th>
<th class='service' colspan='3'>Storage</th>
<th class='hidden'></th>
</tr>
<tr>
<th>Provider [signup|docs]</th><th>Requests</th><th>Models</th><th>Mocks</th><th>Maintainers</th>
</tr>
</thead>
<tbody>
<tr>
<th class='provider'>
AWS
[
<a href='https://aws-portal.amazon.com/gp/aws/developer/registration/index.html'>+</a>
|
<a href='http://docs.amazonwebservices.com/AWSEC2/latest/APIReference/query-apis.html'>?</a>
]
</th>
<td class='complete'>complete</td>
<td class='complete'>complete</td>
<td class='complete'>complete</td>
<td class='maintainers'><a href='http://github.com/geemus'>geemus</a></td>
</tr>
<tr>
<th class='provider'>
Google
[
<a href='http://gs-signup-redirect.appspot.com/'>+</a>
|
<a href='http://code.google.com/apis/storage/docs/developer-guide.html'>?</a>
]
</th>
<td class='complete'>complete</td>
<td class='complete'>complete</td>
<td class='complete'>complete</td>
<td class='maintainers'>?</td>
</tr>
<tr>
<th class='provider'>Local</th>
<td class='complete'>complete</td>
<td class='complete'>complete</td>
<td class='pending'>pending</td>
<td class='maintainers'>?</td>
</tr>
<tr>
<th class='provider'>
Rackspace
[
<a href='https://www.rackspacecloud.com/signup'>+</a>
|
<a href='http://docs.rackspacecloud.com/servers/api/cs-devguide-latest.pdf'>?</a>
]
</th>
<td class='complete'>complete</td>
<td class='complete'>complete</td>
<td class='pending'>pending</td>
<td class='maintainers'>?</td>
</tr>
</tbody>
</table>
<table class='providers'>
<thead>
<tr>
<th class='hidden'></th>
<th class='service' colspan='3'>AWS (misc)</th>
<th class='hidden'></th>
</tr>
<tr>
<th>Provider [signup|docs]</th><th>Requests</th><th>Models</th><th>Mocks</th><th>Maintainers</th>
</tr>
</thead>
<tbody>
<tr>
<th class='provider'>
Elastic Load Balancing (ELB)
[
<a href='https://www.rackspacecloud.com/signup'>FIXME</a>
|
<a href='http://docs.rackspacecloud.com/servers/api/cs-devguide-latest.pdf'>FIXME</a>
]
</th>
<td class='complete'>complete</td>
<td class='pending'>pending</td>
<td class='pending'>pending</td>
<td class='maintainers'>?</td>
</tr>
<tr>
<th class='provider'>
Simple Email Service (SES)
[
<a href='https://www.rackspacecloud.com/signup'>FIXME</a>
|
<a href='http://docs.rackspacecloud.com/servers/api/cs-devguide-latest.pdf'>FIXME</a>
]
</th>
<td class='complete'>complete</td>
<td class='pending'>pending</td>
<td class='pending'>pending</td>
<td class='maintainers'>?</td>
</tr>
<tr>
<th class='provider'>
SimpleDB
[
<a href='https://www.rackspacecloud.com/signup'>FIXME</a>
|
<a href='http://docs.rackspacecloud.com/servers/api/cs-devguide-latest.pdf'>FIXME</a>
]
</th>
<td class='complete'>complete</td>
<td class='complete'>complete</td>
<td class='pending'>pending</td>
<td class='maintainers'>?</td>
</tr>
</tbody>
</table>
<p>
Status of each service is defined by its progress along the docs, requests, models, mocks spectrum in the most recent released version.
</p>
<dl>
<dt>Requests</dt>
<dd>all basic operations needed to support the shared api are implemented and tested</dd>
<dt>Models</dt>
<dd>service passes live, shared tests</dd>
<dt>Mocks</dt>
<dd>service passes mocked, shared tests</dd>
</dl>
<p>
Completion is defined by progress along the pending to completed spectrum.
</p>
<dl>
<dt>pending<dt>
<dd>service is in progress but is not yet completed</dd>
<dt>completed</dt>
<dd>service is complete as per above</dd>
</dl>
<p>
Want to join the list of maintainers? <a href="https://github.com/inbox/new/geemus">Contact geemus</a> about taking it to the next level.
</p>
<p>
Special thanks to providers listed in <b><em>bold italics</em></b> for donating resources for fog tests!
</p>
</div>

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

BIN
docs/public/images/fog.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

View File

@ -0,0 +1,207 @@
body {
background: #FFFFFF;
background-position: 50% 50%;
color: #666666;
font:13px/1.231 arial,helvetica,clean,sans-serif;
height: 100%;
}
code {
background-color: #EEEEEE;
border-radius: 4px;
-moz-border-radius: 4px;
color: #222222;
padding: 0.2em;
}
h1 {
font-size: 2em;
font-weight: bold;
margin-bottom: -0.5em;
padding: 0.5em 0.5em 0em 0.5em;
}
h2 {
font-size: 1.6em;
font-weight: bold;
}
/* color reference */
.light_blue {
color: #A0C0E1;
}
.dark_blue {
color: #70A1D2;
}
.brown {
color: #C38241;
}
.teal {
color: #9EE0E0;
}
.green {
color: #9EE09E;
}
.pink {
color: #E09EE0;
}
.head {
background-color: #A0C0E1;
border-radius: 0 0 8px 8px;
-moz-border-radius: 0 0 8px 8px;
height: 174px;
}
.head div {
color: #FFFFFF;
height: 174px;
text-align: center;
}
.head .identity {
height: 154px;
padding: 10px 0;
}
.head .identity img {
vertical-align: middle;
}
.head .identity h1 {
background-color: #A0C0E1;
padding-left: 10px;
display: inline;
}
.head .acquire {
background-color: #70A1D2;
border-radius: 0 0 8px 8px;
-moz-border-radius: 0 0 8px 8px;
color: #FFFFFF;
text-align: center;
}
.head .acquire a, .head .acquire a:visited {
color: #FFFFFF;
}
.head .acquire dl {
padding-top: 0.625em;
font-size: 1.25em;
}
.head .acquire dt {
font-weight: bold;
}
.head .acquire dd {
padding-bottom: 0.5em;
}
.content dl {
clear: both;
}
.content dt {
clear: left;
float: left;
font-weight: bold;
padding-right: 1em;
text-align: right;
width: 10%;
}
.content dd {
}
.body h2 {
background-color: #A0C0E1;
border-radius: 8px 8px 0 0;
-moz-border-radius: 8px 8px 0 0;
color: #FFFFFF;
margin-top: 1.25em;
padding: 0.625em;
}
.body .content {
border-color: #A0C0E1;
border-style: solid;
border-width: 0 1px 1px 1px;
border-radius: 0 0 8px 8px;
-moz-border-radius: 0 0 8px 8px;
overflow: hidden;
padding: 0 1em;
}
.body .content code, .body .content p {
margin: 1em 0;
}
.body .content code {
display: block;
}
.foot {
background-color: #A0C0E1;
border-radius: 8px 8px 0 0;
-moz-border-radius: 8px 8px 0 0;
color: #FFFFFF;
margin-top: 2em;
padding: 0.5em;
text-align: center;
}
.foot img {
vertical-align: middle;
}
table.providers {
margin: 1em;
}
table.providers th {
font-weight: normal;
border: 1px solid #666;
}
table.providers th.provider {
text-align: right;
}
table.providers th.provider a {
color: #999;
}
table.providers th.service {
font-weight: bold;
}
table.providers th.hidden, table.providers td.hidden {
border: 0;
}
table.providers th, table.providers td {
padding: 0.5em;
}
table.providers td {
border: 1px solid #666;
color: #EEE;
text-align: center;
}
table.providers td a {
color: #EEE;
}
table.providers td.maintainers, table.providers td.maintainers a {
color: #999;
}
table.providers td.complete {
background-color: #70A1D2;
}
table.providers td.pending {
background-color: #E09EBF;
}
table.providers td.targeted {
background-color: #BF9EE0;
}

View File

@ -0,0 +1,14 @@
.line:after,.lastUnit:after{clear:both;display:block;visibility:hidden;overflow:hidden;height:0 !important;line-height:0;font-size:xx-large;content:" x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x ";}
.line{*zoom:1;}
.unit{float:left;}
.size1of1{float:none;}
.size1of2{width:50%;}
.size1of3{width:33.33333%;}
.size2of3{width:66.66666%;}
.size1of4{width:25%;}
.size3of4{width:75%;}
.size1of5{width:20%;}
.size2of5{width:40%;}
.size3of5{width:60%;}
.size4of5{width:80%;}
.lastUnit{display:table-cell;float:none;width:auto;*display:block;*zoom:1;_position:relative;_left:-3px;_margin-right:-3px;}

View File

@ -0,0 +1,53 @@
/* http://meyerweb.com/eric/tools/css/reset/ */
/* v1.0 | 20080212 */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, font, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td {
margin: 0;
padding: 0;
border: 0;
outline: 0;
font-size: 100%;
vertical-align: baseline;
background: transparent;
}
body {
line-height: 1;
}
ol, ul {
list-style: none;
}
blockquote, q {
quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
content: '';
content: none;
}
/* remember to define focus styles! */
:focus {
outline: 0;
}
/* remember to highlight inserts somehow! */
ins {
text-decoration: none;
}
del {
text-decoration: line-through;
}
/* tables still need 'cellspacing="0"' in the markup */
table {
border-collapse: collapse;
border-spacing: 0;
}

View File

@ -0,0 +1,7 @@
/* **************** TEMPLATE ***************** */
/* ====== Page Head, Body, and Foot ====== */
body{_text-align:center;}/* IE5.5 */
.main{display:table-cell;*display:block;width:auto;}
.body{*zoom:1;}
.body:after{clear:both;display:block;visibility:hidden;overflow:hidden;height:0 !important;line-height:0;font-size:xx-large;content:" x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x ";}
.page{margin:0 auto;width:950px;_text-align:left;} /* wraps other template elems to set width */ /* text-align IE5.5 */

29
docs/start.html Normal file
View File

@ -0,0 +1,29 @@
---
layout: default
title: fog - Getting Started
---
<h1>Getting Started</h1>
<h2>Setup</h2>
<div class="content">
<p>First off you'll need to install the gem:</p>
<pre><code>
$ gem install fog
</code></pre>
</div>
<h2>Setting Up Local Storage</h2>
<div class="content">
<p>We will be using local storage in the example, so first off make a local directory that things can go in.</p>
<pre><code>
$ mkdir ~/fog
</code></pre>
<p>Now We can start building out our script to play with. First thing's first, we'll setup a storage connection.</p>
<pre><code>
Fog::Storage.new(
:local_root =&gt; '~/fog',
:provider =&gt; 'Local',
)
</code></pre>
</div>