"Deploy the transit beam"
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.
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.yamlfiles describing builds being in S3 buckets with the artifacts having paths of the form
- 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)
The documentation is available in the application (under the Documentation menu) but can also be viewed under riff-raff/app/docs in github.
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.
How do I run Riff-Raff locally if I want to hack on it?
Assuming you have a reasonably recent version of Java installed,
- Create a basic configuration file at ~/.gu/riff-raff.conf (S3 and postgres config is probably the minimum)
./script/startfrom the project root (add
--debugto attach a remote debugger on port 9999)
- Visit http://localhost:9000/
- Details of how to configure Riff-Raff can then be found at http://localhost:9000/docs/riffraff/properties
What is still left to do?
TODO.txt file in this project