├── .editorconfig ├── .github └── workflows │ └── commit-stage.yml ├── .gitignore ├── .sdkmanrc ├── LICENSE ├── README.md ├── chat-service ├── .editorconfig ├── .gitignore ├── build.gradle ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── settings.gradle └── src │ ├── main │ ├── java │ │ └── com │ │ │ └── thomasvitale │ │ │ └── chatservice │ │ │ ├── ChatServiceApplication.java │ │ │ ├── chat │ │ │ ├── DocumentChatController.java │ │ │ ├── DocumentChatService.java │ │ │ └── SimpleChatController.java │ │ │ ├── documents │ │ │ └── DocumentInitializer.java │ │ │ └── multitenancy │ │ │ ├── context │ │ │ ├── TenantContextHolder.java │ │ │ └── resolvers │ │ │ │ ├── HttpHeaderTenantResolver.java │ │ │ │ └── TenantResolver.java │ │ │ ├── exceptions │ │ │ ├── TenantNotFoundException.java │ │ │ └── TenantResolutionException.java │ │ │ ├── tenantdetails │ │ │ ├── PropertiesTenantDetailsService.java │ │ │ ├── TenantDetails.java │ │ │ ├── TenantDetailsProperties.java │ │ │ └── TenantDetailsService.java │ │ │ └── web │ │ │ └── TenantContextFilter.java │ └── resources │ │ ├── application.yml │ │ └── documents │ │ ├── story1.md │ │ └── story2.txt │ └── test │ └── java │ └── com │ └── thomasvitale │ └── chatservice │ ├── ChatServiceApplicationTests.java │ └── TestChatServiceApplication.java ├── compose.yml ├── edge-service ├── .editorconfig ├── .gitignore ├── build.gradle ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── settings.gradle └── src │ ├── main │ ├── java │ │ └── com │ │ │ └── thomasvitale │ │ │ └── edgeservice │ │ │ ├── EdgeServiceApplication.java │ │ │ ├── config │ │ │ └── SecurityConfig.java │ │ │ └── multitenancy │ │ │ ├── exceptions │ │ │ ├── TenantNotFoundException.java │ │ │ └── TenantResolutionException.java │ │ │ ├── gateway │ │ │ └── TenantGatewayFilterFactory.java │ │ │ ├── security │ │ │ ├── TenantAuthenticationEntryPoint.java │ │ │ └── TenantClientRegistrationRepository.java │ │ │ └── tenantdetails │ │ │ ├── PropertiesTenantDetailsService.java │ │ │ ├── TenantDetails.java │ │ │ ├── TenantDetailsProperties.java │ │ │ └── TenantDetailsService.java │ └── resources │ │ ├── application.yml │ │ └── logback-spring.xml │ └── test │ └── java │ └── com │ └── thomasvitale │ └── edgeservice │ └── EdgeServiceApplicationTests.java ├── instrument-service ├── .editorconfig ├── .gitignore ├── build.gradle ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── settings.gradle └── src │ ├── main │ ├── java │ │ └── com │ │ │ └── thomasvitale │ │ │ └── instrumentservice │ │ │ ├── InstrumentServiceApplication.java │ │ │ ├── config │ │ │ └── SecurityConfig.java │ │ │ ├── demo │ │ │ ├── DataConfig.java │ │ │ └── PathConfig.java │ │ │ ├── instrument │ │ │ ├── Instrument.java │ │ │ ├── InstrumentController.java │ │ │ └── InstrumentRepository.java │ │ │ └── multitenancy │ │ │ ├── context │ │ │ ├── TenantContextHolder.java │ │ │ └── resolvers │ │ │ │ ├── HttpHeaderTenantResolver.java │ │ │ │ └── TenantResolver.java │ │ │ ├── data │ │ │ ├── cache │ │ │ │ └── TenantKeyGenerator.java │ │ │ ├── flyway │ │ │ │ └── TenantFlywayMigrationInitializer.java │ │ │ └── hibernate │ │ │ │ ├── ConnectionProvider.java │ │ │ │ └── TenantIdentifierResolver.java │ │ │ ├── exceptions │ │ │ ├── TenantNotFoundException.java │ │ │ └── TenantResolutionException.java │ │ │ ├── security │ │ │ └── TenantAuthenticationManagerResolver.java │ │ │ ├── tenantdetails │ │ │ ├── PropertiesTenantDetailsService.java │ │ │ ├── TenantDetails.java │ │ │ ├── TenantDetailsProperties.java │ │ │ └── TenantDetailsService.java │ │ │ └── web │ │ │ └── TenantContextFilter.java │ └── resources │ │ ├── application.yml │ │ ├── db │ │ └── migration │ │ │ ├── default │ │ │ └── V1__Creative_table.sql │ │ │ └── tenant │ │ │ └── V1__Instrument_table.sql │ │ └── logback-spring.xml │ └── test │ └── java │ └── com │ └── thomasvitale │ └── instrumentservice │ ├── InstrumentServiceApplicationTests.java │ └── TestInstrumentServiceApplication.java └── platform ├── alloy └── config.alloy ├── grafana ├── README.md ├── dashboards │ ├── applications │ │ ├── jvm.json │ │ ├── polar-http.json │ │ ├── spring-boot-jdbc.json │ │ └── spring-boot.json │ ├── dashboards.yml │ └── platform │ │ └── prometheus-stats.json ├── datasources │ └── datasources.yml └── grafana.ini ├── keycloak └── realm-config.json ├── loki └── loki.yml ├── prometheus └── prometheus.yml └── tempo └── tempo.yml /.editorconfig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThomasVitale/spring-boot-multitenancy/HEAD/.editorconfig -------------------------------------------------------------------------------- /.github/workflows/commit-stage.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThomasVitale/spring-boot-multitenancy/HEAD/.github/workflows/commit-stage.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThomasVitale/spring-boot-multitenancy/HEAD/.gitignore -------------------------------------------------------------------------------- /.sdkmanrc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThomasVitale/spring-boot-multitenancy/HEAD/.sdkmanrc -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThomasVitale/spring-boot-multitenancy/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThomasVitale/spring-boot-multitenancy/HEAD/README.md -------------------------------------------------------------------------------- /chat-service/.editorconfig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThomasVitale/spring-boot-multitenancy/HEAD/chat-service/.editorconfig -------------------------------------------------------------------------------- /chat-service/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThomasVitale/spring-boot-multitenancy/HEAD/chat-service/.gitignore -------------------------------------------------------------------------------- /chat-service/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThomasVitale/spring-boot-multitenancy/HEAD/chat-service/build.gradle -------------------------------------------------------------------------------- /chat-service/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThomasVitale/spring-boot-multitenancy/HEAD/chat-service/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /chat-service/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThomasVitale/spring-boot-multitenancy/HEAD/chat-service/gradle/wrapper/gradle-wrapper.properties -------------------------------------------------------------------------------- /chat-service/gradlew: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThomasVitale/spring-boot-multitenancy/HEAD/chat-service/gradlew -------------------------------------------------------------------------------- /chat-service/gradlew.bat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThomasVitale/spring-boot-multitenancy/HEAD/chat-service/gradlew.bat -------------------------------------------------------------------------------- /chat-service/settings.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThomasVitale/spring-boot-multitenancy/HEAD/chat-service/settings.gradle -------------------------------------------------------------------------------- /chat-service/src/main/java/com/thomasvitale/chatservice/ChatServiceApplication.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThomasVitale/spring-boot-multitenancy/HEAD/chat-service/src/main/java/com/thomasvitale/chatservice/ChatServiceApplication.java -------------------------------------------------------------------------------- /chat-service/src/main/java/com/thomasvitale/chatservice/chat/DocumentChatController.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThomasVitale/spring-boot-multitenancy/HEAD/chat-service/src/main/java/com/thomasvitale/chatservice/chat/DocumentChatController.java -------------------------------------------------------------------------------- /chat-service/src/main/java/com/thomasvitale/chatservice/chat/DocumentChatService.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThomasVitale/spring-boot-multitenancy/HEAD/chat-service/src/main/java/com/thomasvitale/chatservice/chat/DocumentChatService.java -------------------------------------------------------------------------------- /chat-service/src/main/java/com/thomasvitale/chatservice/chat/SimpleChatController.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThomasVitale/spring-boot-multitenancy/HEAD/chat-service/src/main/java/com/thomasvitale/chatservice/chat/SimpleChatController.java -------------------------------------------------------------------------------- /chat-service/src/main/java/com/thomasvitale/chatservice/documents/DocumentInitializer.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThomasVitale/spring-boot-multitenancy/HEAD/chat-service/src/main/java/com/thomasvitale/chatservice/documents/DocumentInitializer.java -------------------------------------------------------------------------------- /chat-service/src/main/java/com/thomasvitale/chatservice/multitenancy/context/TenantContextHolder.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThomasVitale/spring-boot-multitenancy/HEAD/chat-service/src/main/java/com/thomasvitale/chatservice/multitenancy/context/TenantContextHolder.java -------------------------------------------------------------------------------- /chat-service/src/main/java/com/thomasvitale/chatservice/multitenancy/context/resolvers/HttpHeaderTenantResolver.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThomasVitale/spring-boot-multitenancy/HEAD/chat-service/src/main/java/com/thomasvitale/chatservice/multitenancy/context/resolvers/HttpHeaderTenantResolver.java -------------------------------------------------------------------------------- /chat-service/src/main/java/com/thomasvitale/chatservice/multitenancy/context/resolvers/TenantResolver.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThomasVitale/spring-boot-multitenancy/HEAD/chat-service/src/main/java/com/thomasvitale/chatservice/multitenancy/context/resolvers/TenantResolver.java -------------------------------------------------------------------------------- /chat-service/src/main/java/com/thomasvitale/chatservice/multitenancy/exceptions/TenantNotFoundException.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThomasVitale/spring-boot-multitenancy/HEAD/chat-service/src/main/java/com/thomasvitale/chatservice/multitenancy/exceptions/TenantNotFoundException.java -------------------------------------------------------------------------------- /chat-service/src/main/java/com/thomasvitale/chatservice/multitenancy/exceptions/TenantResolutionException.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThomasVitale/spring-boot-multitenancy/HEAD/chat-service/src/main/java/com/thomasvitale/chatservice/multitenancy/exceptions/TenantResolutionException.java -------------------------------------------------------------------------------- /chat-service/src/main/java/com/thomasvitale/chatservice/multitenancy/tenantdetails/PropertiesTenantDetailsService.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThomasVitale/spring-boot-multitenancy/HEAD/chat-service/src/main/java/com/thomasvitale/chatservice/multitenancy/tenantdetails/PropertiesTenantDetailsService.java -------------------------------------------------------------------------------- /chat-service/src/main/java/com/thomasvitale/chatservice/multitenancy/tenantdetails/TenantDetails.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThomasVitale/spring-boot-multitenancy/HEAD/chat-service/src/main/java/com/thomasvitale/chatservice/multitenancy/tenantdetails/TenantDetails.java -------------------------------------------------------------------------------- /chat-service/src/main/java/com/thomasvitale/chatservice/multitenancy/tenantdetails/TenantDetailsProperties.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThomasVitale/spring-boot-multitenancy/HEAD/chat-service/src/main/java/com/thomasvitale/chatservice/multitenancy/tenantdetails/TenantDetailsProperties.java -------------------------------------------------------------------------------- /chat-service/src/main/java/com/thomasvitale/chatservice/multitenancy/tenantdetails/TenantDetailsService.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThomasVitale/spring-boot-multitenancy/HEAD/chat-service/src/main/java/com/thomasvitale/chatservice/multitenancy/tenantdetails/TenantDetailsService.java -------------------------------------------------------------------------------- /chat-service/src/main/java/com/thomasvitale/chatservice/multitenancy/web/TenantContextFilter.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThomasVitale/spring-boot-multitenancy/HEAD/chat-service/src/main/java/com/thomasvitale/chatservice/multitenancy/web/TenantContextFilter.java -------------------------------------------------------------------------------- /chat-service/src/main/resources/application.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThomasVitale/spring-boot-multitenancy/HEAD/chat-service/src/main/resources/application.yml -------------------------------------------------------------------------------- /chat-service/src/main/resources/documents/story1.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThomasVitale/spring-boot-multitenancy/HEAD/chat-service/src/main/resources/documents/story1.md -------------------------------------------------------------------------------- /chat-service/src/main/resources/documents/story2.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThomasVitale/spring-boot-multitenancy/HEAD/chat-service/src/main/resources/documents/story2.txt -------------------------------------------------------------------------------- /chat-service/src/test/java/com/thomasvitale/chatservice/ChatServiceApplicationTests.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThomasVitale/spring-boot-multitenancy/HEAD/chat-service/src/test/java/com/thomasvitale/chatservice/ChatServiceApplicationTests.java -------------------------------------------------------------------------------- /chat-service/src/test/java/com/thomasvitale/chatservice/TestChatServiceApplication.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThomasVitale/spring-boot-multitenancy/HEAD/chat-service/src/test/java/com/thomasvitale/chatservice/TestChatServiceApplication.java -------------------------------------------------------------------------------- /compose.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThomasVitale/spring-boot-multitenancy/HEAD/compose.yml -------------------------------------------------------------------------------- /edge-service/.editorconfig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThomasVitale/spring-boot-multitenancy/HEAD/edge-service/.editorconfig -------------------------------------------------------------------------------- /edge-service/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThomasVitale/spring-boot-multitenancy/HEAD/edge-service/.gitignore -------------------------------------------------------------------------------- /edge-service/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThomasVitale/spring-boot-multitenancy/HEAD/edge-service/build.gradle -------------------------------------------------------------------------------- /edge-service/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThomasVitale/spring-boot-multitenancy/HEAD/edge-service/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /edge-service/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThomasVitale/spring-boot-multitenancy/HEAD/edge-service/gradle/wrapper/gradle-wrapper.properties -------------------------------------------------------------------------------- /edge-service/gradlew: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThomasVitale/spring-boot-multitenancy/HEAD/edge-service/gradlew -------------------------------------------------------------------------------- /edge-service/gradlew.bat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThomasVitale/spring-boot-multitenancy/HEAD/edge-service/gradlew.bat -------------------------------------------------------------------------------- /edge-service/settings.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThomasVitale/spring-boot-multitenancy/HEAD/edge-service/settings.gradle -------------------------------------------------------------------------------- /edge-service/src/main/java/com/thomasvitale/edgeservice/EdgeServiceApplication.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThomasVitale/spring-boot-multitenancy/HEAD/edge-service/src/main/java/com/thomasvitale/edgeservice/EdgeServiceApplication.java -------------------------------------------------------------------------------- /edge-service/src/main/java/com/thomasvitale/edgeservice/config/SecurityConfig.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThomasVitale/spring-boot-multitenancy/HEAD/edge-service/src/main/java/com/thomasvitale/edgeservice/config/SecurityConfig.java -------------------------------------------------------------------------------- /edge-service/src/main/java/com/thomasvitale/edgeservice/multitenancy/exceptions/TenantNotFoundException.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThomasVitale/spring-boot-multitenancy/HEAD/edge-service/src/main/java/com/thomasvitale/edgeservice/multitenancy/exceptions/TenantNotFoundException.java -------------------------------------------------------------------------------- /edge-service/src/main/java/com/thomasvitale/edgeservice/multitenancy/exceptions/TenantResolutionException.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThomasVitale/spring-boot-multitenancy/HEAD/edge-service/src/main/java/com/thomasvitale/edgeservice/multitenancy/exceptions/TenantResolutionException.java -------------------------------------------------------------------------------- /edge-service/src/main/java/com/thomasvitale/edgeservice/multitenancy/gateway/TenantGatewayFilterFactory.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThomasVitale/spring-boot-multitenancy/HEAD/edge-service/src/main/java/com/thomasvitale/edgeservice/multitenancy/gateway/TenantGatewayFilterFactory.java -------------------------------------------------------------------------------- /edge-service/src/main/java/com/thomasvitale/edgeservice/multitenancy/security/TenantAuthenticationEntryPoint.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThomasVitale/spring-boot-multitenancy/HEAD/edge-service/src/main/java/com/thomasvitale/edgeservice/multitenancy/security/TenantAuthenticationEntryPoint.java -------------------------------------------------------------------------------- /edge-service/src/main/java/com/thomasvitale/edgeservice/multitenancy/security/TenantClientRegistrationRepository.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThomasVitale/spring-boot-multitenancy/HEAD/edge-service/src/main/java/com/thomasvitale/edgeservice/multitenancy/security/TenantClientRegistrationRepository.java -------------------------------------------------------------------------------- /edge-service/src/main/java/com/thomasvitale/edgeservice/multitenancy/tenantdetails/PropertiesTenantDetailsService.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThomasVitale/spring-boot-multitenancy/HEAD/edge-service/src/main/java/com/thomasvitale/edgeservice/multitenancy/tenantdetails/PropertiesTenantDetailsService.java -------------------------------------------------------------------------------- /edge-service/src/main/java/com/thomasvitale/edgeservice/multitenancy/tenantdetails/TenantDetails.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThomasVitale/spring-boot-multitenancy/HEAD/edge-service/src/main/java/com/thomasvitale/edgeservice/multitenancy/tenantdetails/TenantDetails.java -------------------------------------------------------------------------------- /edge-service/src/main/java/com/thomasvitale/edgeservice/multitenancy/tenantdetails/TenantDetailsProperties.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThomasVitale/spring-boot-multitenancy/HEAD/edge-service/src/main/java/com/thomasvitale/edgeservice/multitenancy/tenantdetails/TenantDetailsProperties.java -------------------------------------------------------------------------------- /edge-service/src/main/java/com/thomasvitale/edgeservice/multitenancy/tenantdetails/TenantDetailsService.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThomasVitale/spring-boot-multitenancy/HEAD/edge-service/src/main/java/com/thomasvitale/edgeservice/multitenancy/tenantdetails/TenantDetailsService.java -------------------------------------------------------------------------------- /edge-service/src/main/resources/application.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThomasVitale/spring-boot-multitenancy/HEAD/edge-service/src/main/resources/application.yml -------------------------------------------------------------------------------- /edge-service/src/main/resources/logback-spring.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThomasVitale/spring-boot-multitenancy/HEAD/edge-service/src/main/resources/logback-spring.xml -------------------------------------------------------------------------------- /edge-service/src/test/java/com/thomasvitale/edgeservice/EdgeServiceApplicationTests.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThomasVitale/spring-boot-multitenancy/HEAD/edge-service/src/test/java/com/thomasvitale/edgeservice/EdgeServiceApplicationTests.java -------------------------------------------------------------------------------- /instrument-service/.editorconfig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThomasVitale/spring-boot-multitenancy/HEAD/instrument-service/.editorconfig -------------------------------------------------------------------------------- /instrument-service/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThomasVitale/spring-boot-multitenancy/HEAD/instrument-service/.gitignore -------------------------------------------------------------------------------- /instrument-service/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThomasVitale/spring-boot-multitenancy/HEAD/instrument-service/build.gradle -------------------------------------------------------------------------------- /instrument-service/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThomasVitale/spring-boot-multitenancy/HEAD/instrument-service/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /instrument-service/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThomasVitale/spring-boot-multitenancy/HEAD/instrument-service/gradle/wrapper/gradle-wrapper.properties -------------------------------------------------------------------------------- /instrument-service/gradlew: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThomasVitale/spring-boot-multitenancy/HEAD/instrument-service/gradlew -------------------------------------------------------------------------------- /instrument-service/gradlew.bat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThomasVitale/spring-boot-multitenancy/HEAD/instrument-service/gradlew.bat -------------------------------------------------------------------------------- /instrument-service/settings.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThomasVitale/spring-boot-multitenancy/HEAD/instrument-service/settings.gradle -------------------------------------------------------------------------------- /instrument-service/src/main/java/com/thomasvitale/instrumentservice/InstrumentServiceApplication.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThomasVitale/spring-boot-multitenancy/HEAD/instrument-service/src/main/java/com/thomasvitale/instrumentservice/InstrumentServiceApplication.java -------------------------------------------------------------------------------- /instrument-service/src/main/java/com/thomasvitale/instrumentservice/config/SecurityConfig.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThomasVitale/spring-boot-multitenancy/HEAD/instrument-service/src/main/java/com/thomasvitale/instrumentservice/config/SecurityConfig.java -------------------------------------------------------------------------------- /instrument-service/src/main/java/com/thomasvitale/instrumentservice/demo/DataConfig.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThomasVitale/spring-boot-multitenancy/HEAD/instrument-service/src/main/java/com/thomasvitale/instrumentservice/demo/DataConfig.java -------------------------------------------------------------------------------- /instrument-service/src/main/java/com/thomasvitale/instrumentservice/demo/PathConfig.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThomasVitale/spring-boot-multitenancy/HEAD/instrument-service/src/main/java/com/thomasvitale/instrumentservice/demo/PathConfig.java -------------------------------------------------------------------------------- /instrument-service/src/main/java/com/thomasvitale/instrumentservice/instrument/Instrument.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThomasVitale/spring-boot-multitenancy/HEAD/instrument-service/src/main/java/com/thomasvitale/instrumentservice/instrument/Instrument.java -------------------------------------------------------------------------------- /instrument-service/src/main/java/com/thomasvitale/instrumentservice/instrument/InstrumentController.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThomasVitale/spring-boot-multitenancy/HEAD/instrument-service/src/main/java/com/thomasvitale/instrumentservice/instrument/InstrumentController.java -------------------------------------------------------------------------------- /instrument-service/src/main/java/com/thomasvitale/instrumentservice/instrument/InstrumentRepository.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThomasVitale/spring-boot-multitenancy/HEAD/instrument-service/src/main/java/com/thomasvitale/instrumentservice/instrument/InstrumentRepository.java -------------------------------------------------------------------------------- /instrument-service/src/main/java/com/thomasvitale/instrumentservice/multitenancy/context/TenantContextHolder.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThomasVitale/spring-boot-multitenancy/HEAD/instrument-service/src/main/java/com/thomasvitale/instrumentservice/multitenancy/context/TenantContextHolder.java -------------------------------------------------------------------------------- /instrument-service/src/main/java/com/thomasvitale/instrumentservice/multitenancy/context/resolvers/HttpHeaderTenantResolver.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThomasVitale/spring-boot-multitenancy/HEAD/instrument-service/src/main/java/com/thomasvitale/instrumentservice/multitenancy/context/resolvers/HttpHeaderTenantResolver.java -------------------------------------------------------------------------------- /instrument-service/src/main/java/com/thomasvitale/instrumentservice/multitenancy/context/resolvers/TenantResolver.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThomasVitale/spring-boot-multitenancy/HEAD/instrument-service/src/main/java/com/thomasvitale/instrumentservice/multitenancy/context/resolvers/TenantResolver.java -------------------------------------------------------------------------------- /instrument-service/src/main/java/com/thomasvitale/instrumentservice/multitenancy/data/cache/TenantKeyGenerator.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThomasVitale/spring-boot-multitenancy/HEAD/instrument-service/src/main/java/com/thomasvitale/instrumentservice/multitenancy/data/cache/TenantKeyGenerator.java -------------------------------------------------------------------------------- /instrument-service/src/main/java/com/thomasvitale/instrumentservice/multitenancy/data/flyway/TenantFlywayMigrationInitializer.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThomasVitale/spring-boot-multitenancy/HEAD/instrument-service/src/main/java/com/thomasvitale/instrumentservice/multitenancy/data/flyway/TenantFlywayMigrationInitializer.java -------------------------------------------------------------------------------- /instrument-service/src/main/java/com/thomasvitale/instrumentservice/multitenancy/data/hibernate/ConnectionProvider.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThomasVitale/spring-boot-multitenancy/HEAD/instrument-service/src/main/java/com/thomasvitale/instrumentservice/multitenancy/data/hibernate/ConnectionProvider.java -------------------------------------------------------------------------------- /instrument-service/src/main/java/com/thomasvitale/instrumentservice/multitenancy/data/hibernate/TenantIdentifierResolver.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThomasVitale/spring-boot-multitenancy/HEAD/instrument-service/src/main/java/com/thomasvitale/instrumentservice/multitenancy/data/hibernate/TenantIdentifierResolver.java -------------------------------------------------------------------------------- /instrument-service/src/main/java/com/thomasvitale/instrumentservice/multitenancy/exceptions/TenantNotFoundException.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThomasVitale/spring-boot-multitenancy/HEAD/instrument-service/src/main/java/com/thomasvitale/instrumentservice/multitenancy/exceptions/TenantNotFoundException.java -------------------------------------------------------------------------------- /instrument-service/src/main/java/com/thomasvitale/instrumentservice/multitenancy/exceptions/TenantResolutionException.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThomasVitale/spring-boot-multitenancy/HEAD/instrument-service/src/main/java/com/thomasvitale/instrumentservice/multitenancy/exceptions/TenantResolutionException.java -------------------------------------------------------------------------------- /instrument-service/src/main/java/com/thomasvitale/instrumentservice/multitenancy/security/TenantAuthenticationManagerResolver.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThomasVitale/spring-boot-multitenancy/HEAD/instrument-service/src/main/java/com/thomasvitale/instrumentservice/multitenancy/security/TenantAuthenticationManagerResolver.java -------------------------------------------------------------------------------- /instrument-service/src/main/java/com/thomasvitale/instrumentservice/multitenancy/tenantdetails/PropertiesTenantDetailsService.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThomasVitale/spring-boot-multitenancy/HEAD/instrument-service/src/main/java/com/thomasvitale/instrumentservice/multitenancy/tenantdetails/PropertiesTenantDetailsService.java -------------------------------------------------------------------------------- /instrument-service/src/main/java/com/thomasvitale/instrumentservice/multitenancy/tenantdetails/TenantDetails.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThomasVitale/spring-boot-multitenancy/HEAD/instrument-service/src/main/java/com/thomasvitale/instrumentservice/multitenancy/tenantdetails/TenantDetails.java -------------------------------------------------------------------------------- /instrument-service/src/main/java/com/thomasvitale/instrumentservice/multitenancy/tenantdetails/TenantDetailsProperties.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThomasVitale/spring-boot-multitenancy/HEAD/instrument-service/src/main/java/com/thomasvitale/instrumentservice/multitenancy/tenantdetails/TenantDetailsProperties.java -------------------------------------------------------------------------------- /instrument-service/src/main/java/com/thomasvitale/instrumentservice/multitenancy/tenantdetails/TenantDetailsService.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThomasVitale/spring-boot-multitenancy/HEAD/instrument-service/src/main/java/com/thomasvitale/instrumentservice/multitenancy/tenantdetails/TenantDetailsService.java -------------------------------------------------------------------------------- /instrument-service/src/main/java/com/thomasvitale/instrumentservice/multitenancy/web/TenantContextFilter.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThomasVitale/spring-boot-multitenancy/HEAD/instrument-service/src/main/java/com/thomasvitale/instrumentservice/multitenancy/web/TenantContextFilter.java -------------------------------------------------------------------------------- /instrument-service/src/main/resources/application.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThomasVitale/spring-boot-multitenancy/HEAD/instrument-service/src/main/resources/application.yml -------------------------------------------------------------------------------- /instrument-service/src/main/resources/db/migration/default/V1__Creative_table.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThomasVitale/spring-boot-multitenancy/HEAD/instrument-service/src/main/resources/db/migration/default/V1__Creative_table.sql -------------------------------------------------------------------------------- /instrument-service/src/main/resources/db/migration/tenant/V1__Instrument_table.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThomasVitale/spring-boot-multitenancy/HEAD/instrument-service/src/main/resources/db/migration/tenant/V1__Instrument_table.sql -------------------------------------------------------------------------------- /instrument-service/src/main/resources/logback-spring.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThomasVitale/spring-boot-multitenancy/HEAD/instrument-service/src/main/resources/logback-spring.xml -------------------------------------------------------------------------------- /instrument-service/src/test/java/com/thomasvitale/instrumentservice/InstrumentServiceApplicationTests.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThomasVitale/spring-boot-multitenancy/HEAD/instrument-service/src/test/java/com/thomasvitale/instrumentservice/InstrumentServiceApplicationTests.java -------------------------------------------------------------------------------- /instrument-service/src/test/java/com/thomasvitale/instrumentservice/TestInstrumentServiceApplication.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThomasVitale/spring-boot-multitenancy/HEAD/instrument-service/src/test/java/com/thomasvitale/instrumentservice/TestInstrumentServiceApplication.java -------------------------------------------------------------------------------- /platform/alloy/config.alloy: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThomasVitale/spring-boot-multitenancy/HEAD/platform/alloy/config.alloy -------------------------------------------------------------------------------- /platform/grafana/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThomasVitale/spring-boot-multitenancy/HEAD/platform/grafana/README.md -------------------------------------------------------------------------------- /platform/grafana/dashboards/applications/jvm.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThomasVitale/spring-boot-multitenancy/HEAD/platform/grafana/dashboards/applications/jvm.json -------------------------------------------------------------------------------- /platform/grafana/dashboards/applications/polar-http.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThomasVitale/spring-boot-multitenancy/HEAD/platform/grafana/dashboards/applications/polar-http.json -------------------------------------------------------------------------------- /platform/grafana/dashboards/applications/spring-boot-jdbc.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThomasVitale/spring-boot-multitenancy/HEAD/platform/grafana/dashboards/applications/spring-boot-jdbc.json -------------------------------------------------------------------------------- /platform/grafana/dashboards/applications/spring-boot.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThomasVitale/spring-boot-multitenancy/HEAD/platform/grafana/dashboards/applications/spring-boot.json -------------------------------------------------------------------------------- /platform/grafana/dashboards/dashboards.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThomasVitale/spring-boot-multitenancy/HEAD/platform/grafana/dashboards/dashboards.yml -------------------------------------------------------------------------------- /platform/grafana/dashboards/platform/prometheus-stats.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThomasVitale/spring-boot-multitenancy/HEAD/platform/grafana/dashboards/platform/prometheus-stats.json -------------------------------------------------------------------------------- /platform/grafana/datasources/datasources.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThomasVitale/spring-boot-multitenancy/HEAD/platform/grafana/datasources/datasources.yml -------------------------------------------------------------------------------- /platform/grafana/grafana.ini: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThomasVitale/spring-boot-multitenancy/HEAD/platform/grafana/grafana.ini -------------------------------------------------------------------------------- /platform/keycloak/realm-config.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThomasVitale/spring-boot-multitenancy/HEAD/platform/keycloak/realm-config.json -------------------------------------------------------------------------------- /platform/loki/loki.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThomasVitale/spring-boot-multitenancy/HEAD/platform/loki/loki.yml -------------------------------------------------------------------------------- /platform/prometheus/prometheus.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThomasVitale/spring-boot-multitenancy/HEAD/platform/prometheus/prometheus.yml -------------------------------------------------------------------------------- /platform/tempo/tempo.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ThomasVitale/spring-boot-multitenancy/HEAD/platform/tempo/tempo.yml --------------------------------------------------------------------------------