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-support-configuration-metadata-repository</artifactId>
    <version>${cas.version}</version>
</dependency>
1
implementation "org.apereo.cas:cas-server-support-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-support-configuration-metadata-repository"
}
1
2
3
4
5
6
7
8
9
10
dependencies {
    /*
        The following platform references are included automatically and are listed 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-support-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:

configurationMetadata
CAS endpoint2 operationsNot exposed by default
casModules
CAS endpoint1 operationNot exposed by default
1

Turn the endpoints on and expose them over the web. One entry covers every operation. By default only info, health and status are exposed.

1
2
3
management.endpoint.configurationMetadata.access=UNRESTRICTED
management.endpoint.casModules.access=UNRESTRICTED
management.endpoints.web.exposure.include=configurationMetadata,casModules

Endpoints may be mapped to other paths. For example, to serve health at healthcheck:

1
management.endpoints.web.path-mapping.health=healthcheck

Metadata via Commandline

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