diff --git a/README.md b/README.md index 636ac7f..3652a1c 100644 --- a/README.md +++ b/README.md @@ -13,6 +13,18 @@ - repo and container registry - github and GHCR - API Testing Tools - Apache Benchmark, Postman +## API Features + +> postman public collection WIP: Documentation + +- Todo Api (Multi User) +- Api Billing (as per api hits and responses excluding status code 5xx ) +- soft delete +- api authentication + 1. roles based auth + 1. user based auth + 1. inter user access restricted + ## K8S Setup procedure 1. eksctl faragete cluster `eksctl create cluster --name cluster --region ap-south-1 --fargate` @@ -32,12 +44,12 @@ - ~~ Connect external postgress to it ~~ - ~~ deploy postgress to Kubernetes ~~ - ~~ autoscale postgress deployment ~~ -- scale down to zero (Coldstart) -- api rate limiting and security - ~~ API Auth and Access Logs ~~ - ~~access token roles~~ -- API Billing +- ~~API Billing~~ +- scale down to zero (Coldstart) - API analytics +- api rate limiting and security ## practice diff --git a/docker-compose.yml b/docker-compose.yml index 40abc73..868962a 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,24 +1,24 @@ version: '3' services: - # app: - # container_name: go-todo-api - # build: . - # ports: - # - 8080:8080 - # restart: on-failure - # depends_on: - # - postgres - # networks: - # - fullstack - # environment: - # - DB_HOST=postgres - # - DB_DRIVER=${DB_DRIVER} - # - DB_USER=${DB_USER} - # - DB_PASSWORD=${DB_PASSWORD} - # - DB_NAME=${DB_NAME} - # - DB_PORT=${DB_PORT} - # - POSTGRES_URL=${POSTGRES_URL} - # - PORT=${PORT} + app: + container_name: go-todo-api + build: . + ports: + - 8080:8080 + restart: on-failure + depends_on: + - postgres + networks: + - fullstack + environment: + - DB_HOST=postgres + - DB_DRIVER=${DB_DRIVER} + - DB_USER=${DB_USER} + - DB_PASSWORD=${DB_PASSWORD} + - DB_NAME=${DB_NAME} + - DB_PORT=${DB_PORT} + - POSTGRES_URL=${POSTGRES_URL} + - PORT=${PORT} postgres: image: postgres:latest @@ -32,8 +32,8 @@ services: - 5432:5432 volumes: - ./docker-compose/postgres:/var/lib/postgresql/data - # networks: - # - fullstack + networks: + - fullstack pgadmin: image: dpage/pgadmin4 container_name: pgadmin4 @@ -45,6 +45,8 @@ services: PGADMIN_DEFAULT_PASSWORD: strong-password volumes: - ./docker-compose/pgadmin-data:/var/lib/pgadmin + networks: + - fullstack # Networks to be created to facilitate communication between containers networks: