Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/rdcm/coin-board

Backend for coin-board.io
https://github.com/rdcm/coin-board

actix-web coingecko-api cryptocurrencies cryptocurrency digitalocean docker docker-compose grafana helm k8s kubernetes make mongodb prometheus rust

Last synced: 7 days ago
JSON representation

Backend for coin-board.io

Awesome Lists containing this project

README

        

## Up & Running

`make help` - for getting full list of commands

## Local::Docker

1. `make docker-build` - build docker images
2. `make docker-up` - up & running docker containers
3. `make docker-down` - down docker containers

## Local::Docker::Endpoints

- `http://localhost:7373/rates` - api
- `http://localhost:3000/` - ui

## Local::Kubernetes

1. `make create-secrets username={github_username} token={github_token}` - generate secrets for github registry
2. `make deploy-secrets` - deploying `github-registry.yaml` for pulling private images
3. `make deploy-coin-board-dev` - deploying applications
4. (optional)`make deploy-monitoring-dev` - deploying infrastructure for monitoring

## Local::Kubernetes::Endpoints

Applications:
- `kubectl port-forward 7373:7373` - for access to api `http://localhost:7373/rates`.
- `kubectl port-forward 3000:3000` - for access to ui `http://localhost:3000/`.

Monitoring tools:
- `kubectl port-forward prometheus-stateful-set-0 9090:9090 -n monitoring` - for access to prometheus `http://localhost:9090/`
- `kubectl port-forward grafana-stateful-set-0 3000:3000 -n monitoring` - for access to grafana `http://localhost:3000/`

## Digitalocean::Kubernetes

1. `make create-secrets username={github_username} token={github_token}` - generate secrets for github registry
2. `make deploy-secrets` - deploying `github-registry.yaml` for pulling private images
3. `make deploy-ingress-controller` - deploying ingress-controller
4. `make deploy-cert-manager` - deploying cert-manager
5. `make deploy-cluster-issuer` - deploying cluster-issuer
6. `make deploy-coin-board-prod` - deploying applications
7. `make deploy-monitoring-prod` - deploying infrastructure for monitoring
8. `make trigger-export` - for exporting currency rates immediately
9. Enjoy!

## Digitalocean::Kubernetes::Endpoints

Applications:

- `https://api.coin-board.io/rates` - api
- `https://coin-board.io/` - ui

Monitoring tools:
- `kubectl port-forward prometheus-stateful-set-0 9090:9090 -n monitoring` - for access to prometheus `http://localhost:9090/`
- `kubectl port-forward grafana-stateful-set-0 3000:3000 -n monitoring` - for access to grafana `http://localhost:3000/`