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
|