Provides REST API to demonstrate fault tolerance and recovery capabilities.
mvn clean package
java -jar ./target/chaos-engineering-demo-0.0.1-SNAPSHOT.jar
By default, the application will start with an internal database. This default configuration can be overridden as described below.
Run-time parameters can be supplied to the application through a Spring profile configuration file or directly from the command-line.
Sample configuration file named application-sample.yaml
containing:
database:
url: jdbc:oracle:thin:@[server]:[port]:[sid]
username: sample-username
password: sample-password
Activate this profile from the command line with:
java -jar ./target/chaos-engineering-demo-0.0.1-SNAPSHOT.jar --spring.profiles.active=sample
More details on Spring profiles...
chaos-monkey
- provides resiliency tools to randomly simulate latency and failures in dependent systems. More information on Chaos Monkey...
Configuration parameters can be set (or overridden) from the command-line as follows:
java -jar ./target/chaos-engineering-demo-0.0.1-SNAPSHOT.jar --database.password=password-override
More info on overriding configuration values from the command-line...
The API can be explored interactively through the included integration with Swagger - accessed via following URL:
http://[server|localhost]:[port|8080]/swagger-ui.html
TBD
Mostly follow GitFlow as implemented by Git-Flow Maven Plugin
mvn gitflow:release-start
- verify the release
mvn gitflow:release-finish
- Create a feature branch off of the release branch for the fix.
- Apply the fix to the feature branch.
- Merge back to the release branch and then merge the release branch to develop.
- prune to remove any old remote hotfix references (
git fetch -p
) - switch to master and pull to update
mvn gitflow:hotfix-start
- Apply the fix.
mvn gitflow:hotfix-finish