Skip to content
This repository has been archived by the owner on May 11, 2021. It is now read-only.

Centralized configuration management

nurkiewicz edited this page Nov 19, 2014 · 24 revisions

This module aims to provide the following features to microservices:

  • centralized, managed and versioned repository for configuration (addresses, tuning options)
  • systematic way of storing secrets like database passwords and external API keys
  • automatic propagation of configuration changes across environments and applications

Central configuration repository

This project supports reading configuration from one, globally managed directory on the file system. This directory, in principle, should contain all configuration in .properties or .yaml files in hierarchy mirroring microservice name. E.g. for /com/ofg/service-pl the following configuration files are scanned:

  • /com/ofg/service.properties
  • /com/ofg/service.yaml
  • /com/ofg/service-pl.properties
  • /com/ofg/service-pl.yaml

Order is important, in case of duplicated keys last configuration option overrides previous ones. Notice that this setup allows you to share configuration between different realms (e.g. countries). Core configuration is in service.yaml while country-specific overrides are placed in service-pl.yaml.