import repository from arizona
[raven.git] / webpage / metadata.html
1  <html>
2 <head>
3 <title> Stork Project </title>
4 <LINK href="stork.css" rel="stylesheet" type="text/css">
5 </head>
6 <body>
7
8
9 <div class="display" align="center">
10     <table border="0">
11     <tr>
12         <td width="170" valign="top">
13
14                 <br/>
15                 <table cellpadding="3" width="170" id="links" class="links">
16                     <tr>
17                         <td align="right">
18
19                             <ul class="links">
20
21                                 <a href = "index.html"></a><h3>Stork</h3>
22                                 <li class="links"><a href="tutmain.html">Stork Tutorial</a></li>
23
24                                 <li class="links"><a href="advanced.html">Advanced Usage</a></li>
25                                 <li class="links"><a href="arch.html">Stork Architecture</a></li>
26                                 <li class="links"><a href="filelist.html">Stork File List</a></li>
27                                 <li class="links"><a href="about.html">About Us</a></li>
28                                 <li class="links"><a href="apps.html">Related Links</a></li>
29                                 <li class="links"><a href="contact.html">Contact Stork</a></li>
30                                 <h4>Links</h4>
31                                 <li class="links"><a href="http://appmanager.berkeley.intel-research.net/plcontrol/apps.php?appid=1029">
32                                 Slice Status</a></li>
33                                 <li class="links"><a href="https://stork-repository.cs.arizona.edu">Stork Repository</a></li>
34                             </ul>
35
36                                                  </td>
37                                         </tr>
38                                 </table>
39                                 <br/>
40                 </td>
41
42
43                 <td valign="top">
44                 <table class="info" cellpadding="0" width="700" >
45                 <tr  height="75"><td colspan="3"><img style="margin-left: -0px;" src="images/stork-header.png" alt="stork logo"/></td></tr>
46                 <tr  bgcolor="#444444" class="headerrow" width="100%" height="2">
47
48
49                         <th colspan="2"> Using Stork </th>
50
51
52                 </tr>
53                 <tr valign="top" align="left">
54
55
56                         <td>
57                                 <table cellpadding="8" id="content" class="content">
58                                         <tr>
59                                                 <td>
60
61
62                                                         <h1><a name = "top"></a>Using Stork with your own
63                             repository</h1>
64                             The Stork Repository is capable of hosting both
65                             metadata (information about packages) and the
66                             contents of the packages themselves.
67
68
69                             <p>However, for those people who already have a
70                             their own repository it is possible to
71                             use the Stork repository to host the metadata only,
72                             while continuing to use your own repository to
73                             provide access to the packages themselves. For this
74                             example, we will assume that you have a
75                             web-accessible repository at
76                             http://www.myrepository.com/packages/. </p>
77                             <p>Using a custom repository involves several steps:</p>
78                             <ol>
79                               <li>Generate the .metadata files for your packages</li>
80                               <li>Upload the .metadata files to the stork
81                               repository</li>
82                               <li>Add the .metadata files to your trusted
83                               packages file</li>
84                               <li>Upload the trusted packages file to the stork
85                               repository</li>
86                             </ol>
87                             <h3>Step 1: Generating .metadata files</h3>
88                             <p>Metadata files are generated using the storkutil
89                             program. You will need access to the packages that
90                             you intend to make available, as storkutil needs to
91                             analyze the packages to generate the metadata and
92                             hashes. The following command will generate a
93                             .metadata file:</p>
94                             <p><code>./storkutil.py extractmeta --baseurl &lt;baseurl&gt;
95                             &lt;filename&gt;</code></p>
96                             <p>&lt;filename&gt; is the name of the package in your
97                             local file system, and is the file that storkutil
98                             will analyze to extract the metadata from. </p>
99                             <p>&lt;baseurl&gt; is the URL of the directory where the file can be downloaded
100                             from. For example, if your package is at
101                             <code>http://www.myrepository.com/packages/mypackage.rpm</code>,
102                             then the baseurl is
103                             <code>http://www.myrepository.com/packages</code>.
104                             The baseurl is used by the clients when they need
105                             to fetch the package. Storkutil does not fetch the
106                             package from your server during metadata extraction as it can perform the
107                             analysis from the local copy of the file.</p>
108                             <p>For example, assuming your files are hosted on
109                             your local machine in <code>/var/www/html/packages</code> and are available on the web at http://www.myrepository.com/packages, the
110                             following would generate metadata for the package
111                             amanda-2.4.5-2:</p>
112                             <p><code>./storkutil.py extractmeta --baseurl
113                             http://www.myrepository.com/packages /var/www/html/packages/amanda-2.4.5-2.i386.rpm</code></p>
114                             <p>This command will generate a file in the current
115                             working directory called
116                             amanda-2.4.5-2.i386.rpm.metadata that contains the
117                             metadata extracted from the package. This file may
118                             then be uploaded to the stork repository. </p>
119                             <p>You may also generate metadata for a large number
120                             of packages at once by using a wildcard filename.
121                             For example:</p>
122                             <p><code>./storkutil.py extractmeta --baseurl
123                             http://www.myrepository.com/packages /var/www/html/packages/*.rpm</code></p>
124                             <h3>Step 2: Upload .metadata files to the stork
125                             repository</h3>
126                             <p>Uploading a metadata file is the similar to
127                             upload a package to the stork repository. The
128                             difference is that rather than uploading the package
129                             itself, you are only uploading a metadata file, with
130                             an embedded URL to your own repository. </p>
131                             <ol>
132                               <li>Open the following url in your browser:
133                               <a href="https://stork-repository.cs.arizona.edu">
134                               https://stork-repository.cs.arizona.edu</a> </li>
135                               <li>Log in</li>
136                               <li>Click the 'packages' link</li>
137                               <li>Enter the name of your .metadata file (for
138                               example, <code>amanda-2.4.5-2.i386.rpm.metadata</code>)</li>
139                               <li>Click the &lt;Upload&gt; button</li>
140                             </ol>
141                             <h3>Step 3: Add .metadata files to your trusted packages
142                             files</h3>
143                             <p>The trusted packages file (tpfile) contains a
144                             list of the packages that you trust. It is essential
145                             to maintaining security, and described in the
146                             <a href="tuttp.html">Stork Tutorial</a>. </p>
147                             <p>Adding metadata to your tpfile is similar to
148                             adding packages to your tpfile. Instead of adding
149                             the package itself (i.e. a .rpm file), you will add
150                             the .metadata file. </p>
151                             <p>For example,</p>
152                             <p><code>./storkutil.py addfile
153                             amanda-2.4.5-2.i386.rpm.metadata</code></p>
154                             <h4>Step 4: Upload the trusted packages file to the
155                             stork repository</h4>
156                             <p>In the previous step, you modified your trusted
157                             packages file to include the new metadata files that
158                             you created. In order for the new tpfile to be
159                             available to clients, you need toupload it to the
160                             stork repository.</p>
161                             <ol>
162                               <li>Open the following url in your browser:
163                               <a href="https://stork-repository.cs.arizona.edu">
164                               https://stork-repository.cs.arizona.edu</a> </li>
165                               <li>Log in</li>
166                               <li>Click the 'trusted packages files' link</li>
167                               <li>Enter the name of your trusted packages file</li>
168                               <li>Click the &lt;Upload&gt; button</li>
169                             </ol>
170                             <h3>Conclusion</h3>
171                             <p>Now that you have completed the above steps, the
172                             stork repository should be hosting the metadata for
173                             your packages.</p>
174                             <p>&nbsp;</p>
175                             <code> <adduser>
176
177
178
179
180
181
182
183
184
185
186                                                         <center><a href = "index.html">Home</a>     <a href = "#top">Top</a></center>
187
188
189
190
191                                                 </td>
192                                         </tr>
193                                 </table>
194                         </td>
195                 </tr>
196
197
198        </table>
199        </td>
200
201
202      </tr>
203      <tr>
204         <td></td>
205         <td>
206                 <a href="http://www.planet-lab.org"><img style="border: 0px; border-style: none;" src="images/powered_by_pl_grey.png" alt="powered by planetlab"></a>
207
208
209                                         <a href="http://www.cs.arizona.edu"><img style="position:relative; left: 20px; border: 0px; border-style: none;" src="images/template_logo_small_grey.png" alt="University of Arizona, Computer Science logo"></a>
210
211
212
213
214
215
216
217
218
219
220         </td>
221      </tr>
222
223
224 </table>
225
226
227 </div>
228
229
230
231
232 <script src="http://www.google-analytics.com/urchin.js" type="text/javascript">
233 </script>
234 <script type="text/javascript">
235 _uacct = "UA-1868232-1";
236 urchinTracker();
237 </script>
238 </body>
239 </html>