Skip to content

guardian/riff-raff

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ded01b2 · Mar 21, 2025
Jan 30, 2025
Sep 13, 2024
Mar 10, 2025
Mar 18, 2025
Feb 26, 2025
Aug 7, 2024
Jan 16, 2025
Apr 22, 2022
Sep 23, 2022
Aug 8, 2023
Jan 16, 2025
Dec 13, 2024
Oct 3, 2024
May 22, 2023
Nov 30, 2017
Nov 30, 2017
Sep 5, 2016
Jan 16, 2025
May 3, 2022
Apr 26, 2023
May 15, 2024
May 15, 2024
Feb 15, 2022

Repository files navigation

Riff-Raff

"Deploy the transit beam"

About

The Guardian's scala-based deployment system is designed to automate deploys by providing a web application that performs and records deploys, as well as providing various integration points for automating deployment pipelines.

Requirements

Riff-Raff and Magenta have been built with the tools we use at the Guardian and you will find it easiest if you use a similar set of tools. Riff-Raff:

  • relies on artifacts and riff-raff.yaml files describing builds being in S3 buckets with the artifacts having paths of the form project-name/build-number
  • uses the AWS SDK and Prism to do resource discovery
  • stores configuration, history and logs in a PostgreSQL database and a handful of DynamoDB tables (the eventual aim is to ditch DynamoDB altogether)

Documentation

The documentation is available in the application (under the Documentation menu) but can also be viewed under riff-raff/public/docs in GitHub.

In action

Screenshots don't do a lot to show how Riff-Raff works in practice - but here are a handful anyway, just to give a hint.


Deploy history The deploy history view - this shows all deploys that have ever been done (in this case filtered on PROD and projects containing 'mobile')


Deploy log This is what a single deploy looks like - displaying the overall result and the list of tasks that were executed.


Request a deploy The simple form for requesting a deploy can be seen here (further options are available after previewing)


Continuous deployment configuration Riff-Raff polls our build server frequently and can be configured to automatically start a deploy for newly completed builds

Contributing

See CONTRIBUTING.md.

What is still left to do?

See the TODO.txt file in this project