Spring Cloud Config Server Configuration

JSON Schema for Spring Cloud Config Server application properties.

Configuration ManagementDistributed SystemsExternalized ConfigurationGitJavaMicroservicesSpringSpring Cloud

Properties

Name Type Description
spring object
View JSON Schema on GitHub

JSON Schema

spring-cloud-config-server-configuration-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://github.com/api-evangelist/spring-cloud-config/json-schema/config-server-configuration.json",
  "title": "Spring Cloud Config Server Configuration",
  "description": "JSON Schema for Spring Cloud Config Server application properties.",
  "type": "object",
  "properties": {
    "spring": {
      "type": "object",
      "properties": {
        "cloud": {
          "type": "object",
          "properties": {
            "config": {
              "type": "object",
              "properties": {
                "server": {
                  "type": "object",
                  "properties": {
                    "git": {
                      "$ref": "#/$defs/GitRepositoryConfig"
                    },
                    "native": {
                      "type": "object",
                      "properties": {
                        "searchLocations": {
                          "type": "array",
                          "items": { "type": "string" },
                          "description": "Search locations for native profile."
                        }
                      }
                    },
                    "vault": {
                      "type": "object",
                      "properties": {
                        "host": { "type": "string" },
                        "port": { "type": "integer", "default": 8200 },
                        "scheme": { "type": "string", "default": "https" },
                        "backend": { "type": "string", "default": "secret" },
                        "profileSeparator": { "type": "string", "default": "," }
                      }
                    },
                    "defaultLabel": {
                      "type": "string",
                      "description": "Default label to use when none specified."
                    },
                    "defaultProfile": {
                      "type": "string",
                      "default": "default",
                      "description": "Default profile to use."
                    },
                    "encrypt": {
                      "type": "object",
                      "properties": {
                        "enabled": {
                          "type": "boolean",
                          "default": true,
                          "description": "Enable decryption of properties."
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    }
  },
  "$defs": {
    "GitRepositoryConfig": {
      "type": "object",
      "properties": {
        "uri": {
          "type": "string",
          "description": "URI of the Git repository."
        },
        "defaultLabel": {
          "type": "string",
          "description": "Default branch or tag."
        },
        "searchPaths": {
          "type": "array",
          "items": { "type": "string" },
          "description": "Search paths within the repository."
        },
        "username": {
          "type": "string",
          "description": "Git username for authentication."
        },
        "password": {
          "type": "string",
          "description": "Git password for authentication."
        },
        "cloneOnStart": {
          "type": "boolean",
          "default": false,
          "description": "Whether to clone repository on startup."
        },
        "timeout": {
          "type": "integer",
          "default": 5,
          "description": "Timeout in seconds for obtaining HTTP/SSH connection."
        },
        "refreshRate": {
          "type": "integer",
          "default": 0,
          "description": "Rate in seconds for refreshing the Git repository (0 = every request)."
        },
        "skipSslValidation": {
          "type": "boolean",
          "default": false,
          "description": "Whether to skip SSL certificate validation."
        },
        "repos": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/$defs/GitRepositoryConfig"
          },
          "description": "Pattern-matched repository configurations."
        }
      }
    }
  }
}