Configuration Metadata

CAS ships with meta-data files that provide details of all supported configuration properties and settings. The repository of all configuration metadata is generated automatically at build and release time by processing all items annotated with @ConfigurationProperties within the codebase. This repository is then made available for additional querying and filtering to look up definitions of a given property or locate relevant settings that apply to a particular group of functionality in CAS, such as LDAP authentication.

Support is enabled by including the following dependency in the WAR overlay:

1
2
3
4
5
<dependency>
    <groupId>org.apereo.cas</groupId>
    <artifactId>cas-server-core-configuration-metadata-repository</artifactId>
    <version>${cas.version}</version>
</dependency>
1
implementation "org.apereo.cas:cas-server-core-configuration-metadata-repository:${project.'cas.version'}"
1
2
3
4
5
6
7
8
9
dependencyManagement {
    imports {
        mavenBom "org.apereo.cas:cas-server-support-bom:${project.'cas.version'}"
    }
}

dependencies {
    implementation "org.apereo.cas:cas-server-core-configuration-metadata-repository"
}
1
2
3
4
5
6
7
8
9
10
dependencies {
    /*
        The following platform references should be included automatically and are listed here for reference only.

        implementation enforcedPlatform("org.apereo.cas:cas-server-support-bom:${project.'cas.version'}")
        implementation platform(org.springframework.boot.gradle.plugin.SpringBootPlugin.BOM_COORDINATES)
        
    */
    implementation "org.apereo.cas:cas-server-core-configuration-metadata-repository"
}

Configuration metadata may also be accessed and queried using the CAS actuator endpoints. See this guide to learn more.

Actuator Endpoints

The following endpoints are provided by CAS:

 Get all properties from the repository.

 Get all properties from the repository that match the name.

 Get all available CAS runtime module descriptors.


Metadata via Commandline

The metadata repository can also be examined using the command-line as a separate utility. See this guide for more info.