Skip to content

Instantly share code, notes, and snippets.

@jbaxleyiii
Last active January 7, 2016 02:25
Show Gist options
  • Save jbaxleyiii/5cc46816f8491ab19fc1 to your computer and use it in GitHub Desktop.
Save jbaxleyiii/5cc46816f8491ab19fc1 to your computer and use it in GitHub Desktop.
Rock Instances for NewSpring Church

Rock Instances

As we continue to test and build with RockRMS, as well as run it in production with our church, we need a number of different testing envrionments. This document is the guide for where our instances live, who is responsible for them, and the purpose of them exsiting.

This is our primary instance of Rock. It is the production server that our church builds off of and uses on a day to day basis. The web team is responsible for the uptime of the application, the solidity of the database, and the deployment of new code. IT is responsible for the uptime of the server and the backup of the database.

This is our secondary instance of Rock. It is a clone of the production server (size and power) and is used to verify and test new builds before they are rolled into production. The web team is responsible for the uptime of the application, the solidity of the database, and the deployment of new code. IT is responsible for the uptime of the server and the backup of the database.

Alpha is meant to be an open testing ground for new features of NewSpring + Spark. If a feature is destined to be shipped to our production envrionement, it must run through alpha for internal testing. The web team is responsible for the uptime of the application, the solidity of the database, and the deployment of new code. IT is responsible for the uptime of the server and the backup of the database. This branch only runs pre-alpha-release as the newest code from core.

Gauntlet is a temporary instance used for gauntlet registration since rock is not active yet. It is 100% stable builds from core. This will go away after launch

Stock is used for testing new updates from Spark, updates of NewSpring that are targeted to be merged into core, and as a benchmark tool for NewSprings custom fork. This can run any version of Rock as long as it doesn't have NewSpring specific code. It is also used to test 3rd party apps (like apollos) when they are targeted as community projects (not newspring specific projects). The web team is responsible for the uptime of the application, the solidity of the database, and the deployment of new code. IT is responsible for the uptime of the server and the backup of the database.

#canary

The canary server is a test flight server. It can run the latest code from Spark (develop branch) and is used to verify core features if the timeline from develop -> pre-alpha is too long to wait. The web team is responsible for the uptime of the application, the solidity of the database, and the deployment of new code. IT is responsible for the uptime of the server and the backup of the database.

Access

Members of IT/Web will not have admin access to rock, gauntlet, or beta. This is to safeguard finanical data. Certian members of IT/Web (David, Ben, James, Daniel, Paul) will have server and db access to all of the instances. Stock and canary will be open to all of Web/IT and the Spark team both on a db level and an instance level. This allows close examination of code for testing.

Deployments

All instances will be configured to run from GitHub with protected branches turned on. We will add in the required signoff from Frank + David + James for rock and gauntlet, Frank + David for beta, and the web team for alpha. Canary and stock will be signed off on by either James or David.

Monitoring

All production rock instances (rock and gauntlet) will be configured with NewRelic and pagerduty with scheduled members on call

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment