From c558135cca9733001ccb68bc83c637fcbc4e9bb5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20Jochum?= Date: Wed, 21 Sep 2022 23:17:34 +0200 Subject: [PATCH] Add podman-compose, fix registered routes --- Taskfile.yml | 21 ++++++++- cmd/microauth2sqld/main.go | 43 +++++++++++++++-- docker-compose.yml | 94 ++++++++++++++++++++++++++++++++++++++ 3 files changed, 153 insertions(+), 5 deletions(-) create mode 100644 docker-compose.yml diff --git a/Taskfile.yml b/Taskfile.yml index dc99567..bae9974 100644 --- a/Taskfile.yml +++ b/Taskfile.yml @@ -61,8 +61,10 @@ tasks: sources: - ./go.sum - ./*.go - - ./service/microauth2sqld/**/*.go + - ./cmd/microauth2sqld/**/*.go - ./internal/**/*.go + - ./plugins/**/*.go + - ./shared/**/*.go cmds: - podman build -v "{{.BUILD_MOUNT_FOLDER_INT}}:{{.BUILD_MOUNT_FOLDER_INT}}" @@ -115,4 +117,19 @@ tasks: cmds: - podman volume rm jo-micro_auth2_go || exit 0 - podman image rm {{.DOCKER_ORG_JO_MICRO}}/auth2-sql:latest || exit 0 - - rm -rf $PWD/.task \ No newline at end of file + - rm -rf $PWD/.task + + up: + desc: Run all containers + cmds: + - podman-compose up -d --remove-orphans + + ps: + desc: Show running containers + cmds: + - podman-compose ps + + down: + desc: Stopp all containers + cmds: + - podman-compose down diff --git a/cmd/microauth2sqld/main.go b/cmd/microauth2sqld/main.go index c4e0480..027b540 100644 --- a/cmd/microauth2sqld/main.go +++ b/cmd/microauth2sqld/main.go @@ -318,12 +318,49 @@ func main() { c.String("auth2_sqld_router_basepath"), router.NewRoute( router.Method(router.MethodGet), - router.Path("/routes"), - router.Endpoint("routes"), + router.Path("/"), + router.Endpoint(authpb.AuthService.List), + router.Params("limit", "offset"), + router.AuthRequired(), + ), + router.NewRoute( + router.Method(router.MethodPost), + router.Path("/login"), + router.Endpoint(authpb.AuthService.Login), + ), + router.NewRoute( + router.Method(router.MethodPost), + router.Path("/register"), + router.Endpoint(authpb.AuthService.Register), + ), + router.NewRoute( + router.Method(router.MethodPost), + router.Path("/refresh"), + router.Endpoint(authpb.AuthService.Refresh), + ), + router.NewRoute( + router.Method(router.MethodDelete), + router.Path("/:userId"), + router.Endpoint(authpb.AuthService.Delete), + router.Params("userId"), + router.AuthRequired(), + ), + router.NewRoute( + router.Method(router.MethodGet), + router.Path("/:userId"), + router.Endpoint(authpb.AuthService.Detail), + router.Params("userId"), + router.AuthRequired(), + ), + router.NewRoute( + router.Method(router.MethodPut), + router.Path("/:userId/roles"), + router.Endpoint(authpb.AuthService.UpdateRoles), + router.Params("userId"), + router.AuthRequired(), ), ) r.RegisterWithServer(srv.Server()) - return nil }), } diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..5ac967f --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,94 @@ +version: '3' + +services: + nats: + image: ${DOCKER_IO}/library/nats:2.8.4-alpine + command: -js -sd /data + volumes: + - nats:/data + ports: + - "4222:4222" + - "6222:6222" + - "8222:8222" + + postgresd: + restart: ${DOCKER_RESTART} + image: ${DOCKER_ORG_WARZONE}/microlobby-postgresd:${MICROLOBBY_POSTGRES_TAG} + environment: + POSTGRES_DB: ${DB_DATABASE} + POSTGRES_USER: ${DB_USERNAME} + POSTGRES_PASSWORD: ${DB_PASSWORD} + ports: + - 5432:5432 + volumes: + - postgresd:/var/lib/postgresql/data:cached + + pgadmin: + restart: ${DOCKER_RESTART} + image: ${DOCKER_IO}/dpage/pgadmin4:6 + environment: + - PGADMIN_DEFAULT_EMAIL=${PGADMIN_DEFAULT_EMAIL} + - PGADMIN_DEFAULT_PASSWORD=${PGADMIN_DEFAULT_PASSWORD} + ports: + - 8086:80 + links: + - postgresd + depends_on: + - postgresd + volumes: + - pgadmin:/var/lib/pgadmin + + auth: + restart: ${DOCKER_RESTART} + image: ${DOCKER_ORG_JO_MICRO}/auth2-sql:latest + environment: + - MICRO_AUTH2_CLIENT=jwt + - MICRO_AUTH2_DATABASE_DEBUG=${MICRO_AUTH2_DATABASE_DEBUG} + - MICRO_AUTH2_DATABASE_URL=${MICRO_AUTH2_DATABASE_URL} + - MICRO_AUTH2_JWT_ACCESS_EXPIRY=${MICRO_AUTH2_JWT_ACCESS_EXPIRY} + - MICRO_AUTH2_JWT_AUDIENCES=${MICRO_AUTH2_JWT_AUDIENCES} + - MICRO_AUTH2_JWT_PRIV_KEY=${MICRO_AUTH2_JWT_PRIV_KEY} + - MICRO_AUTH2_JWT_PUB_KEY=${MICRO_AUTH2_JWT_PUB_KEY} + - MICRO_AUTH2_JWT_REFRESH_EXPIRY=${MICRO_AUTH2_JWT_REFRESH_EXPIRY} + - MICRO_AUTH2_JWT_REFRESH_PRIV_KEY=${MICRO_AUTH2_JWT_REFRESH_PRIV_KEY} + - MICRO_AUTH2_JWT_REFRESH_PUB_KEY=${MICRO_AUTH2_JWT_REFRESH_PUB_KEY} + - MICRO_AUTH2_LOG_LEVEL=${LOG_LEVEL} + - MICRO_TRANSPORT=${MICRO_TRANSPORT} + - MICRO_REGISTRY=${MICRO_REGISTRY} + - MICRO_REGISTRY_ADDRESS=${MICRO_REGISTRY_ADDRESS} + - MICRO_BROKER=${MICRO_BROKER} + - MICRO_BROKER_ADDRESS=${MICRO_BROKER_ADDRESS} + links: + - postgresd + - nats + depends_on: + - postgresd + - nats + + router: + restart: ${DOCKER_RESTART} + image: ${DOCKER_ORG_JO_MICRO}/router:latest + environment: + - MICRO_AUTH2_CLIENT=jwt + - MICRO_AUTH2_ROUTER=jwt + - MICRO_AUTH2_JWT_AUDIENCES=${MICRO_AUTH2_JWT_AUDIENCES} + - MICRO_AUTH2_JWT_PRIV_KEY=${MICRO_AUTH2_JWT_PRIV_KEY} + - MICRO_AUTH2_JWT_PUB_KEY=${MICRO_AUTH2_JWT_PUB_KEY} + - MICRO_TRANSPORT=${MICRO_TRANSPORT} + - MICRO_REGISTRY=${MICRO_REGISTRY} + - MICRO_REGISTRY_ADDRESS=${MICRO_REGISTRY_ADDRESS} + - MICRO_BROKER=${MICRO_BROKER} + - MICRO_BROKER_ADDRESS=${MICRO_BROKER_ADDRESS} + - MICRO_ROUTER_LISTEN=:8080 + - MICRO_ROUTER_LOG_LEVEL=${LOG_LEVEL} + ports: + - 8080:8080 + links: + - nats + depends_on: + - nats + +volumes: + nats: {} + postgresd: {} + pgadmin: {}