I'm looking for existing solutions to the problem of distributing configurations to Java applications.

A simple example: There would be a master application (a configuration server) C that manages all the configurations. When an application A is started, it registers to the server C and gets the configuration it needs to work properly. Obviously, each application should be authenticated by the server and the server authenticated by the applications, possibly using certificates.
The server holds the configuration for each application.

I know that it should not be difficult to design such an architecture from scratch but I am interested to know if there are existing solutions to this problem.