Development Setup

Steps to quickly setup dev environment

Refer to pre-requisite for basic tools needed for a dev environment

Co-Auth heavily uses Quarkus devservices for development simplicity. The postgres database (not shared), Infinispan in-memory database and Kafka are created and shared with each other using test containers. Also, tables structures and dummy application are auto created with hibernate settings.

Co-Auth Core

git clone https://github.com/coauth/coauth-core.git

cd coauth-core

API Gateway (Port 8080)

cd core-api-gateway

export MODULE_REGISTRY_SERVICE='http://localhost:8082'
export AUTH_GUARD_SERVICE='http://localhost:8081/core/auth-guard'
export MODULE_TOTP_SERVICE='http://localhost:8083'
export MODULE_RECONFIRM_SERVICE='http://localhost:8085'
export UI_PLUGIN_SERVICE='http://localhost:3000'
export EXAMPLE_APP_SERVICE='http://localhost:8084'

./mvnw spring-boot:run --define spring-boot.run.profiles=dev

Auth Guard (Port 8081)

cd core-auth-guard

export POSTGRESQL_USER='postgres'
export POSTGRESQL_PASSWORD='postgres'

./mvnw compile quarkus:dev

Module Registry (Port 8082)

cd core-module-registry

export POSTGRESQL_USER='postgres'
export POSTGRESQL_PASSWORD='postgres'
export INFINISPAN_USER='admin'
export INFINISPAN_PASSWORD='password'

./mvnw compile quarkus:dev

Module TOTP (Port 8083

cd coauth-module-totp

export POSTGRESQL_USER='postgres'
export POSTGRESQL_PASSWORD='postgres'
export INFINISPAN_USER='admin'
export INFINISPAN_PASSWORD='password'

./mvnw compile quarkus:dev

Module Reconfirm (Port 8085)

cd coauth-module-reconfirm

export POSTGRESQL_USER='postgres'
export POSTGRESQL_PASSWORD='postgres'
export INFINISPAN_USER='admin'
export INFINISPAN_PASSWORD='password'

./mvnw compile quarkus:dev

Web Plugin (Port 3000)

git clone https://github.com/coauth/coauth-plugin-web.git

cd coauth-plugin-web

npm install

npm run dev

Example Quarkus VueJS (Quarkus on Port 8084 and Vuejs on Port 3001)

git clone https://github.com/coauth/example-quarkus-vue.git

cd example-quarkus-vue

export COAUTH_GATEWAY_URL=http://localhost:8080

./mvnw compile quarkus:dev

cd src/main/webapp

npm install

npm run dev

Management UI (Port 8080)

git clone https://github.com/coauth/coauth-management.git

cd coauth-management/coauth-management-ui

npm install

npm run dev

Last updated