Prepare your Rugged Runbook repository

This HOWTO describes the forking and preparation of your own version of the Rugged runbook template repository, for documenting the specific details of operating Rugged in your project’s implementation, as well as the products of the security ceremonies you perform to deploy and operate your Rugged repository.

1. Fork the repository

The first step is to fork the rugged-runbook-template project on Gitlab, which will connect your copy of the Runbooks to the official ones, meaning you will be able to pull and merge updates in future.

Give your fork a name like My Project Rugged Runbooks, select a namespace for it, and give it a slug like my-project-rugged-runbooks.

Optionally provide a Project description, select Only the default branch main for Branches to include, and set the Visibility as you require. The contents of this repository will never contain sensitive data, so it’s recommended to make it Public for transparency.

@TODO: consider setting up an upstream branch to track the main template repo, leaving the main branch with project-specific customizations?

2. Review the README

The top-level README provides an overview of the 2 types of ceremonies you might need. Review and update this README to correspond with the specifics of your implementation, security posture, and environment.

In particular, you will want to choose whether you are using an HSM or OpenSSL-based method for generating Root keypairs and signing Root metadata. We recommend you choose one and delete the other:

  1. 01A-GENERATE-ROOT-KEYPAIR (HSM) OR 01B-GENERATE-ROOT-KEYPAIR (OpenSSL)
  2. 02A-SIGN-ROOT-METADATA (HSM) OR 02B-SIGN-ROOT-METADATA (OpenSSL)

NB You must be consistent with the method you choose: if you use an HSM to generate Root keypairs, you cannot use OpenSSL to sign root metadata. You must use the same method for both steps.

We highly recommend using an Airgapped computer for the Key generation and Signature stages of the Ceremony, regardless of whether you use an HSM or OpenSSL. That being said, an HSM already does a great job of isolating the private key material from the computer it is plugged into, making it somewhat safer to operate in a non-airgapped environment using that method. You may choose to drop the PREPARE-OS-IMAGE and PREPARE-CEREMONY-COMPUTER steps that call for Airgapping your ceremony computer, as appropriate.

3. Review Initial Deployment Ceremony stages

Review and update each stage of the Initial Deployment Ceremony, ensuring that they make sense in your environment.

4. Review Key Rotation Ceremony stages

Review and update each stage of the Key Rotation Ceremony, ensuring they make sense in your environment.

5. Test in a staging environment!

You are strongly advised to perform test runs of both ceremonies using your customized Runbooks in a staging environment, and make refinements as necessary, so as to ensure the smooth execution of your ceremonies in production!

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