stork logo
Stork File List

Stork Files

The following is a list of Stork files you may need to manage, and how they are used.

Packages: Stork currently supports two types of packages: RPMs and Tarballs. RPMs are generally used for more complex installations, when the package needs to be installed in a directory outside of root. In the case of RPM installation, the scripts associated with the RPM will be run.
Stork also supports the transfer of zipped tarball packages. These packages can be created from the command line using the command tar --czf packagename.tar.gz myfolder Stork also supports the inclusion of scripts with your tarball packages. These scripts will be run before or after installation or removal, depending on the file (.preinstall, .postinstall, .preremove and .postremove). We suggest these scripts are used for simple commands; for more complex scripting, you should use an RPM package.

Publickeys and Privatekeys: The public key cryptography system is in place to ensure that the files you recieve are the files you think they are. The combination encryption-signature-hash system guarantees that malicious users cannot infect your system by masquerading as a trusted user or a trusted package. You will need to upload your publickey to the Stork repository so that it can be associated with your nodes; this allows you to manage nodes without having to log into each node separately. You will need a user's publickey to add them to your Trusted Package File (discussed below). This key should be obtained through the user directly, not through Stork.

Configuration File: The Stork configuration file allows you to configure Stork to your personal needs. The default configuration file is included in the Stork enduser tarball. This file is initially named "sample-stork.conf". The file needs to be modified to match your default username. To do this, open up the file and change the line that reads "username = " to read "username = myusername", where myusername is the username you set as your default (you can do this using storkutil and the command setdefault myusername, or Storkutil will do it automatically when generating your first keys). You will also need to modify the publickey line, so that it reads "publickeyfile = /usr/local/stork/var/keys/myusername.publickey" instead of "default.publickey." This will allow Stork to find the locations of your keyfile, so you won't need to specify it when using Storkutil. Note that if you create a new TPFile or new keys, you will need to modify the config file to reflect this.

Trusted Packages File(TPFILE): The Trusted Packages File (TPFILE) defines which files you trust to be installed on your nodes. The TPFile allows you to take your node's security into your own hands, and specifically choose which users and packages you trust to install on your node. This helps your nodes stay secure, as files will be verified through a set of cryptographic hash codes. Even if two files share the same name, your nodes will only recieve the one that matches the hash obtained when the Trusted Packages File was created; in short, you will only recieve the packages you trust, regardless of if a user uploads a package with the same name, but different contents.
The TPFile also allows users to be trusted. This will let your nodes download and install applications created by other users. When adding a user to your TPFile, you also add the packages you wish this to affect. In some cases, you may want to only trust the user concerning a single package; in other cases, you may want to trust the user regarding any package. See the Storkutil documentation for more information. Trusting users serves two purposes. For one, it allows you to quickly trust a number of packages. If there are a plethora of packages needing to be installed, it can be quicker to simply add the creator of these packages to your TPFile than to add each individual package. Second, it trusts knowledge of the package to the person who knows it best: the creator. For instance, to always make sure you have the up-to-date version of Stork, you would add Stork to your trusted users list. This is essentially telling Stork to ask the trusted user what to do about the package in question.
The TPFile will be created when trying to add a package or user to it, if there is not already one made. When created, the 'default' user is added to your trusted list. This default user trusts Stork and PlanetLab, as well as a few other packages, meaning you should be able to install the newest Stork and PlanetLab releases without adding them to your TPFile. You are also allowed to trust other users, allowing your nodes to accept packages from those users exclusively. Note that adding packages to your TPFILE will not download the packages; it just notifies Stork which packages you trust to be downloaded.

Pacman Groups File: The groups.pacman file allows you to organize your nodes into specific groups in order to install packages quickly to multiple nodes. If there is a package you wish to install on many nodes, you may group these nodes together and then instruct Stork to install the package on the group. Doing this will install the package on all these nodes. If, instead, you wish to install packages manually using Stork, you may also do this. If this is case, you need not create Pacman files. However, if you manage a large number of nodes, using Pacman is a great way to install to multiple nodes with minimal effort. Pacman can also be set to automatically update preexisting packages, according to the package creator's discretion. See the Storkutil documentation for specific instructions. Note that the groups.pacman file will need to be uploaded via the repository for it to have effect.

Pacman Packages File: The packages.pacman file works in conjuction with the groups.pacman file. While the Pacman Groups file organizes nodes into groups, the Pacman Packages file tells Stork which packages should be installed on these groups. Again, you will not need to create a Pacman Packages file if you plan to use Stork to manually install packages on a node. Normally, though, you will want to manage your packages over many nodes, making manual installation tedious. To use Pacman to manage your packages, you will need to create and upload the packages.pacman file along with the groups.pacman file.

Home Top
powered by planetlab University of Arizona, Computer Science logo