Git Product home page Git Product logo

lummo's Introduction

Coverage Badge

GCP deployment is down due to billing issue

Welcome to my first Nest.js project

Live @ http://35.244.39.245

Uses the CD piepline to update on every merge to main branch

Architecture - K8s

Redis uses a persistent volume so even on restart or crash, the data will not be lost

All deployment are configued in a way that during an update, they won't have any down-time

Version deployed at GCP does not uses pvc due to billing issues so to test the same please use minikube

Running the app

# development - docker
$ docker-compose up dev

# prod - docker
$ docker-compose up prod

# prod - k8s
$ cd k8s && kubectl apply -f .

Docker version will be live @ http://localhost:5000

If using minikube, don't forgot to enable nginx ingress controller using minikube addons enable ingress

API Docs

/api can be used instead of postman to quick test availble API endpoints.

CI Pipelines

  1. Kraken CI

    • Run jest specs
    • Keeps track of Code Coverage
    • Updates Test Coverage tag
  2. Validate Protos
    Checks if there are any breaking changes in the raised PR. Useful to keep track of backward compatibility. ex: PR#3

CD Pipelines

  1. Build and Deploy to GKE
    • Build and upload image to GAR
    • Updates image for the deployment

In addition to the attached K8s resources in this Repo, GCP also uses an static-ip resource in ingress

Metrics

Available at /metrics

  1. http_request_duration_ms : Histogram -> Duration of HTTP requests in ms
  2. http_response_status_code: Counter -> Status code of response
  3. entries_in_db: Counter -> Number of entries added in db

License

MIT licensed.

lummo's People

Contributors

im-amitto avatar

Watchers

 avatar

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.