Skip to content

Commit

Permalink
Update Infra docs
Browse files Browse the repository at this point in the history
  • Loading branch information
gunbux authored Nov 22, 2023
1 parent 80897e1 commit dd970b1
Show file tree
Hide file tree
Showing 4 changed files with 17 additions and 0 deletions.
Binary file added assets/asp.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/node.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/traefik.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
17 changes: 17 additions & 0 deletions docs/developer-guide/infra.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,19 +13,36 @@ nav_order: 6
* Create a new DO instance (whatever size, need to load test this)
* Setup ssh keys for the instance
* Clone https://github.com/nushackers/hnr-infra
* In a separate directory, clone https://github.com/nushackers/hnr-api
* Change the domain names and relative directory of api if needed.
* Run the `./deploy-up.sh` to start all the services, and `./deploy-down.sh` to stop everything

## Droplet Components

* Traefik + Let's Encrypt
* This is the main proxy where all the traffic comes through and gets directed to different containers.
* See `config` for additional configurations on this

* Prometheus
* Where all the logs are aggregated. This is connected to an external Grafana instance for monitoring
* See prometheus.yml for the different services we're monitoring

* hnr-api
* This is where out API is deployed

## Observability Tools

* Traefik Metrics
* Node Exporter
* prometheus-net

## Grafana Dashboards

* We have a couple of Grafana dashboards to visualize the time series data we can get from Prometheus. Tentatively, we have three main dashboards
![](../../assets/node.png)
* Node Exporter - This gives us info on system details: RAM, CPU Usage, Networking
![](../../assets/traefik.png)
* Traefik - This gives us overall incoming and outgoing traffic information
![](../../assets/asp.png)
* ASP.NET Core Dashboard - This gives us detailed per controller information on the API calls - This isn't very detailed, but is the best template I can find. Probably need to construct our own dashboard for this

0 comments on commit dd970b1

Please sign in to comment.