Packaging environment

This page describes the system and setup requirements for a Packaging environment to interact with Rugged. The Rugged system is designed to require minimal interaction with existing automation processes around packaging and publishing artifacts that become Targets the Rugged system will secure. Essentially, the Packaging Pipeline need only place new Targets into a directory structure in which Rugged will notice them, generate signatures and incorporate them into the TUF repository metadata, etc.

You will presumably already have some sort of packaging pipeline. There are 2 options for setting up Rugged:

  • Direct CLI access, or
  • Running a Monitor worker

Note that you’ll need to set up an Admin Environment in order to interact with the Rugged system and your TUF repository.

Direct CLI access

To interact directly with Rugged via its rugged commands, you will need to have credentials to the RabbitMQ configured. This will allow the CLI to dispatch tasks to the workers.

To add Targets to Rugged (eg. rugged add-targets, you will also need to locally mount the incoming_targets directory.

Monitor worker

The Monitor worker will handle adding targets to Rugged automatically. When using the Monitor worker, your packaging environment will not need credentials for RabbitMQ, nor a locally-mounted incoming_targets directory.

In order to provide targets to the Monitor worker, you will need to mount the post_to_tuf directory (typically /opt/post_to_tuf). To add targets, you will then want adapt your packaging scripts to:

  1. Create a folder inside the post_to_tuf directory named TUF_TMP_<TIMESTAMP>
  2. Copy the targets you want secured by TUF into that directory
  3. Rename the directory to TUF_READY_<TIMESTAMP>

Step 2 may take some time to complete, since network filesystems incur some overhead to sync. This sequence ensures that the Monitor worker does not start processing the new Targets until that syncing is complete.

After step 3, the Monitor worker will rename the directory to TUF_PROCESSING_<TIMESTAMP>, before eventually removing it altogether, once it has completed the ingestion of the new targets.

This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.
Rugged TUF Server is a trademark of Consensus Enterprises.