https://github.com/mxssl/hello-world
https://github.com/mxssl/hello-world
Last synced: over 1 year ago
JSON representation
- Host: GitHub
- URL: https://github.com/mxssl/hello-world
- Owner: mxssl
- Created: 2019-03-05T17:09:50.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2019-03-05T17:15:47.000Z (over 7 years ago)
- Last Synced: 2025-01-22T19:21:31.822Z (over 1 year ago)
- Language: Go
- Size: 265 KB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# hello-world
## Роуты
`/` - отвечает кодом 200 и строкой `Hello World!`
`/health-check` - отвечает кодом 200
`/ready-check` - отвечает кодом 200
`/metrics` - отвечаем кодом 200, показывает метрики в формате prometheus. Кастомная метрика всего одна - `http_total_requests` - показывает общее кол-во запросов на `/` роут.
## Запуск локально
### Зависимости
В системе должны быть установлены:
- [docker](https://docs.docker.com/install)
- [docker-compose](https://docs.docker.com/compose/install)
### Запускаем docker-compose
```bash
make up
```
Или в detach режиме
```bash
docker-compose up -d
```
Далее приложение доступно на локальном порту `8080`
```bash
curl localhost:8080
Hello World!
```
Prometheus доступен на локальном порту `9090`:
[prometheus](http://localhost:9090)
Grafana доступна на локальном порту `3000`:
[grafana](http://localhost:3000)
```text
L: admin
P: admin
```
В grafana доступен дашборд App с несколькими графиками по метрикам приложения (процессор, память, горутины, общее кол-во http запросов).
## Kubernetes
Запуск приложения в Kubernetes
```bash
make kubernetes
```
Посмотреть Kubernetes манифесты можно в директории `kube`
## Запуск тестов
### Запуск юнит тестов приложения в golang контейнерe
```bash
make docker-test
```
### Запуск тестов контейнерезации
Зависимости:
- [dgoss](https://github.com/aelsabbahy/goss/tree/master/extras/dgoss)
Запуск `dgoss` тестов
```bash
make dgoss
```
Ознакомиться с конфигурацией `dgoss` можно в файле `goss.yaml`