Skip to content

Latest commit

 

History

History
51 lines (31 loc) · 1.95 KB

README.md

File metadata and controls

51 lines (31 loc) · 1.95 KB

config-playground

📚 Learning and exploring various configuration technologies.

Why?

The range of software configuration tools, languages and idioms are infinite. At times, configuration work feels like it is about 50% of software engineering! Given how large the space is and how much time we spend doing it, I want to chisel away at the mountain of configuration options and learn them in-depth.

Standalone sub-projects

This repository illustrates different concepts, patterns and examples via standalone sub-projects. Each sub-project is completely independent of the others and do not depend on the root project. This standalone sub-project constraint forces the sub-projects to be complete and maximizes the reader's chances of successfully running, understanding, and re-using the code.

The sub-projects include:

typesafe-config/

Examples using the pure-Java configuration library Typesafe Config.

See the README in typesafe-config/.

yaml/

Example Java program that uses a YAML (YAML Ain't Markup Language) file for config.

See the README in yaml/.

toml/

Example Java program that uses a TOML (Tom's Obvious Minimal Language) file for config.

See the README in toml/.

Wish List

General clean-ups, TODOs and things I wish to implement for this project:

  • DONE Add a YAML sub-project
  • Potentially add a CUE sub-project
  • DONE Add a TOML sub-project

Reference

  • Spring configuration example project: dgroomes/spring-playground
    • In the linked repo, there is a sub-project called "config/" which showcases some configuration features of Spring Framework and Spring Boot. Spring is a great example of software with a sophisticated configuration sub-system. It's one of, if not my favorite, features of Spring. It's not always easy, but it's extremely featureful.