• [+] expand all

Config Inspect Interface

The config inspect interface has been made to make it easy to see which configs are used by the application which uses the cloudconfig library.

Here we will describe the way an application must expose the required config metadata, so the automated utilities can give you a full system overview.

The config metadata must be available over HTTP. The content type of the data returned from the application must be JSON in the format given in the example below. The request path used to retrieve the information is: /state/v1/config.

Each component within your application which subscribes to a config must be visible in the output. The only required field is the config generation returned by the subscriber. An optional message field can also be added in case some config values requires a restart to take effect.

JSON Example

{
    "config": {
        "component1": {
            "generation": 2
        },
        "component2": {
            "generation": 2,
            "message": "Restart required for all config values to take effect"
        }
    }
}

The component name used should identify part of the application the config is used in. The generation number must be the number for the config that is active in the application.

What we want to capture with this system is to see the main switch for the application config. So if you have one major config and some small less important ones, only the top-level major config is really needed. It allows us to see the glitch between activating a new configuration, and it being applied to the application, and to see if something went wrong by it not being applied at all.