Skip to content
Marcello de Sales edited this page Dec 7, 2017 · 4 revisions

Spring Cloud Config Inspector

The Spring Cloud Config Inspector helps Spring Cloud Config server inspect the configuration server properties based on the combination of application Name, label and profiles. This project was developed by Intuit based on internal customer feedback about the Spring Cloud Config Server use.

Limitations

  • Still doesn't offer the view to Static Content.
  • Still doesn't offer dynamic setup of other Backends supported by Spring Cloud Config.

Requirement

  • Users need to setup their configuration repo with files following the Spring Cloud Config documentation. For instance, for the application name foo and the profiles list being development, tests, production, you need the following files.

Go to the github config repo https://github.com/marcellodesales/config-repo for details or fork for your own use.

Github Repo Setup

NOTE: Make sure to have a running server locally. Go to the README of this repo for instructions to run the entire stack using Docker-Compose or manual steps.

Features

Users can use the Spring Cloud Config inspector to quickly debug and understand the power of the Spring Cloud Config server. It will help users using the APIs to retrieve configuration properties in .yml, .json and .properties using the available APIs, as well as verifying the diff between the combination of the API calls.

NOTE: Make sure to have a running server locally. Go to the README of this repo for instructions to run the entire stack using Docker-Compose or manual steps.

Config Resolution

NOTE: The Config URL is specified as config-server because it is running in a Docker Container. The calls can be made to any Config Server through a local proxy server. See the README file in the repo for details.

Resolution Tree

  • Allows users to select which profiles to select from the list based on the configuration files in Github. See the list of files above for details.

NOTE: If your Github Repo requires authentication, use the Headers button to include the HTTP Request key/value. For instance, Github requires Authorization: token 23923400430493049 for API calls on private repos or Github Enterprise servers.

Resolution Tree

  • Switching the the different profiles will reflect in fetching the configuration for the new combination.
  • Profiles are parsed from the file name patterns used by the Config server.

Resolution Tree

  • Allows users to switch different labels based on the Github repo returned by the Config Server API.

Label

Raw Configs

  • Allows users to inspect the resolved property files in .json, .yml, and .properties.

.json

Raw Json

.yml

Raw Yml

.properties

Raw Yml

Metadata

  • Allows users to view the actual resolved configuration properties returned by the Config Service API.

Raw Metadata API

Diff-Across

  • Shows the diff between the combination of label and profiles in the User's Github Repo.
  • Very simple way to debug labels and profiles in search of misconfigured properties.

Diff Across

  • Switching the diff between profiles also helps users to quickly view the differences of values.

Diff Across

Github Info

  • Shows links to the Github Config Repo associated with the Application name in the configuration server.

Github Info

API Logs

  • Helps Spring Cloud Config Server users to understand the documented API calls

API Logs