Public maps · Spring PetClinic Microservices

Spring PetClinic Microservices, mapped from the code.

The Spring PetClinic split into Spring Cloud microservices: a config server, discovery, an API gateway and the customers, vets and visits services. Kuuhaku read its source at commit a05f4fb, with no configuration and no hand-fixing, and found 7 services in Java and 14 connections: 14 over HTTP. Each one below says how it was found.

Open the live mapMap your own repos
Kuuhaku's map of Spring PetClinic Microservices: 7 services grouped into consumers and services, with 14 connections drawn between them

Services

Every repo or deployable the scanner found, with how many connections leave it and reach it.

ServiceStackRoleCallsCalled by
config_serverJava · Spring Bootservice06
discovery_serverJava · Spring Bootservice15
api_gatewayJava · Spring Bootservice50
customers_serviceJava · Spring Bootservice21
vets_serviceJava · Spring Bootservice21
visits_serviceJava · Spring Bootservice21
admin_serverJava · Spring Bootservice20

Connections

config: the address is written in configuration (an env file, a compose file, a proxy route) and the call is matched to it. inferred: the call's path matches a route of the target and nothing contradicts it. Call sites count the places in the code that make the call.

FromToTypeEvidenceCall sitesHow it was found
admin_serverconfig_serverHTTPconfig2CONFIG_SERVER_URL defaults to http://localhost:8888/; http://localhost in src/main/resources/application.yml; configserver:http://config-server in src/main/resources/application.yml
admin_serverdiscovery_serverHTTPconfig—tcp://discovery-server:8761 in docker-compose.yml
api_gatewayconfig_serverHTTPconfig2CONFIG_SERVER_URL defaults to http://localhost:8888/; http://localhost in src/main/resources/application.yml; configserver:http://config-server in src/main/resources/application.yml
api_gatewaycustomers_serviceHTTPconfig10URL worked out at src/main/java/org/springframework/samples/petclinic/api/application/CustomersServiceClient.java:34
api_gatewaydiscovery_serverHTTPconfig—tcp://discovery-server:8761 in docker-compose.yml
api_gatewayvets_serviceHTTPconfig1URL worked out at src/main/resources/static/scripts/vet-list/vet-list.controller.js:7, through the /api/vet route in src/main/resources/application.yml
api_gatewayvisits_serviceHTTPconfig3URL worked out at src/main/java/org/springframework/samples/petclinic/api/application/VisitsServiceClient.java:42
customers_serviceconfig_serverHTTPconfig2CONFIG_SERVER_URL defaults to http://localhost:8888/; http://localhost in src/main/resources/application.yml; configserver:http://config-server in src/main/resources/application.yml
customers_servicediscovery_serverHTTPconfig—tcp://discovery-server:8761 in docker-compose.yml
discovery_serverconfig_serverHTTPconfig2CONFIG_SERVER_URL defaults to http://localhost:8888/; http://localhost in src/main/resources/application.yml; configserver:http://config-server in src/main/resources/application.yml; tcp://config-server:8888 in docker-compose.yml
vets_serviceconfig_serverHTTPconfig2CONFIG_SERVER_URL defaults to http://localhost:8888/; http://localhost in src/main/resources/application.yml; configserver:http://config-server in src/main/resources/application.yml
vets_servicediscovery_serverHTTPconfig—tcp://discovery-server:8761 in docker-compose.yml
visits_serviceconfig_serverHTTPconfig2CONFIG_SERVER_URL defaults to http://localhost:8888/; http://localhost in src/main/resources/application.yml; configserver:http://config-server in src/main/resources/application.yml
visits_servicediscovery_serverHTTPconfig—tcp://discovery-server:8761 in docker-compose.yml

Left for a person

1 item the scanner would not settle on its own and put in the review inbox instead of guessing:

Other systems

Your own system

Run npx kuuhaku scan . in a folder of repos: it reads the code on your machine and only the graph leaves it. Or connect GitHub or Bitbucket and let the hosted runner scan with a read-only key. The map, a page per repo, a review inbox and a check on every pull request follow. Start free.