diff --git a/.env.example b/.env.example new file mode 100644 index 0000000..44b7973 --- /dev/null +++ b/.env.example @@ -0,0 +1,21 @@ +MODE = PRODUCTION + +# GATEWAY +GATEWAY_PORT = 5000 + +##### SERVICES ##### +# Tasks app +TASKS_APP_PORT = 5001 +TASKS_MICROSERVICE_URL = http://tasks_app:5001 +# Database +TASKS_DB_USER = postgres +TASKS_DB_PASS = postgres +TASKS_DB_HOST = db_tasks_app +TASKS_DB_PORT = 5432 +TASKS_DB_NAME = tasks_app +##### SERVICES ##### + +# Grafana +GRAFANA_PORT=3010 +# Loki +LOKI_PORT=3100 \ No newline at end of file diff --git a/.env.test b/.env.test index df5f0ab..0a69475 100644 --- a/.env.test +++ b/.env.test @@ -1,24 +1,26 @@ MODE = TEST -# Gateway +# GATEWAY GATEWAY_PORT = 5000 +##### SERVICES ##### # Tasks app TASKS_APP_PORT = 5001 - +TASKS_MICROSERVICE_URL = http://tasks_app_test:5001 +# Database TASKS_DB_USER = postgres TASKS_DB_PASS = postgres TASKS_DB_HOST = db_tasks_app_test TASKS_DB_PORT = 5432 TASKS_DB_NAME = tasks_app_test +##### SERVICES ##### # Kafka KAFKA_BOOTSTRAP = kafka_test:9092 KAFKA_TOPIC = task_events_test KAFKA_CLIENT_ID = tasks_app_test +# Grafana +GRAFANA_PORT=3010 # Loki -LOKI_PORT=3100 - -# Порт для Grafana -GRAFANA_PORT=3010 \ No newline at end of file +LOKI_PORT=3100 \ No newline at end of file diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index da6a316..a4acf88 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -15,11 +15,11 @@ jobs: uses: actions/checkout@v4 - name: Build and start test services - run: docker compose -f docker-compose.test.yml --env-file ./tasks/.env.test up -d --build + run: docker compose -f docker-compose.test.yml --env-file=.env.test up -d --build - name: Run tests - run: docker compose -f docker-compose.test.yml --env-file ./tasks/.env.test exec -T tasks_app_test pytest + run: docker compose -f docker-compose.test.yml --env-file=.env.test exec -T tasks_app_test pytest - name: Stop and remove test services if: always() - run: docker compose -f docker-compose.test.yml --env-file ./tasks/.env.test down -v --remove-orphans + run: docker compose -f docker-compose.test.yml --env-file=.env.test down -v --remove-orphans diff --git a/Makefile b/Makefile index b973829..3ae826d 100644 --- a/Makefile +++ b/Makefile @@ -1,13 +1,13 @@ up: - docker compose up + docker compose --env-file=.env.example up -d down: - docker compose down + docker compose --env-file=.env.example down build: - docker compose up --build -d + docker compose --env-file=.env.example up --build -d test: - docker compose -f docker-compose.test.yml up --build -d - docker compose -f docker-compose.test.yml exec -it tasks_app_test bash -c "pytest -v" - docker compose -f docker-compose.test.yml down -v --remove-orphans + docker compose -f docker-compose.test.yml --env-file=.env.test up --build -d + docker compose -f docker-compose.test.yml --env-file=.env.test exec -it tasks_app_test bash -c "pytest -v" + docker compose -f docker-compose.test.yml --env-file=.env.test down -v --remove-orphans \ No newline at end of file diff --git a/README.md b/README.md index 20a0343..af699e8 100644 --- a/README.md +++ b/README.md @@ -41,7 +41,9 @@ 2. Запустите приложение с помощью Makefile: ```bash -make build +make build # Сборка/пересборка проекта +make down # Остановка проекта +make up # Запуск проекта ``` ## 🧪 Запуск тестов @@ -66,7 +68,7 @@ make test Создайте файл `.env` в корне сервиса `gateway/`, `tasks/`. -Аналогично файлу `.env.test`. +Аналогично файлу `.env.example`. ```env MODE = DEVELOPMENT diff --git a/docker-compose.test.yml b/docker-compose.test.yml index 0492399..a722cc3 100644 --- a/docker-compose.test.yml +++ b/docker-compose.test.yml @@ -4,7 +4,7 @@ services: context: tasks/ container_name: tasks_app_test env_file: - - ./tasks/.env.test + - .env.test ports: - "${TASKS_APP_PORT}" entrypoint: ["sh", "-c"] @@ -26,7 +26,7 @@ services: context: tasks/ container_name: tasks_app_worker_test env_file: - - ./tasks/.env.test + - .env.test environment: SERVICE_NAME: tasks_app_test KAFKA_BOOTSTRAP: kafka_test:9092 @@ -44,7 +44,7 @@ services: image: postgres:17 container_name: db_tasks_app_test env_file: - - ./tasks/.env.test + - .env.test environment: POSTGRES_USER: ${TASKS_DB_USER} POSTGRES_PASSWORD: ${TASKS_DB_PASS} diff --git a/docker-compose.yml b/docker-compose.yml index bcc8aeb..b276ff8 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -4,7 +4,7 @@ services: context: gateway/ container_name: gateway_app env_file: - - ./gateway/.env.docker + - .env.example ports: - "${GATEWAY_PORT}:${GATEWAY_PORT}" networks: @@ -26,7 +26,7 @@ services: context: gateway/ container_name: locust_gateway env_file: - - ./gateway/.env.docker + - .env.example ports: - "8089:8089" networks: @@ -45,7 +45,7 @@ services: context: tasks/ container_name: tasks_app env_file: - - ./tasks/.env.docker + - .env.example ports: - "${TASKS_APP_PORT}" entrypoint: ["sh", "-c"] @@ -71,7 +71,7 @@ services: context: tasks/ container_name: tasks_app_worker env_file: - - ./tasks/.env.docker + - .env.example environment: SERVICE_NAME: tasks_app KAFKA_BOOTSTRAP: kafka:9092 @@ -95,7 +95,7 @@ services: image: postgres:17 container_name: db_tasks_app env_file: - - ./tasks/.env.docker + - .env.example environment: POSTGRES_USER: ${TASKS_DB_USER} POSTGRES_PASSWORD: ${TASKS_DB_PASS} diff --git a/gateway/.env.docker b/gateway/.env.docker deleted file mode 100644 index 784ef21..0000000 --- a/gateway/.env.docker +++ /dev/null @@ -1,7 +0,0 @@ -MODE = PRODUCTION - -# FastAPI -GATEWAY_PORT = 5000 - -# Services -TASKS_MICROSERVICE_URL = http://tasks_app:5001 \ No newline at end of file diff --git a/gateway/.env.test b/gateway/.env.test deleted file mode 100644 index acd33b1..0000000 --- a/gateway/.env.test +++ /dev/null @@ -1,7 +0,0 @@ -MODE = TEST - -# FastAPI -GATEWAY_PORT = 5000 - -# Services -TASKS_MICROSERVICE_URL = http://tasks_app_test:5001 \ No newline at end of file diff --git a/tasks/.env.docker b/tasks/.env.docker deleted file mode 100644 index 2cb2e98..0000000 --- a/tasks/.env.docker +++ /dev/null @@ -1,11 +0,0 @@ -MODE = PRODUCTION - -# Database -TASKS_DB_USER = postgres -TASKS_DB_PASS = postgres -TASKS_DB_HOST = db_tasks_app -TASKS_DB_PORT = 5432 -TASKS_DB_NAME = tasks_app - -# FastAPI -TASKS_APP_PORT = 5001 \ No newline at end of file diff --git a/tasks/.env.test b/tasks/.env.test deleted file mode 100644 index 35ca79e..0000000 --- a/tasks/.env.test +++ /dev/null @@ -1,16 +0,0 @@ -MODE = TEST - -# Database -TASKS_DB_USER = postgres -TASKS_DB_PASS = postgres -TASKS_DB_HOST = db_tasks_app_test -TASKS_DB_PORT = 5432 -TASKS_DB_NAME = tasks_app_test - -# FastAPI -TASKS_APP_PORT = 5001 - -# Kafka -KAFKA_BOOTSTRAP = kafka_test:9092 -KAFKA_TOPIC = task_events_test -KAFKA_CLIENT_ID = tasks_app_test