Coder Social home page Coder Social logo

exam-pgr301-application's Introduction

Geiger

Image of Travis status

Application repository for exam in "DevOps in the Cloud" at Kristiania University College. Infrastructure may be found here.

About

This exam was initially written under a pseudonym account, @lagasild. As the exam is over and grading is done, I have transferred the repository to my own account. In addition, I have changed the commit author to myself.

Setup

Local

  • Start influx locally,./scripts/start_influx.sh
  • Set Spring Boot profile to local in IDE
  • Start application from App.kt

Pipeline

  • travis encrypt DOCKER_USERNAME=<your_username> --add
  • travis encrypt HEROKU_APP_NAME=<your_app_name> --add
  • travis encrypt $(heroku auth:token) --add deploy.api_key

Checklist

  • Endpoints
    • Posting device
    • Getting device
    • Posting measurement
    • Getting measurement
  • Branch protection
  • Oppgave 1 - Pipeline
    • Infrastrukturkode i repo
      • ikke ha modul (ha modul lokalt?)
      • bruk aws for terraform-state
      • oppdater med travis
      • Sjekk at det er OK med en lokal terraformmodul
  • Travis
    • Det skal lages en CI/CDpipeline for applikasjonen ved hjelp av Travis CI.
    • Det skal også være en tilsvarende pipeline for infrastruktur.
    • Pipeline skal deploye hver commit på master branch til "CI" miljøet i heroku, ved ok bygg og når testene ikke feiler.
    • Deployment fra CI-miljø videre til Stage og produksjon skal skje manuelt ved at man promoterer applikasjonen i Heroku UI (Eller CLI). Studentene kan fritt velge å implementre kontinuerlig deployment til stage, og fra stage til prod - men det gis ikke poeng for dette.
  • Oppgave 2 - Pipeline
    • Du skal skrive en Dockerfil som kan brukes for å bygge et Container Image av Spring Boot applikasjonen din.
    • Du skal utvide pipeline, til å bygge et Docker image fra Docker filen
    • Docker image skal lastes opp til Docker Hub
  • Oppgave 3 - Pipeline
    • Implementer infrastruktur for varsling ved hjelp av SAAS tjenesten OpsGenie
    • Implementer infrastruktur for overvåkning ved hjelp av SAAS tjenesten StatusCake
  • Oppgave 4 - Pipeline
    • logge datapunkter ved hjelp av rammeverket Micrometer
    • Minimun
      • Gauge
      • Counter
      • Distributionsummary
      • Timer
      • LongTaskTimer
    • Sjekk at forventet data er fornuftig
    • Annen metric (i og med at kravet er minimum de over) (gaugeCollectionSize)
    • Levere Metrics til InfluxDB (som antasa aa kjoere paa egen container)
    • Dere må bruke Spring profiles og @Configuration i Spring til i bruke SimpleMeterRegistry når applikasjonen ikke kjører lokalt.
  • Oppgave 5
    • Denne oppgaven består av å bruke en SAAS tjeneste, Logz.io for innsamling, visualisering og analyse av logger. Dere skal utvide applikasjonen på en slik måte at logger sendes til denne tjenesten. Spring boot applikasjonen må modifiseres slik at loggene sendes til tjenesten.
  • Sjekk alle TODOs
  • Ga gjennom alt

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.