https://github.com/dxavx/go_pg_s3_efk
bound micro service project ( Golang + PostgreSQL + Minio + EFK )
https://github.com/dxavx/go_pg_s3_efk
clean-architecture docker-compose elasticsearch fluentd golang kibana minio oop postgresql
Last synced: about 2 months ago
JSON representation
bound micro service project ( Golang + PostgreSQL + Minio + EFK )
- Host: GitHub
- URL: https://github.com/dxavx/go_pg_s3_efk
- Owner: dxavx
- Created: 2021-10-19T15:36:08.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2023-06-11T20:03:14.000Z (about 3 years ago)
- Last Synced: 2024-10-06T01:23:18.651Z (over 1 year ago)
- Topics: clean-architecture, docker-compose, elasticsearch, fluentd, golang, kibana, minio, oop, postgresql
- Language: Go
- Homepage:
- Size: 29.3 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
[](https://github.com/AlexanderOkhrimenko/go_pg_s3_efk/actions/workflows/docker-image.yml)
## Minimal framework for a simple micro service application
### The scheme of interaction containers :
--> 8080 --> API <--> POSTGRESQL <--> WORKERS ---> MINIO
#### Only the original images are used and the Go application is first collected and then copied to a container for use, this results in the minimum size of the final image
- **.env** - contains all environment variables available to all containers (PostgreSQL / MINIO)
- **build.sh** - launches **docker-compose.yml** with 5 worker processes
- **purge.sh** - stops **docker-compose.yml** and deletes all images and volumes related to the build.
This is useful when changing the code and values in the **.env file.**
- note that inside the Docker hosts are accessible by the names specified in **docker-compose.yml** for example **minio** or **postgresql**
***
## Минимальный каркас простого микросервисного приложения
### Схема взяимодействия контейнеров :
--> 8080 --> API <--> POSTGRESQL <--> WORKERS ---> MINIO
#### Используются только оригиналные образа , а Go приложение сначало собирается а далее копируется в контейнер для использования, это приводит к минимальному размеру финального образа
- **.env** - содержит все переменные окружения доступные всем контейнерам (PostgreSQL / MINIO)
- **build.sh** - запускает **docker-compose.yml** с 5 worker процесамми
- **purge.sh** - останавливает **docker-compose.yml** и удаляет все образы и тома связанные со сборкой.
Это полезно при изменении кода и значений в **.env** файле.
- обратите внимание что внутри докера хосты доступны по именам указанным в **docker-compose.yml** например **minio** или **postgresql**
```
API http://localhost:8080/v1/url.insert
Kibana http://localhost:5601
MINIO http://localhost:9000
PGSQL http://localhost:5432