https://github.com/guardian/riff-raff
The Guardian's deployment platform
https://github.com/guardian/riff-raff
production
Last synced: 5 months ago
JSON representation
The Guardian's deployment platform
- Host: GitHub
- URL: https://github.com/guardian/riff-raff
- Owner: guardian
- License: apache-2.0
- Created: 2011-08-19T09:05:26.000Z (about 14 years ago)
- Default Branch: main
- Last Pushed: 2025-05-02T09:44:23.000Z (6 months ago)
- Last Synced: 2025-05-11T19:46:58.684Z (5 months ago)
- Topics: production
- Language: Scala
- Homepage:
- Size: 14.1 MB
- Stars: 266
- Watchers: 84
- Forks: 18
- Open Issues: 17
-
Metadata Files:
- Readme: readme.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Codeowners: CODEOWNERS
Awesome Lists containing this project
README
# 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](https://github.com/guardian/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](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.***

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

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

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

Riff-Raff polls our build server frequently and can be configured to automatically start a deploy for newly completed builds## Contributing
See [CONTRIBUTING.md](./CONTRIBUTING.md).## What is still left to do?
See the `TODO.txt` file in this project