Skip to content

An Incident Service to store incidents and calculate MTTR

License

Notifications You must be signed in to change notification settings

awconstable/incidentservice

Repository files navigation

incidentservice

An incident repository to measure team performance

CircleCI CodeQL codecov Libraries.io dependency status for GitHub repo dockerhub

Limitations

This application is a proof of concept, it is not production ready. A non-exhaustive list of known limitations:

  • No security whatsoever - anonymous users can easily delete or alter all data

Example Incident Upload

  POST http://localhost:8088/api/v1/incident
  Accept: application/json
  Cache-Control: no-cache
  Content-Type: application/json

  [
      {
        "incidentId": "i1",  
        "incidentDesc": "incidentDesc i1",
        "applicationId": "a1",  
        "created": "2020-11-30T13:00:00.000+00:00",   
        "resolved": "2020-11-30T14:00:00.000+00:00",
        "source": "test"
      },
      {
        "incidentId": "i2",  
        "incidentDesc": "incidentDesc i2",
        "applicationId": "a2",  
        "created": "2020-11-30T13:00:00.000+00:00",   
        "resolved": "2020-11-30T14:00:00.000+00:00",
        "source": "test"
      }
  ]

Run app as a Docker container

See docker-library/openjdk#135 as to why spring.boot.mongodb.. env vars don't work

docker stop incidentservice
docker rm incidentservice
docker pull awconstable/incidentservice
docker run --name incidentservice -d -p 8080:8080 --network <mongo network> -e spring_data_mongodb_host=<mongo host> -e spring_data_mongodb_port=<mongo port> -e spring_data_mongodb_database=<mondo db> -e server_ssl_key-store-type=<keystore type - PKCS12> -e server_ssl_key-store=/incidentservice.p12 -e server_ssl_key-store-password=<password> -e server_ssl_key-alias=<alias> -e spring_cloud_consul_host=<consul host> -e spring_cloud_consul_port=<consul port> -v <cert path>:/incidentservice.p12 awconstable/incidentservice:latest

Spring Boot Initilizr Config