# Local Debugging Setup (Advance) * IntelliJ IDEAS * To bypass Spring Security to troubleshoot resource module independently, use this annotation * remove `@EnableResourceServer` * add exclusion `exclude={SecurityAutoConfiguration.class}` ```java @SpringBootApplication(exclude={SecurityAutoConfiguration.class}) @RestController //@EnableResourceServer //@EnableScheduling public class ResourceApplication { ... } ``` * Setup debugger environment * for remote db. * Note : For `authserver`, not able to launch if remote db is Read-Only replica as the code will execute `schema.sql` against `uaa` table, which required write access ```text DATABASE_SERVER_HOST=127.0.0.1;DATABASE=razerpay-malaysia-product;DATABASE_SERVER_USERNAME=tenghieyik;DATABASE_SERVER_PASSWORD=Razer*3ngF0RlIF32 ``` * for local db (according to your local db setup) ```text DATABASE_SERVER_HOST=127.0.0.1;DATABASE=razerpay-malaysia-product;DATABASE_SERVER_USERNAME=razerpay;DATABASE_SERVER_PASSWORD=razerpay-singapore ``` * Happy debugging !!!! ## Remote DB connection via tunnel (Malaysia) * SSH tunnel setup at local computer * Connect to Malaysia VPN * Setup SSH Tunnel to an authorised EC2 for connecting to Malaysia sql sb. ```shell $ ssh -L 3306:rr-zf81fzm6ija52q623.mysql.kualalumpur.rds.aliyuncs.com:3306 tenghieyik@172.22.4.252 ``` * Test tunnel setup connection using `MySQL Workbench` to connect `localhost:3306` * Setup IntelliJ setting to connect DB via `localhost:3306` ### For docker container setup * Connect remote db from docker container via docker host SSH tunnel * SSH tunnel ```shell $ ssh -L host.docker.internal:3306:rr-zf81fzm6ija52q623.mysql.kualalumpur.rds.aliyuncs.com:3306 tenghieyik@172.22.4.252 // grab the host.docker.internal IP Address $ ping host.docker.internal Pinging host.docker.internal [192.168.0.132] with 32 bytes of data: Reply from 192.168.0.132: bytes=32 time<1ms TTL=128 Reply from 192.168.0.132: bytes=32 time<1ms TTL=128 ... ``` * `docker-compose.yml` ```yml version: '2.1' services: resource: image: registry-intl.ap-southeast-3.aliyuncs.com/razerpay-report-malaysia/resource:latest # restart: always mem_limit: 2048m mem_reservation: 1024m ports: - "9000:9000" environment: - JAVA_TOOL_OPTIONS=-Xmx1024M - DATABASE_SERVER_HOST=192.168.0.132 - DATABASE_SERVER_USERNAME=tenghieyik - DATABASE_SERVER_PASSWORD=Razer*3ngF0RlIF32 - DATABASE=razerpay-malaysia-product - MAIL_SERVER_USERNAME= - MAIL_SERVER_PASSWORD= logging: options: max-size: "50m" ``` *