open-bounty icon indicating copy to clipboard operation
open-bounty copied to clipboard

Infrastructure revamp

Open martinklepsch opened this issue 6 years ago • 3 comments

Problem

The infrastructure we're currently running on is mostly undocumented and spread across multiple clouds. This makes it hard for us to troubleshoot problems or make adjustments.

Solution

Recreate our infrastructure and document every step along the way to avoid similar problems in the future. Perhaps define our infrastructure in code so there is a shared up-to-date understanding of what our infrastructure looks like and what changes are being made to it.

Requirements

  • Multiple environments (prod, staging, testing)
  • Environments should not impact each other
  • PostgreSQL database for each environment
  • SSL for each environment

@churik @siphiuel @andytudhope please check if this sounds sane and add user stories in the comments.

martinklepsch avatar Mar 05 '18 11:03 martinklepsch

USER STORY

As a developer of Open Bounty I'd like to be able to easily deploy specific versions to a given environment. A command like:

./script/deploy $GIT_SHA

Could be used to instruct a server to download the Open Bounty software of version $GIT_SHA and restart the service once the new version is ready. For a first version minimal downtime during service restarts is acceptable.

This command may also be used during Continuous Integration, i.e. to update the version ran on production and staging.

martinklepsch avatar Mar 05 '18 11:03 martinklepsch

USER STORY As a QA I'd like:

  • to have easy way to build and deploy any PR to testing env from Jenkins with predefined dataset (with database restored from dump; known whitetelisted users and tokens);
  • to have deployed develop branch on staging env after each merge;
  • to have easy access to databases and whitelist on staging and test envs.

churik avatar Mar 05 '18 11:03 churik

Some additional notes have been captured in this Google Doc

martinklepsch avatar Apr 25 '18 16:04 martinklepsch