import repository from arizona
[raven.git] / webpage / olddesign / mainpage.html
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
3
4 <head>
5   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/>
6   <title>Welcome to the main page for the Stork project</title>
7 </head>
8
9 <body>
10   <img src="stork-noink2.jpg" align="left" alt="Stork" width="198" height="275" style="padding: 3px;"/>
11
12   <br/>
13   <br/>
14
15   <hr width="75%"/>
16
17   <br/>
18
19   <h2 align="center">Welcome to the Stork project!</h2>
20
21   <br/>
22
23 <p> Stork is a software installation utility available for both users of 
24 PlanetLab and for home use.   On either platform Stork has a number of 
25 advantages over other tools.</p>
26
27   <br/>
28
29   <h3 align="center">Stork on PlanetLab</h3>
30
31 <p>Stork is a <A HREF="http://www.planet-lab.org">PlanetLab</A> environment service. It is responsible for creating
32 and maintaining the environments in which other PlanetLab services run.
33 Currently, Stork is limited to software distribution, ensuring that all
34 nodes in a client slice have the same up-to-date software.  Stork provides
35 the following benefits over installing software manually using yum or
36 an equivalent package system: </p>
37
38 <ul>
39 <li> Intelligent content distribution. Stork uses 
40 <A HREF="http://codeen.cs.princeton.edu/coblitz/">CoBlitz</A>, 
41 <A HREF="http://codeen.cs.princeton.edu/">CoDeeN</A>, or http to intelligently
42 transfer traffic giving high throughput.   Nodes will fetch packages recently 
43 referenced by any node in PlanetLab from nearby caches.
44 </li>
45
46 <li> Fewer downloads. Stork downloads a package to a node only once, after which
47 it is accessed by all the slices on that node that use it. This reduces
48 bandwidth demands and improves software installation speed.
49 </li>
50
51 <li> Shared packages. Stork shares packages between slices securely. This 
52 reduces the amount of disk space required on a PlanetLab node.
53 </li>
54
55 <li> Security. Stork packages are securely referenced, and package installation
56 is controlled by a configuration file that allows users to specify exactly
57 what software should run in a slice.
58 </li>
59 </ul>
60
61 <p> There are three main components to Stork: a package repository, a
62 Stork slice that runs on all PlanetLab nodes, and a set of tools that
63 run in the client slices. The package repository is simply a package
64 storage facility that allows users to upload packages that are subsequently
65 downloaded by the Stork slice. The Stork slice runs on every PlanetLab node and
66 processes requests from the client slices on a node. The Stork slice is
67 responsible for downloading packages from the repository and making them
68 available for subsequent client accesses. Stork also maintains an up-to-date
69 list of the repository contents and related security information.  </p>
70
71 <p> The third component is a set of tools that run in the client slice and
72 communicate with the Stork slice. One of these tools allows users to 
73 install and remove packages. Another is a daemon that polls for package
74 updates and automatically installs them. Other tools allow users to
75 query the contents of the repository, determine package status, etc.
76 These tools are installed in a slice by running an installation script. </p>
77
78 <p>Quick Links:
79 <ul>
80 <li> <A HREF="gs/index.html">Getting started</a>
81 <li> <A HREF="downloads/bindscript">Stork installation script (bindscript)</a>
82 <li> <A target="_top" HREF="http://www.rpm.org/RPM-HOWTO">RPM documentation</A>
83 <li> <A HREF="pkg/pkg_overview.html">Distributing software on PlanetLab</A>
84 <li> <A HREF="repository/index.html">PlanetLab repository (quadrus)</A>
85 </ul>
86
87
88 <br/>
89   <h3 align="center">Stork for Home Users</h3>
90
91 <p>Stork is a package installation tool that provides
92 numerous security benefits over installing software manually using apt, yum, or
93 an equivalent package system. </p>
94
95 <p>Users of most packaging tools end up installing the most 
96 current version of a requested package from the repository / directory they 
97 connect to.   An unfortunate result of this is that any user who can upload 
98 packages to the repository can place a malicious "new" version of a package 
99 into the repository.</p>
100
101 <p>In the current widely used model, users must trust any person who writes 
102 packages or is able to upload packages onto their package repository.
103 It is our opinion that users should trust the package creators and not 
104 necessarily anyone who can upload packages onto a repository</p>
105
106
107 <p>It should be clear that trusting the creator of the content has many
108 advantages:
109
110 <ul>
111 <li>As a way to trust packages instead of repository administrators, some users 
112 use offline methods after retrieval to determine package validity (such as
113 the verification of package signatures).  Rather than have the user burdened
114 by this, Stork transparently integrates this functionality into the processes 
115 of satisfying dependencies.
116
117 <li>Repository administators are much more likely to allow unknown users to use
118 their nodes to distribute content.   This helps many small deveolpers get
119 their content distributed painlessly from mainstream repositories.
120
121 <li>It is more efficient because malicious packages in the repository will 
122 never be downloaded because Stork is able to choose a safe version by looking
123 at the repository meta-data.
124
125 <p>Quick Links:
126 <ul>
127 <li> <A HREF="home/index.html">Stork documentation</a>
128 <li> <A target="_top" HREF="http://www.rpm.org/RPM-HOWTO">RPM documentation</A>
129 <li> <A HREF="pkg/pkg_overview.html">Distributing software using Stork</A>
130 <li> <A HREF="repository/index.html">package repository (quadrus)</A>
131 </ul>
132
133 </body>
134
135 </html>